# -*- coding: utf8 -*-
# Copyright (c) 2017-2025 Tencent. 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 AddProjectUserRoleRequest(AbstractModel):
    r"""AddProjectUserRole请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _UserIds: 用户uin
        :type UserIds: list of str
        :param _RoleIds: 角色id
        :type RoleIds: list of str
        """
        self._ProjectId = None
        self._UserIds = None
        self._RoleIds = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UserIds(self):
        r"""用户uin
        :rtype: list of str
        """
        return self._UserIds

    @UserIds.setter
    def UserIds(self, UserIds):
        self._UserIds = UserIds

    @property
    def RoleIds(self):
        r"""角色id
        :rtype: list of str
        """
        return self._RoleIds

    @RoleIds.setter
    def RoleIds(self, RoleIds):
        self._RoleIds = RoleIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._UserIds = params.get("UserIds")
        self._RoleIds = params.get("RoleIds")
        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 AddProjectUserRoleResponse(AbstractModel):
    r"""AddProjectUserRole返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回数据
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回数据
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class AdhocDetail(AbstractModel):
    r"""子任务记录

    """

    def __init__(self):
        r"""
        :param _Id: 子任务记录Id
        :type Id: int
        :param _ScriptContent: 脚本内容
        :type ScriptContent: str
        :param _StartTime: 任务启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 任务结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _Status: 当前任务状态
        :type Status: str
        :param _RecordId: 提交任务id
        :type RecordId: int
        """
        self._Id = None
        self._ScriptContent = None
        self._StartTime = None
        self._EndTime = None
        self._Status = None
        self._RecordId = None

    @property
    def Id(self):
        r"""子任务记录Id
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ScriptContent(self):
        r"""脚本内容
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def StartTime(self):
        r"""任务启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""任务结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def Status(self):
        r"""当前任务状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def RecordId(self):
        r"""提交任务id
        :rtype: int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ScriptContent = params.get("ScriptContent")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._Status = params.get("Status")
        self._RecordId = params.get("RecordId")
        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 AdhocRecord(AbstractModel):
    r"""任务提交记录

    """

    def __init__(self):
        r"""
        :param _Id: 任务提交记录id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _ScriptContent: 脚本内容
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContent: str
        :param _CreateTime: 任务提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Status: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _InstanceId: 实例id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        """
        self._Id = None
        self._ScriptContent = None
        self._CreateTime = None
        self._Status = None
        self._InstanceId = None

    @property
    def Id(self):
        r"""任务提交记录id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ScriptContent(self):
        r"""脚本内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def CreateTime(self):
        r"""任务提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Status(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def InstanceId(self):
        r"""实例id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ScriptContent = params.get("ScriptContent")
        self._CreateTime = params.get("CreateTime")
        self._Status = params.get("Status")
        self._InstanceId = params.get("InstanceId")
        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 AgentStatus(AbstractModel):
    r"""Agent采集器状态统计

    """

    def __init__(self):
        r"""
        :param _Running: 运行中的数量
注意：此字段可能返回 null，表示取不到有效值。
        :type Running: int
        :param _Abnormal: 异常的数量
注意：此字段可能返回 null，表示取不到有效值。
        :type Abnormal: int
        :param _InOperation: 操作中的数量
注意：此字段可能返回 null，表示取不到有效值。
        :type InOperation: int
        """
        self._Running = None
        self._Abnormal = None
        self._InOperation = None

    @property
    def Running(self):
        r"""运行中的数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Running

    @Running.setter
    def Running(self, Running):
        self._Running = Running

    @property
    def Abnormal(self):
        r"""异常的数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Abnormal

    @Abnormal.setter
    def Abnormal(self, Abnormal):
        self._Abnormal = Abnormal

    @property
    def InOperation(self):
        r"""操作中的数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InOperation

    @InOperation.setter
    def InOperation(self, InOperation):
        self._InOperation = InOperation


    def _deserialize(self, params):
        self._Running = params.get("Running")
        self._Abnormal = params.get("Abnormal")
        self._InOperation = params.get("InOperation")
        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 AiOpsEventListenerDTO(AbstractModel):
    r"""监听事件

    """

    def __init__(self):
        r"""
        :param _EventName: 事件名
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ProjectDisplayName: 项目展示名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _EventSubType: 事件周期
注意：此字段可能返回 null，表示取不到有效值。
        :type EventSubType: str
        :param _ProjectId: 事件项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _PropertiesList: 扩展名
注意：此字段可能返回 null，表示取不到有效值。
        :type PropertiesList: list of ParamInfoDs
        :param _EventBroadcastType: 事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventBroadcastType: str
        :param _ProducerTaskId: 事件生产者任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProducerTaskId: str
        :param _Dimension: 事件维度
注意：此字段可能返回 null，表示取不到有效值。
        :type Dimension: str
        :param _Status: 事件状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _EventTriggerTs: 事件触发时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EventTriggerTs: str
        :param _CaseId: 事件ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CaseId: str
        """
        self._EventName = None
        self._CreateTime = None
        self._ProjectDisplayName = None
        self._EventSubType = None
        self._ProjectId = None
        self._PropertiesList = None
        self._EventBroadcastType = None
        self._ProducerTaskId = None
        self._Dimension = None
        self._Status = None
        self._EventTriggerTs = None
        self._CaseId = None

    @property
    def EventName(self):
        r"""事件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ProjectDisplayName(self):
        r"""项目展示名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def EventSubType(self):
        r"""事件周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def ProjectId(self):
        r"""事件项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PropertiesList(self):
        r"""扩展名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfoDs
        """
        return self._PropertiesList

    @PropertiesList.setter
    def PropertiesList(self, PropertiesList):
        self._PropertiesList = PropertiesList

    @property
    def EventBroadcastType(self):
        r"""事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        self._EventBroadcastType = EventBroadcastType

    @property
    def ProducerTaskId(self):
        r"""事件生产者任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProducerTaskId

    @ProducerTaskId.setter
    def ProducerTaskId(self, ProducerTaskId):
        self._ProducerTaskId = ProducerTaskId

    @property
    def Dimension(self):
        r"""事件维度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def Status(self):
        r"""事件状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def EventTriggerTs(self):
        r"""事件触发时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventTriggerTs

    @EventTriggerTs.setter
    def EventTriggerTs(self, EventTriggerTs):
        self._EventTriggerTs = EventTriggerTs

    @property
    def CaseId(self):
        r"""事件ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CaseId

    @CaseId.setter
    def CaseId(self, CaseId):
        self._CaseId = CaseId


    def _deserialize(self, params):
        self._EventName = params.get("EventName")
        self._CreateTime = params.get("CreateTime")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._EventSubType = params.get("EventSubType")
        self._ProjectId = params.get("ProjectId")
        if params.get("PropertiesList") is not None:
            self._PropertiesList = []
            for item in params.get("PropertiesList"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._PropertiesList.append(obj)
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._ProducerTaskId = params.get("ProducerTaskId")
        self._Dimension = params.get("Dimension")
        self._Status = params.get("Status")
        self._EventTriggerTs = params.get("EventTriggerTs")
        self._CaseId = params.get("CaseId")
        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 AiopsDLCResourceConfigDto(AbstractModel):
    r"""DLC资源配置信息

    """

    def __init__(self):
        r"""
        :param _DriverSize: Driver资源
注意：此字段可能返回 null，表示取不到有效值。
        :type DriverSize: str
        :param _ExecutorSize: Executor资源
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorSize: str
        :param _ExecutorNumbers: Executor数量
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorNumbers: str
        :param _IsInherit: 资源配置方式
注意：此字段可能返回 null，表示取不到有效值。
        :type IsInherit: str
        """
        self._DriverSize = None
        self._ExecutorSize = None
        self._ExecutorNumbers = None
        self._IsInherit = None

    @property
    def DriverSize(self):
        r"""Driver资源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DriverSize

    @DriverSize.setter
    def DriverSize(self, DriverSize):
        self._DriverSize = DriverSize

    @property
    def ExecutorSize(self):
        r"""Executor资源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorSize

    @ExecutorSize.setter
    def ExecutorSize(self, ExecutorSize):
        self._ExecutorSize = ExecutorSize

    @property
    def ExecutorNumbers(self):
        r"""Executor数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorNumbers

    @ExecutorNumbers.setter
    def ExecutorNumbers(self, ExecutorNumbers):
        self._ExecutorNumbers = ExecutorNumbers

    @property
    def IsInherit(self):
        r"""资源配置方式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IsInherit

    @IsInherit.setter
    def IsInherit(self, IsInherit):
        self._IsInherit = IsInherit


    def _deserialize(self, params):
        self._DriverSize = params.get("DriverSize")
        self._ExecutorSize = params.get("ExecutorSize")
        self._ExecutorNumbers = params.get("ExecutorNumbers")
        self._IsInherit = params.get("IsInherit")
        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 AiopsScriptInfo(AbstractModel):
    r"""数据运维脚本信息

    """

    def __init__(self):
        r"""
        :param _ScriptContent: 脚本内容
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContent: str
        :param _CosPath: 脚本所在COS的路径
注意：此字段可能返回 null，表示取不到有效值。
        :type CosPath: str
        :param _CosRegion: 脚本所在COS的地域
注意：此字段可能返回 null，表示取不到有效值。
        :type CosRegion: str
        :param _CosBucketName: 脚本所在COS的桶名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CosBucketName: str
        """
        self._ScriptContent = None
        self._CosPath = None
        self._CosRegion = None
        self._CosBucketName = None

    @property
    def ScriptContent(self):
        r"""脚本内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def CosPath(self):
        r"""脚本所在COS的路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CosPath

    @CosPath.setter
    def CosPath(self, CosPath):
        self._CosPath = CosPath

    @property
    def CosRegion(self):
        r"""脚本所在COS的地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CosRegion

    @CosRegion.setter
    def CosRegion(self, CosRegion):
        self._CosRegion = CosRegion

    @property
    def CosBucketName(self):
        r"""脚本所在COS的桶名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CosBucketName

    @CosBucketName.setter
    def CosBucketName(self, CosBucketName):
        self._CosBucketName = CosBucketName


    def _deserialize(self, params):
        self._ScriptContent = params.get("ScriptContent")
        self._CosPath = params.get("CosPath")
        self._CosRegion = params.get("CosRegion")
        self._CosBucketName = params.get("CosBucketName")
        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 AiopsSimpleTaskDto(AbstractModel):
    r"""父任务simple信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _Status: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _CycleType: 周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _Creator: 任务创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ConfigType: 配置策略
注意：此字段可能返回 null，表示取不到有效值。
        :type ConfigType: str
        :param _TimeDimension: 时间维度
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeDimension: str
        :param _InstanceScope: 实例范围
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceScope: str
        :param _ExectuorPolicy: 执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type ExectuorPolicy: str
        """
        self._TaskId = None
        self._TaskName = None
        self._Status = None
        self._CycleType = None
        self._Creator = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._ConfigType = None
        self._TimeDimension = None
        self._InstanceScope = None
        self._ExectuorPolicy = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def Status(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def CycleType(self):
        r"""周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def Creator(self):
        r"""任务创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ConfigType(self):
        r"""配置策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConfigType

    @ConfigType.setter
    def ConfigType(self, ConfigType):
        self._ConfigType = ConfigType

    @property
    def TimeDimension(self):
        r"""时间维度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeDimension

    @TimeDimension.setter
    def TimeDimension(self, TimeDimension):
        self._TimeDimension = TimeDimension

    @property
    def InstanceScope(self):
        r"""实例范围
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceScope

    @InstanceScope.setter
    def InstanceScope(self, InstanceScope):
        self._InstanceScope = InstanceScope

    @property
    def ExectuorPolicy(self):
        r"""执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExectuorPolicy

    @ExectuorPolicy.setter
    def ExectuorPolicy(self, ExectuorPolicy):
        self._ExectuorPolicy = ExectuorPolicy


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._Status = params.get("Status")
        self._CycleType = params.get("CycleType")
        self._Creator = params.get("Creator")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._ConfigType = params.get("ConfigType")
        self._TimeDimension = params.get("TimeDimension")
        self._InstanceScope = params.get("InstanceScope")
        self._ExectuorPolicy = params.get("ExectuorPolicy")
        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 AlarmDsVO(AbstractModel):
    r"""告警信息

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警策略id
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmId: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _Status: 告警是否生效
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _AlarmType: 告警类别，目前支持失败告警，超时告警
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmType: str
        :param _AlarmWay: 告警方式 ，目前支持email提醒，短信提醒
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmWay: str
        :param _Creator: 告警创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _AlarmRecipient: 告警接收人
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipient: str
        :param _AlarmRecipientId: 告警接收人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientId: str
        :param _ModifyTime: 告警修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _LastFailTime: 最近失败告警实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastFailTime: str
        :param _LastOverTime: 最近超时告警实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastOverTime: str
        :param _LastAlarmTime: 最新告警时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAlarmTime: str
        :param _AlarmExt: AlarmExt信息
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmExt: list of AlarmExtDsVO
        :param _CreateTime: 告警创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        """
        self._AlarmId = None
        self._TaskId = None
        self._Status = None
        self._AlarmType = None
        self._AlarmWay = None
        self._Creator = None
        self._AlarmRecipient = None
        self._AlarmRecipientId = None
        self._ModifyTime = None
        self._LastFailTime = None
        self._LastOverTime = None
        self._LastAlarmTime = None
        self._AlarmExt = None
        self._CreateTime = None

    @property
    def AlarmId(self):
        r"""告警策略id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Status(self):
        r"""告警是否生效
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def AlarmType(self):
        r"""告警类别，目前支持失败告警，超时告警
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmType

    @AlarmType.setter
    def AlarmType(self, AlarmType):
        self._AlarmType = AlarmType

    @property
    def AlarmWay(self):
        r"""告警方式 ，目前支持email提醒，短信提醒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmWay

    @AlarmWay.setter
    def AlarmWay(self, AlarmWay):
        self._AlarmWay = AlarmWay

    @property
    def Creator(self):
        r"""告警创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def AlarmRecipient(self):
        r"""告警接收人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipient

    @AlarmRecipient.setter
    def AlarmRecipient(self, AlarmRecipient):
        self._AlarmRecipient = AlarmRecipient

    @property
    def AlarmRecipientId(self):
        r"""告警接收人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipientId

    @AlarmRecipientId.setter
    def AlarmRecipientId(self, AlarmRecipientId):
        self._AlarmRecipientId = AlarmRecipientId

    @property
    def ModifyTime(self):
        r"""告警修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def LastFailTime(self):
        r"""最近失败告警实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastFailTime

    @LastFailTime.setter
    def LastFailTime(self, LastFailTime):
        self._LastFailTime = LastFailTime

    @property
    def LastOverTime(self):
        r"""最近超时告警实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastOverTime

    @LastOverTime.setter
    def LastOverTime(self, LastOverTime):
        self._LastOverTime = LastOverTime

    @property
    def LastAlarmTime(self):
        r"""最新告警时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastAlarmTime

    @LastAlarmTime.setter
    def LastAlarmTime(self, LastAlarmTime):
        self._LastAlarmTime = LastAlarmTime

    @property
    def AlarmExt(self):
        r"""AlarmExt信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmExtDsVO
        """
        return self._AlarmExt

    @AlarmExt.setter
    def AlarmExt(self, AlarmExt):
        self._AlarmExt = AlarmExt

    @property
    def CreateTime(self):
        r"""告警创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._TaskId = params.get("TaskId")
        self._Status = params.get("Status")
        self._AlarmType = params.get("AlarmType")
        self._AlarmWay = params.get("AlarmWay")
        self._Creator = params.get("Creator")
        self._AlarmRecipient = params.get("AlarmRecipient")
        self._AlarmRecipientId = params.get("AlarmRecipientId")
        self._ModifyTime = params.get("ModifyTime")
        self._LastFailTime = params.get("LastFailTime")
        self._LastOverTime = params.get("LastOverTime")
        self._LastAlarmTime = params.get("LastAlarmTime")
        if params.get("AlarmExt") is not None:
            self._AlarmExt = []
            for item in params.get("AlarmExt"):
                obj = AlarmExtDsVO()
                obj._deserialize(item)
                self._AlarmExt.append(obj)
        self._CreateTime = params.get("CreateTime")
        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 AlarmEventInfo(AbstractModel):
    r"""告警事件详情

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警ID
        :type AlarmId: str
        :param _AlarmTime: 告警时间
        :type AlarmTime: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _RegularName: 规则名称
        :type RegularName: str
        :param _AlarmLevel: 告警级别,0表示普通，1表示重要，2表示紧急
        :type AlarmLevel: int
        :param _AlarmWay: 告警方式,多个用逗号隔开（1:邮件，2:短信，3:微信，4:语音，5:代表企业微信，6:http）
        :type AlarmWay: int
        :param _AlarmRecipientId: 告警接收人Id，多个用逗号隔开
        :type AlarmRecipientId: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _AlarmIndicator: 告警指标,0表示任务失败，1表示任务运行超时，2表示任务停止，3表示任务暂停
        :type AlarmIndicator: int
        :param _AlarmIndicatorDesc: 告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicatorDesc: str
        :param _TriggerType: 指标阈值，1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerType: int
        :param _EstimatedTime: 预计的超时时间，分钟级别
注意：此字段可能返回 null，表示取不到有效值。
        :type EstimatedTime: int
        :param _InstanceId: 实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _IsSendSuccess: 0：部分成功，1：全部成功，2：全部失败
注意：此字段可能返回 null，表示取不到有效值。
        :type IsSendSuccess: int
        :param _InQuitePeriods: 是否在免打扰时间内，0:否, 1:是
注意：此字段可能返回 null，表示取不到有效值。
        :type InQuitePeriods: int
        :param _RecordId: 告警记录id
注意：此字段可能返回 null，表示取不到有效值。
        :type RecordId: int
        :param _MessageId: 消息ID
注意：此字段可能返回 null，表示取不到有效值。
        :type MessageId: str
        :param _Operator: 阈值计算算子，1 : 大于 2 ：小于
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: int
        :param _RegularId: 告警规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RegularId: str
        :param _AlarmRecipientName: 告警接收人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientName: str
        :param _TaskType: 告警任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: int
        :param _SendResult: 发送结果
注意：此字段可能返回 null，表示取不到有效值。
        :type SendResult: str
        :param _MonitorObjectId: 监控对象id
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorObjectId: str
        :param _MonitorObjectName: 监控对象名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorObjectName: str
        :param _Threshold: 指标阈值
注意：此字段可能返回 null，表示取不到有效值。
        :type Threshold: float
        :param _AlarmReason: 告警原因
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmReason: str
        :param _IndicatorTimeRangeValue: 近范围值
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorTimeRangeValue: int
        :param _IndicatorTimeRangeUnit: 近范围单位
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorTimeRangeUnit: str
        :param _SyncType: 同步类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SyncType: int
        """
        self._AlarmId = None
        self._AlarmTime = None
        self._TaskId = None
        self._RegularName = None
        self._AlarmLevel = None
        self._AlarmWay = None
        self._AlarmRecipientId = None
        self._ProjectId = None
        self._AlarmIndicator = None
        self._AlarmIndicatorDesc = None
        self._TriggerType = None
        self._EstimatedTime = None
        self._InstanceId = None
        self._TaskName = None
        self._IsSendSuccess = None
        self._InQuitePeriods = None
        self._RecordId = None
        self._MessageId = None
        self._Operator = None
        self._RegularId = None
        self._AlarmRecipientName = None
        self._TaskType = None
        self._SendResult = None
        self._MonitorObjectId = None
        self._MonitorObjectName = None
        self._Threshold = None
        self._AlarmReason = None
        self._IndicatorTimeRangeValue = None
        self._IndicatorTimeRangeUnit = None
        self._SyncType = None

    @property
    def AlarmId(self):
        r"""告警ID
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def AlarmTime(self):
        r"""告警时间
        :rtype: str
        """
        return self._AlarmTime

    @AlarmTime.setter
    def AlarmTime(self, AlarmTime):
        self._AlarmTime = AlarmTime

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RegularName(self):
        r"""规则名称
        :rtype: str
        """
        return self._RegularName

    @RegularName.setter
    def RegularName(self, RegularName):
        self._RegularName = RegularName

    @property
    def AlarmLevel(self):
        r"""告警级别,0表示普通，1表示重要，2表示紧急
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def AlarmWay(self):
        r"""告警方式,多个用逗号隔开（1:邮件，2:短信，3:微信，4:语音，5:代表企业微信，6:http）
        :rtype: int
        """
        return self._AlarmWay

    @AlarmWay.setter
    def AlarmWay(self, AlarmWay):
        self._AlarmWay = AlarmWay

    @property
    def AlarmRecipientId(self):
        r"""告警接收人Id，多个用逗号隔开
        :rtype: str
        """
        return self._AlarmRecipientId

    @AlarmRecipientId.setter
    def AlarmRecipientId(self, AlarmRecipientId):
        self._AlarmRecipientId = AlarmRecipientId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def AlarmIndicator(self):
        r"""告警指标,0表示任务失败，1表示任务运行超时，2表示任务停止，3表示任务暂停
        :rtype: int
        """
        return self._AlarmIndicator

    @AlarmIndicator.setter
    def AlarmIndicator(self, AlarmIndicator):
        self._AlarmIndicator = AlarmIndicator

    @property
    def AlarmIndicatorDesc(self):
        r"""告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmIndicatorDesc

    @AlarmIndicatorDesc.setter
    def AlarmIndicatorDesc(self, AlarmIndicatorDesc):
        self._AlarmIndicatorDesc = AlarmIndicatorDesc

    @property
    def TriggerType(self):
        r"""指标阈值，1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def EstimatedTime(self):
        r"""预计的超时时间，分钟级别
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._EstimatedTime

    @EstimatedTime.setter
    def EstimatedTime(self, EstimatedTime):
        self._EstimatedTime = EstimatedTime

    @property
    def InstanceId(self):
        r"""实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def IsSendSuccess(self):
        r"""0：部分成功，1：全部成功，2：全部失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IsSendSuccess

    @IsSendSuccess.setter
    def IsSendSuccess(self, IsSendSuccess):
        self._IsSendSuccess = IsSendSuccess

    @property
    def InQuitePeriods(self):
        r"""是否在免打扰时间内，0:否, 1:是
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InQuitePeriods

    @InQuitePeriods.setter
    def InQuitePeriods(self, InQuitePeriods):
        self._InQuitePeriods = InQuitePeriods

    @property
    def RecordId(self):
        r"""告警记录id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def MessageId(self):
        r"""消息ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MessageId

    @MessageId.setter
    def MessageId(self, MessageId):
        self._MessageId = MessageId

    @property
    def Operator(self):
        r"""阈值计算算子，1 : 大于 2 ：小于
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def RegularId(self):
        r"""告警规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RegularId

    @RegularId.setter
    def RegularId(self, RegularId):
        self._RegularId = RegularId

    @property
    def AlarmRecipientName(self):
        r"""告警接收人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipientName

    @AlarmRecipientName.setter
    def AlarmRecipientName(self, AlarmRecipientName):
        self._AlarmRecipientName = AlarmRecipientName

    @property
    def TaskType(self):
        r"""告警任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def SendResult(self):
        r"""发送结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SendResult

    @SendResult.setter
    def SendResult(self, SendResult):
        self._SendResult = SendResult

    @property
    def MonitorObjectId(self):
        r"""监控对象id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MonitorObjectId

    @MonitorObjectId.setter
    def MonitorObjectId(self, MonitorObjectId):
        self._MonitorObjectId = MonitorObjectId

    @property
    def MonitorObjectName(self):
        r"""监控对象名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MonitorObjectName

    @MonitorObjectName.setter
    def MonitorObjectName(self, MonitorObjectName):
        self._MonitorObjectName = MonitorObjectName

    @property
    def Threshold(self):
        r"""指标阈值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Threshold

    @Threshold.setter
    def Threshold(self, Threshold):
        self._Threshold = Threshold

    @property
    def AlarmReason(self):
        r"""告警原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmReason

    @AlarmReason.setter
    def AlarmReason(self, AlarmReason):
        self._AlarmReason = AlarmReason

    @property
    def IndicatorTimeRangeValue(self):
        r"""近范围值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IndicatorTimeRangeValue

    @IndicatorTimeRangeValue.setter
    def IndicatorTimeRangeValue(self, IndicatorTimeRangeValue):
        self._IndicatorTimeRangeValue = IndicatorTimeRangeValue

    @property
    def IndicatorTimeRangeUnit(self):
        r"""近范围单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IndicatorTimeRangeUnit

    @IndicatorTimeRangeUnit.setter
    def IndicatorTimeRangeUnit(self, IndicatorTimeRangeUnit):
        self._IndicatorTimeRangeUnit = IndicatorTimeRangeUnit

    @property
    def SyncType(self):
        r"""同步类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SyncType

    @SyncType.setter
    def SyncType(self, SyncType):
        self._SyncType = SyncType


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._AlarmTime = params.get("AlarmTime")
        self._TaskId = params.get("TaskId")
        self._RegularName = params.get("RegularName")
        self._AlarmLevel = params.get("AlarmLevel")
        self._AlarmWay = params.get("AlarmWay")
        self._AlarmRecipientId = params.get("AlarmRecipientId")
        self._ProjectId = params.get("ProjectId")
        self._AlarmIndicator = params.get("AlarmIndicator")
        self._AlarmIndicatorDesc = params.get("AlarmIndicatorDesc")
        self._TriggerType = params.get("TriggerType")
        self._EstimatedTime = params.get("EstimatedTime")
        self._InstanceId = params.get("InstanceId")
        self._TaskName = params.get("TaskName")
        self._IsSendSuccess = params.get("IsSendSuccess")
        self._InQuitePeriods = params.get("InQuitePeriods")
        self._RecordId = params.get("RecordId")
        self._MessageId = params.get("MessageId")
        self._Operator = params.get("Operator")
        self._RegularId = params.get("RegularId")
        self._AlarmRecipientName = params.get("AlarmRecipientName")
        self._TaskType = params.get("TaskType")
        self._SendResult = params.get("SendResult")
        self._MonitorObjectId = params.get("MonitorObjectId")
        self._MonitorObjectName = params.get("MonitorObjectName")
        self._Threshold = params.get("Threshold")
        self._AlarmReason = params.get("AlarmReason")
        self._IndicatorTimeRangeValue = params.get("IndicatorTimeRangeValue")
        self._IndicatorTimeRangeUnit = params.get("IndicatorTimeRangeUnit")
        self._SyncType = params.get("SyncType")
        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 AlarmExtDsVO(AbstractModel):
    r"""AlarmExtVO信息

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警策略ID
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmId: str
        :param _PropName: 扩展字段key
注意：此字段可能返回 null，表示取不到有效值。
        :type PropName: str
        :param _PropValue: 扩展字段value
注意：此字段可能返回 null，表示取不到有效值。
        :type PropValue: str
        :param _CreateTime: 告警创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        """
        self._AlarmId = None
        self._PropName = None
        self._PropValue = None
        self._CreateTime = None
        self._ModifyTime = None

    @property
    def AlarmId(self):
        r"""告警策略ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def PropName(self):
        r"""扩展字段key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PropName

    @PropName.setter
    def PropName(self, PropName):
        self._PropName = PropName

    @property
    def PropValue(self):
        r"""扩展字段value
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PropValue

    @PropValue.setter
    def PropValue(self, PropValue):
        self._PropValue = PropValue

    @property
    def CreateTime(self):
        r"""告警创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._PropName = params.get("PropName")
        self._PropValue = params.get("PropValue")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        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 AlarmGroup(AbstractModel):
    r"""告警分组信息

    """

    def __init__(self):
        r"""
        :param _AlarmWays: 告警方式,1.邮件，2.短信，3.微信，4.语音，5.企业微信，6.Http，7.企业微信群；告警方式code列表（默认1.邮件）
        :type AlarmWays: list of str
        :param _AlarmRecipientType: 告警接收人类型：1.指定人员，2.任务责任人，3.值班表（默认1.指定人员）
        :type AlarmRecipientType: int
        :param _AlarmRecipients: 告警接收人
        :type AlarmRecipients: list of str
        :param _AlarmRecipientIds: 告警接收人ID
        :type AlarmRecipientIds: list of str
        :param _AlarmEscalationRecipients: 告警升级人
        :type AlarmEscalationRecipients: list of str
        :param _AlarmEscalationRecipientIds: 告警升级人ID
        :type AlarmEscalationRecipientIds: list of str
        :param _AlarmEscalationInterval: 告警升级间隔
        :type AlarmEscalationInterval: int
        :param _NotificationFatigue: 告警通知疲劳度配置。
        :type NotificationFatigue: :class:`tencentcloud.wedata.v20210820.models.NotificationFatigue`
        :param _AlarmMessageRule: 告警渠道规则 json 格式
        :type AlarmMessageRule: str
        """
        self._AlarmWays = None
        self._AlarmRecipientType = None
        self._AlarmRecipients = None
        self._AlarmRecipientIds = None
        self._AlarmEscalationRecipients = None
        self._AlarmEscalationRecipientIds = None
        self._AlarmEscalationInterval = None
        self._NotificationFatigue = None
        self._AlarmMessageRule = None

    @property
    def AlarmWays(self):
        r"""告警方式,1.邮件，2.短信，3.微信，4.语音，5.企业微信，6.Http，7.企业微信群；告警方式code列表（默认1.邮件）
        :rtype: list of str
        """
        return self._AlarmWays

    @AlarmWays.setter
    def AlarmWays(self, AlarmWays):
        self._AlarmWays = AlarmWays

    @property
    def AlarmRecipientType(self):
        r"""告警接收人类型：1.指定人员，2.任务责任人，3.值班表（默认1.指定人员）
        :rtype: int
        """
        return self._AlarmRecipientType

    @AlarmRecipientType.setter
    def AlarmRecipientType(self, AlarmRecipientType):
        self._AlarmRecipientType = AlarmRecipientType

    @property
    def AlarmRecipients(self):
        r"""告警接收人
        :rtype: list of str
        """
        return self._AlarmRecipients

    @AlarmRecipients.setter
    def AlarmRecipients(self, AlarmRecipients):
        self._AlarmRecipients = AlarmRecipients

    @property
    def AlarmRecipientIds(self):
        r"""告警接收人ID
        :rtype: list of str
        """
        return self._AlarmRecipientIds

    @AlarmRecipientIds.setter
    def AlarmRecipientIds(self, AlarmRecipientIds):
        self._AlarmRecipientIds = AlarmRecipientIds

    @property
    def AlarmEscalationRecipients(self):
        r"""告警升级人
        :rtype: list of str
        """
        return self._AlarmEscalationRecipients

    @AlarmEscalationRecipients.setter
    def AlarmEscalationRecipients(self, AlarmEscalationRecipients):
        self._AlarmEscalationRecipients = AlarmEscalationRecipients

    @property
    def AlarmEscalationRecipientIds(self):
        r"""告警升级人ID
        :rtype: list of str
        """
        return self._AlarmEscalationRecipientIds

    @AlarmEscalationRecipientIds.setter
    def AlarmEscalationRecipientIds(self, AlarmEscalationRecipientIds):
        self._AlarmEscalationRecipientIds = AlarmEscalationRecipientIds

    @property
    def AlarmEscalationInterval(self):
        r"""告警升级间隔
        :rtype: int
        """
        return self._AlarmEscalationInterval

    @AlarmEscalationInterval.setter
    def AlarmEscalationInterval(self, AlarmEscalationInterval):
        self._AlarmEscalationInterval = AlarmEscalationInterval

    @property
    def NotificationFatigue(self):
        r"""告警通知疲劳度配置。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.NotificationFatigue`
        """
        return self._NotificationFatigue

    @NotificationFatigue.setter
    def NotificationFatigue(self, NotificationFatigue):
        self._NotificationFatigue = NotificationFatigue

    @property
    def AlarmMessageRule(self):
        r"""告警渠道规则 json 格式
        :rtype: str
        """
        return self._AlarmMessageRule

    @AlarmMessageRule.setter
    def AlarmMessageRule(self, AlarmMessageRule):
        self._AlarmMessageRule = AlarmMessageRule


    def _deserialize(self, params):
        self._AlarmWays = params.get("AlarmWays")
        self._AlarmRecipientType = params.get("AlarmRecipientType")
        self._AlarmRecipients = params.get("AlarmRecipients")
        self._AlarmRecipientIds = params.get("AlarmRecipientIds")
        self._AlarmEscalationRecipients = params.get("AlarmEscalationRecipients")
        self._AlarmEscalationRecipientIds = params.get("AlarmEscalationRecipientIds")
        self._AlarmEscalationInterval = params.get("AlarmEscalationInterval")
        if params.get("NotificationFatigue") is not None:
            self._NotificationFatigue = NotificationFatigue()
            self._NotificationFatigue._deserialize(params.get("NotificationFatigue"))
        self._AlarmMessageRule = params.get("AlarmMessageRule")
        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 AlarmIndicatorInfo(AbstractModel):
    r"""告警指标

    """

    def __init__(self):
        r"""
        :param _Id: 指标id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _AlarmIndicator: 告警指标,0任务失败,1任务运行超时,2任务停止,3任务暂停, 4读取速度,5写入速度,6读取吞吐 7写入吞吐, 8脏数据字节数,9脏数据条数,10任务异常,11任务检测异常, 12重启次数, 13任务延时, 14近20分内的重启次数 15传输延迟,16业务延迟, 50离线包CPU使用率, 51离线包内存使用率, 52离线包并行度使用率, 53离线包排队中的实例数, 54实时包资源使用率, 55实时包运行中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicator: int
        :param _AlarmIndicatorDesc: 告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicatorDesc: str
        :param _TriggerType: 指标阈值，1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerType: int
        :param _EstimatedTime: 预计的超时时间，分钟级别
注意：此字段可能返回 null，表示取不到有效值。
        :type EstimatedTime: int
        :param _Operator: 告警阈值的算子,1 大于,2 小于
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: int
        :param _AlarmIndicatorUnit: 告警指标阈值单位：ms(毫秒)、s(秒)、min(分钟)
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicatorUnit: str
        :param _Duration: 告警周期
        :type Duration: int
        :param _DurationUnit: 告警周期单位:hour,minute,day
        :type DurationUnit: str
        :param _MaxTimes: 周期内最多告警次数
        :type MaxTimes: int
        :param _Threshold: 指标阈值
注意：此字段可能返回 null，表示取不到有效值。
        :type Threshold: float
        :param _IndicatorTimeRangeUnit: 时间范围单位
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorTimeRangeUnit: str
        :param _IndicatorTimeRangeValue: 时间范围值
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorTimeRangeValue: int
        """
        self._Id = None
        self._AlarmIndicator = None
        self._AlarmIndicatorDesc = None
        self._TriggerType = None
        self._EstimatedTime = None
        self._Operator = None
        self._AlarmIndicatorUnit = None
        self._Duration = None
        self._DurationUnit = None
        self._MaxTimes = None
        self._Threshold = None
        self._IndicatorTimeRangeUnit = None
        self._IndicatorTimeRangeValue = None

    @property
    def Id(self):
        r"""指标id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def AlarmIndicator(self):
        r"""告警指标,0任务失败,1任务运行超时,2任务停止,3任务暂停, 4读取速度,5写入速度,6读取吞吐 7写入吞吐, 8脏数据字节数,9脏数据条数,10任务异常,11任务检测异常, 12重启次数, 13任务延时, 14近20分内的重启次数 15传输延迟,16业务延迟, 50离线包CPU使用率, 51离线包内存使用率, 52离线包并行度使用率, 53离线包排队中的实例数, 54实时包资源使用率, 55实时包运行中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmIndicator

    @AlarmIndicator.setter
    def AlarmIndicator(self, AlarmIndicator):
        self._AlarmIndicator = AlarmIndicator

    @property
    def AlarmIndicatorDesc(self):
        r"""告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmIndicatorDesc

    @AlarmIndicatorDesc.setter
    def AlarmIndicatorDesc(self, AlarmIndicatorDesc):
        self._AlarmIndicatorDesc = AlarmIndicatorDesc

    @property
    def TriggerType(self):
        r"""指标阈值，1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def EstimatedTime(self):
        r"""预计的超时时间，分钟级别
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._EstimatedTime

    @EstimatedTime.setter
    def EstimatedTime(self, EstimatedTime):
        self._EstimatedTime = EstimatedTime

    @property
    def Operator(self):
        r"""告警阈值的算子,1 大于,2 小于
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def AlarmIndicatorUnit(self):
        r"""告警指标阈值单位：ms(毫秒)、s(秒)、min(分钟)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmIndicatorUnit

    @AlarmIndicatorUnit.setter
    def AlarmIndicatorUnit(self, AlarmIndicatorUnit):
        self._AlarmIndicatorUnit = AlarmIndicatorUnit

    @property
    def Duration(self):
        r"""告警周期
        :rtype: int
        """
        return self._Duration

    @Duration.setter
    def Duration(self, Duration):
        self._Duration = Duration

    @property
    def DurationUnit(self):
        r"""告警周期单位:hour,minute,day
        :rtype: str
        """
        return self._DurationUnit

    @DurationUnit.setter
    def DurationUnit(self, DurationUnit):
        self._DurationUnit = DurationUnit

    @property
    def MaxTimes(self):
        r"""周期内最多告警次数
        :rtype: int
        """
        return self._MaxTimes

    @MaxTimes.setter
    def MaxTimes(self, MaxTimes):
        self._MaxTimes = MaxTimes

    @property
    def Threshold(self):
        r"""指标阈值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Threshold

    @Threshold.setter
    def Threshold(self, Threshold):
        self._Threshold = Threshold

    @property
    def IndicatorTimeRangeUnit(self):
        r"""时间范围单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IndicatorTimeRangeUnit

    @IndicatorTimeRangeUnit.setter
    def IndicatorTimeRangeUnit(self, IndicatorTimeRangeUnit):
        self._IndicatorTimeRangeUnit = IndicatorTimeRangeUnit

    @property
    def IndicatorTimeRangeValue(self):
        r"""时间范围值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IndicatorTimeRangeValue

    @IndicatorTimeRangeValue.setter
    def IndicatorTimeRangeValue(self, IndicatorTimeRangeValue):
        self._IndicatorTimeRangeValue = IndicatorTimeRangeValue


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._AlarmIndicator = params.get("AlarmIndicator")
        self._AlarmIndicatorDesc = params.get("AlarmIndicatorDesc")
        self._TriggerType = params.get("TriggerType")
        self._EstimatedTime = params.get("EstimatedTime")
        self._Operator = params.get("Operator")
        self._AlarmIndicatorUnit = params.get("AlarmIndicatorUnit")
        self._Duration = params.get("Duration")
        self._DurationUnit = params.get("DurationUnit")
        self._MaxTimes = params.get("MaxTimes")
        self._Threshold = params.get("Threshold")
        self._IndicatorTimeRangeUnit = params.get("IndicatorTimeRangeUnit")
        self._IndicatorTimeRangeValue = params.get("IndicatorTimeRangeValue")
        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 AlarmInfo(AbstractModel):
    r"""任务告警信息

    """

    def __init__(self):
        r"""
        :param _TaskIds: 关联任务id
        :type TaskIds: str
        :param _AlarmType: 告警类别；failure表示失败告警；overtime表示超时告警
        :type AlarmType: str
        :param _AlarmWay: 告警方式；SMS表示短信；Email表示邮件；HTTP 表示接口方式；Wechat表示微信方式
        :type AlarmWay: str
        :param _AlarmRecipient: 告警接收人，多个告警接收人以;分割
        :type AlarmRecipient: str
        :param _AlarmRecipientId: 告警接收人id，多个告警接收人id以;分割
        :type AlarmRecipientId: str
        :param _Hours: 预计运行的小时，取值范围0-23
        :type Hours: int
        :param _Minutes: 预计运行分钟，取值范围0-59
        :type Minutes: int
        :param _TriggerType: 告警出发时机；1表示第一次运行失败；2表示所有重试完成后失败；
        :type TriggerType: int
        :param _AlarmId: 告警信息id
        :type AlarmId: str
        :param _Status: 告警状态设置；1表示可用；0表示不可用，默认可用
        :type Status: int
        """
        self._TaskIds = None
        self._AlarmType = None
        self._AlarmWay = None
        self._AlarmRecipient = None
        self._AlarmRecipientId = None
        self._Hours = None
        self._Minutes = None
        self._TriggerType = None
        self._AlarmId = None
        self._Status = None

    @property
    def TaskIds(self):
        r"""关联任务id
        :rtype: str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def AlarmType(self):
        r"""告警类别；failure表示失败告警；overtime表示超时告警
        :rtype: str
        """
        return self._AlarmType

    @AlarmType.setter
    def AlarmType(self, AlarmType):
        self._AlarmType = AlarmType

    @property
    def AlarmWay(self):
        r"""告警方式；SMS表示短信；Email表示邮件；HTTP 表示接口方式；Wechat表示微信方式
        :rtype: str
        """
        return self._AlarmWay

    @AlarmWay.setter
    def AlarmWay(self, AlarmWay):
        self._AlarmWay = AlarmWay

    @property
    def AlarmRecipient(self):
        r"""告警接收人，多个告警接收人以;分割
        :rtype: str
        """
        return self._AlarmRecipient

    @AlarmRecipient.setter
    def AlarmRecipient(self, AlarmRecipient):
        self._AlarmRecipient = AlarmRecipient

    @property
    def AlarmRecipientId(self):
        r"""告警接收人id，多个告警接收人id以;分割
        :rtype: str
        """
        return self._AlarmRecipientId

    @AlarmRecipientId.setter
    def AlarmRecipientId(self, AlarmRecipientId):
        self._AlarmRecipientId = AlarmRecipientId

    @property
    def Hours(self):
        r"""预计运行的小时，取值范围0-23
        :rtype: int
        """
        return self._Hours

    @Hours.setter
    def Hours(self, Hours):
        self._Hours = Hours

    @property
    def Minutes(self):
        r"""预计运行分钟，取值范围0-59
        :rtype: int
        """
        return self._Minutes

    @Minutes.setter
    def Minutes(self, Minutes):
        self._Minutes = Minutes

    @property
    def TriggerType(self):
        r"""告警出发时机；1表示第一次运行失败；2表示所有重试完成后失败；
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def AlarmId(self):
        r"""告警信息id
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def Status(self):
        r"""告警状态设置；1表示可用；0表示不可用，默认可用
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._AlarmType = params.get("AlarmType")
        self._AlarmWay = params.get("AlarmWay")
        self._AlarmRecipient = params.get("AlarmRecipient")
        self._AlarmRecipientId = params.get("AlarmRecipientId")
        self._Hours = params.get("Hours")
        self._Minutes = params.get("Minutes")
        self._TriggerType = params.get("TriggerType")
        self._AlarmId = params.get("AlarmId")
        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 AlarmQuietInterval(AbstractModel):
    r"""告警免打扰时间区间

    """

    def __init__(self):
        r"""
        :param _DaysOfWeek: ISO标准，1表示周一，7表示周日。
注意：此字段可能返回 null，表示取不到有效值。
        :type DaysOfWeek: list of int
        :param _StartTime: 开始时间，精度时分秒，格式 HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间，精度时分秒，格式 HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        """
        self._DaysOfWeek = None
        self._StartTime = None
        self._EndTime = None

    @property
    def DaysOfWeek(self):
        r"""ISO标准，1表示周一，7表示周日。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._DaysOfWeek

    @DaysOfWeek.setter
    def DaysOfWeek(self, DaysOfWeek):
        self._DaysOfWeek = DaysOfWeek

    @property
    def StartTime(self):
        r"""开始时间，精度时分秒，格式 HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间，精度时分秒，格式 HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._DaysOfWeek = params.get("DaysOfWeek")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 AlarmReceiverGroup(AbstractModel):
    r"""告警接收组

    """

    def __init__(self):
        r"""
        :param _AlarmRecipientType: 告警接收人类型
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientType: int
        :param _AlarmRecipientId: 告警接收人ID，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientId: str
        :param _AlarmRecipientName: 告警接收人名称，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientName: str
        :param _AlarmWay: 告警方式，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmWay: str
        :param _QuietPeriods: 免打扰时间段
注意：此字段可能返回 null，表示取不到有效值。
        :type QuietPeriods: list of QuietPeriod
        :param _AlarmMessageRule: 告警渠道规则
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmMessageRule: str
        """
        self._AlarmRecipientType = None
        self._AlarmRecipientId = None
        self._AlarmRecipientName = None
        self._AlarmWay = None
        self._QuietPeriods = None
        self._AlarmMessageRule = None

    @property
    def AlarmRecipientType(self):
        r"""告警接收人类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmRecipientType

    @AlarmRecipientType.setter
    def AlarmRecipientType(self, AlarmRecipientType):
        self._AlarmRecipientType = AlarmRecipientType

    @property
    def AlarmRecipientId(self):
        r"""告警接收人ID，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipientId

    @AlarmRecipientId.setter
    def AlarmRecipientId(self, AlarmRecipientId):
        self._AlarmRecipientId = AlarmRecipientId

    @property
    def AlarmRecipientName(self):
        r"""告警接收人名称，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipientName

    @AlarmRecipientName.setter
    def AlarmRecipientName(self, AlarmRecipientName):
        self._AlarmRecipientName = AlarmRecipientName

    @property
    def AlarmWay(self):
        r"""告警方式，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmWay

    @AlarmWay.setter
    def AlarmWay(self, AlarmWay):
        self._AlarmWay = AlarmWay

    @property
    def QuietPeriods(self):
        r"""免打扰时间段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of QuietPeriod
        """
        return self._QuietPeriods

    @QuietPeriods.setter
    def QuietPeriods(self, QuietPeriods):
        self._QuietPeriods = QuietPeriods

    @property
    def AlarmMessageRule(self):
        r"""告警渠道规则
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmMessageRule

    @AlarmMessageRule.setter
    def AlarmMessageRule(self, AlarmMessageRule):
        self._AlarmMessageRule = AlarmMessageRule


    def _deserialize(self, params):
        self._AlarmRecipientType = params.get("AlarmRecipientType")
        self._AlarmRecipientId = params.get("AlarmRecipientId")
        self._AlarmRecipientName = params.get("AlarmRecipientName")
        self._AlarmWay = params.get("AlarmWay")
        if params.get("QuietPeriods") is not None:
            self._QuietPeriods = []
            for item in params.get("QuietPeriods"):
                obj = QuietPeriod()
                obj._deserialize(item)
                self._QuietPeriods.append(obj)
        self._AlarmMessageRule = params.get("AlarmMessageRule")
        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 AlarmReceiverInfo(AbstractModel):
    r"""告警接收人详情

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警ID
        :type AlarmId: str
        :param _AlarmReceiver: 告警接收人ID
        :type AlarmReceiver: str
        :param _Email: 邮件，0：未设置，1：成功，2：失败
        :type Email: int
        :param _Sms: 短信，0：未设置，1：成功，2：失败
        :type Sms: int
        :param _Wechat: 微信，0：未设置，1：成功，2：失败
        :type Wechat: int
        :param _Voice: 电话，0：未设置，1：成功，2：失败
        :type Voice: int
        :param _Wecom: 企业微信，0：未设置，1：成功，2：失败
        :type Wecom: int
        :param _Http: http，0：未设置，1：成功，2：失败
        :type Http: int
        :param _WecomGroup: 企业微信群，0：未设置，1：成功，2：失败
注意：此字段可能返回 null，表示取不到有效值。
        :type WecomGroup: int
        :param _LarkGroup: 飞书群，0：未设置，1：成功，2：失败
注意：此字段可能返回 null，表示取不到有效值。
        :type LarkGroup: int
        :param _AlarmMessageSendResult: 发送结果 大json格式
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmMessageSendResult: str
        """
        self._AlarmId = None
        self._AlarmReceiver = None
        self._Email = None
        self._Sms = None
        self._Wechat = None
        self._Voice = None
        self._Wecom = None
        self._Http = None
        self._WecomGroup = None
        self._LarkGroup = None
        self._AlarmMessageSendResult = None

    @property
    def AlarmId(self):
        r"""告警ID
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def AlarmReceiver(self):
        r"""告警接收人ID
        :rtype: str
        """
        return self._AlarmReceiver

    @AlarmReceiver.setter
    def AlarmReceiver(self, AlarmReceiver):
        self._AlarmReceiver = AlarmReceiver

    @property
    def Email(self):
        r"""邮件，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Email

    @Email.setter
    def Email(self, Email):
        self._Email = Email

    @property
    def Sms(self):
        r"""短信，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Sms

    @Sms.setter
    def Sms(self, Sms):
        self._Sms = Sms

    @property
    def Wechat(self):
        r"""微信，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Wechat

    @Wechat.setter
    def Wechat(self, Wechat):
        self._Wechat = Wechat

    @property
    def Voice(self):
        r"""电话，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Voice

    @Voice.setter
    def Voice(self, Voice):
        self._Voice = Voice

    @property
    def Wecom(self):
        r"""企业微信，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Wecom

    @Wecom.setter
    def Wecom(self, Wecom):
        self._Wecom = Wecom

    @property
    def Http(self):
        r"""http，0：未设置，1：成功，2：失败
        :rtype: int
        """
        return self._Http

    @Http.setter
    def Http(self, Http):
        self._Http = Http

    @property
    def WecomGroup(self):
        r"""企业微信群，0：未设置，1：成功，2：失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WecomGroup

    @WecomGroup.setter
    def WecomGroup(self, WecomGroup):
        self._WecomGroup = WecomGroup

    @property
    def LarkGroup(self):
        r"""飞书群，0：未设置，1：成功，2：失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LarkGroup

    @LarkGroup.setter
    def LarkGroup(self, LarkGroup):
        self._LarkGroup = LarkGroup

    @property
    def AlarmMessageSendResult(self):
        r"""发送结果 大json格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmMessageSendResult

    @AlarmMessageSendResult.setter
    def AlarmMessageSendResult(self, AlarmMessageSendResult):
        self._AlarmMessageSendResult = AlarmMessageSendResult


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._AlarmReceiver = params.get("AlarmReceiver")
        self._Email = params.get("Email")
        self._Sms = params.get("Sms")
        self._Wechat = params.get("Wechat")
        self._Voice = params.get("Voice")
        self._Wecom = params.get("Wecom")
        self._Http = params.get("Http")
        self._WecomGroup = params.get("WecomGroup")
        self._LarkGroup = params.get("LarkGroup")
        self._AlarmMessageSendResult = params.get("AlarmMessageSendResult")
        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 Apply(AbstractModel):
    r"""审批列表信息

    """

    def __init__(self):
        r"""
        :param _ApplicantId: 申请人id
        :type ApplicantId: str
        :param _ApplicantName: 申请人名称
        :type ApplicantName: str
        :param _Remark: 审批备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Remark: str
        :param _ApproveClassification: 审批分类key
        :type ApproveClassification: str
        :param _ApproveId: 审批单id
        :type ApproveId: str
        :param _ApproveType: 审批类型key
        :type ApproveType: str
        :param _Reason: 申请原因
注意：此字段可能返回 null，表示取不到有效值。
        :type Reason: str
        :param _CreateTime: 创建时间
        :type CreateTime: str
        :param _ApproveTime: 审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveTime: str
        :param _ApproveClassificationName: 审批分类名称
        :type ApproveClassificationName: str
        :param _Status: 状态
        :type Status: str
        :param _ApproveTypeName: 审批类型名称
        :type ApproveTypeName: str
        :param _ErrorMessage: 审批异常或者失败信息
        :type ErrorMessage: str
        :param _ApplyName: 申请名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ApplyName: str
        :param _ApproverId: 审批人id
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproverId: str
        :param _ApproverName: 审批人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproverName: str
        :param _ApproveProjectName: 审批所属项目
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveProjectName: str
        :param _ApplyId: 审批id
注意：此字段可能返回 null，表示取不到有效值。
        :type ApplyId: str
        :param _Metadata: 扩展字段
注意：此字段可能返回 null，表示取不到有效值。
        :type Metadata: str
        :param _CreateTimestamp: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimestamp: int
        :param _ApproveTimestamp: 审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveTimestamp: int
        """
        self._ApplicantId = None
        self._ApplicantName = None
        self._Remark = None
        self._ApproveClassification = None
        self._ApproveId = None
        self._ApproveType = None
        self._Reason = None
        self._CreateTime = None
        self._ApproveTime = None
        self._ApproveClassificationName = None
        self._Status = None
        self._ApproveTypeName = None
        self._ErrorMessage = None
        self._ApplyName = None
        self._ApproverId = None
        self._ApproverName = None
        self._ApproveProjectName = None
        self._ApplyId = None
        self._Metadata = None
        self._CreateTimestamp = None
        self._ApproveTimestamp = None

    @property
    def ApplicantId(self):
        r"""申请人id
        :rtype: str
        """
        return self._ApplicantId

    @ApplicantId.setter
    def ApplicantId(self, ApplicantId):
        self._ApplicantId = ApplicantId

    @property
    def ApplicantName(self):
        r"""申请人名称
        :rtype: str
        """
        return self._ApplicantName

    @ApplicantName.setter
    def ApplicantName(self, ApplicantName):
        self._ApplicantName = ApplicantName

    @property
    def Remark(self):
        r"""审批备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def ApproveClassification(self):
        r"""审批分类key
        :rtype: str
        """
        return self._ApproveClassification

    @ApproveClassification.setter
    def ApproveClassification(self, ApproveClassification):
        self._ApproveClassification = ApproveClassification

    @property
    def ApproveId(self):
        r"""审批单id
        :rtype: str
        """
        return self._ApproveId

    @ApproveId.setter
    def ApproveId(self, ApproveId):
        self._ApproveId = ApproveId

    @property
    def ApproveType(self):
        r"""审批类型key
        :rtype: str
        """
        return self._ApproveType

    @ApproveType.setter
    def ApproveType(self, ApproveType):
        self._ApproveType = ApproveType

    @property
    def Reason(self):
        r"""申请原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Reason

    @Reason.setter
    def Reason(self, Reason):
        self._Reason = Reason

    @property
    def CreateTime(self):
        r"""创建时间
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ApproveTime(self):
        r"""审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproveTime

    @ApproveTime.setter
    def ApproveTime(self, ApproveTime):
        self._ApproveTime = ApproveTime

    @property
    def ApproveClassificationName(self):
        r"""审批分类名称
        :rtype: str
        """
        return self._ApproveClassificationName

    @ApproveClassificationName.setter
    def ApproveClassificationName(self, ApproveClassificationName):
        self._ApproveClassificationName = ApproveClassificationName

    @property
    def Status(self):
        r"""状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def ApproveTypeName(self):
        r"""审批类型名称
        :rtype: str
        """
        return self._ApproveTypeName

    @ApproveTypeName.setter
    def ApproveTypeName(self, ApproveTypeName):
        self._ApproveTypeName = ApproveTypeName

    @property
    def ErrorMessage(self):
        r"""审批异常或者失败信息
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def ApplyName(self):
        r"""申请名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApplyName

    @ApplyName.setter
    def ApplyName(self, ApplyName):
        self._ApplyName = ApplyName

    @property
    def ApproverId(self):
        r"""审批人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproverId

    @ApproverId.setter
    def ApproverId(self, ApproverId):
        self._ApproverId = ApproverId

    @property
    def ApproverName(self):
        r"""审批人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproverName

    @ApproverName.setter
    def ApproverName(self, ApproverName):
        self._ApproverName = ApproverName

    @property
    def ApproveProjectName(self):
        r"""审批所属项目
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproveProjectName

    @ApproveProjectName.setter
    def ApproveProjectName(self, ApproveProjectName):
        self._ApproveProjectName = ApproveProjectName

    @property
    def ApplyId(self):
        r"""审批id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApplyId

    @ApplyId.setter
    def ApplyId(self, ApplyId):
        self._ApplyId = ApplyId

    @property
    def Metadata(self):
        r"""扩展字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Metadata

    @Metadata.setter
    def Metadata(self, Metadata):
        self._Metadata = Metadata

    @property
    def CreateTimestamp(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTimestamp

    @CreateTimestamp.setter
    def CreateTimestamp(self, CreateTimestamp):
        self._CreateTimestamp = CreateTimestamp

    @property
    def ApproveTimestamp(self):
        r"""审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ApproveTimestamp

    @ApproveTimestamp.setter
    def ApproveTimestamp(self, ApproveTimestamp):
        self._ApproveTimestamp = ApproveTimestamp


    def _deserialize(self, params):
        self._ApplicantId = params.get("ApplicantId")
        self._ApplicantName = params.get("ApplicantName")
        self._Remark = params.get("Remark")
        self._ApproveClassification = params.get("ApproveClassification")
        self._ApproveId = params.get("ApproveId")
        self._ApproveType = params.get("ApproveType")
        self._Reason = params.get("Reason")
        self._CreateTime = params.get("CreateTime")
        self._ApproveTime = params.get("ApproveTime")
        self._ApproveClassificationName = params.get("ApproveClassificationName")
        self._Status = params.get("Status")
        self._ApproveTypeName = params.get("ApproveTypeName")
        self._ErrorMessage = params.get("ErrorMessage")
        self._ApplyName = params.get("ApplyName")
        self._ApproverId = params.get("ApproverId")
        self._ApproverName = params.get("ApproverName")
        self._ApproveProjectName = params.get("ApproveProjectName")
        self._ApplyId = params.get("ApplyId")
        self._Metadata = params.get("Metadata")
        self._CreateTimestamp = params.get("CreateTimestamp")
        self._ApproveTimestamp = params.get("ApproveTimestamp")
        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 ApproveModify(AbstractModel):
    r"""修改审批单状态

    """

    def __init__(self):
        r"""
        :param _ApproveId: 审批单id
        :type ApproveId: str
        :param _Success: 是否修改成功
        :type Success: bool
        """
        self._ApproveId = None
        self._Success = None

    @property
    def ApproveId(self):
        r"""审批单id
        :rtype: str
        """
        return self._ApproveId

    @ApproveId.setter
    def ApproveId(self, ApproveId):
        self._ApproveId = ApproveId

    @property
    def Success(self):
        r"""是否修改成功
        :rtype: bool
        """
        return self._Success

    @Success.setter
    def Success(self, Success):
        self._Success = Success


    def _deserialize(self, params):
        self._ApproveId = params.get("ApproveId")
        self._Success = params.get("Success")
        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 ApproveType(AbstractModel):
    r"""审批分类

    """

    def __init__(self):
        r"""
        :param _Type: 申请分类key
        :type Type: str
        :param _TypeName: 类型名称
        :type TypeName: str
        :param _Classification: 申请类型key
        :type Classification: str
        """
        self._Type = None
        self._TypeName = None
        self._Classification = None

    @property
    def Type(self):
        r"""申请分类key
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def TypeName(self):
        r"""类型名称
        :rtype: str
        """
        return self._TypeName

    @TypeName.setter
    def TypeName(self, TypeName):
        self._TypeName = TypeName

    @property
    def Classification(self):
        r"""申请类型key
        :rtype: str
        """
        return self._Classification

    @Classification.setter
    def Classification(self, Classification):
        self._Classification = Classification


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._TypeName = params.get("TypeName")
        self._Classification = params.get("Classification")
        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 AssetDim(AbstractModel):
    r"""资产维度信息结构定义

    """

    def __init__(self):
        r"""
        :param _FolderId: 文件夹 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: int
        :param _DimCode: 维度编码
注意：此字段可能返回 null，表示取不到有效值。
        :type DimCode: str
        :param _DimName: 维度名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DimName: str
        :param _Description: 维度描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _OwnerAccount: 维度负责人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccount: int
        :param _Owner: 维度负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _ModifyUserId: 变更人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyUserId: int
        :param _ModifyUser: 维度最近修改人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyUser: str
        :param _ModifyTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _DimType: 维度录入方式， 取值：manual-手动录入；dict-关联字典表；
注意：此字段可能返回 null，表示取不到有效值。
        :type DimType: str
        :param _ValuePairCount: 枚举值数量
注意：此字段可能返回 null，表示取不到有效值。
        :type ValuePairCount: int
        :param _IndicatorPairCount: 关联指标数量
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorPairCount: int
        :param _TableColumnCount: 关联字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TableColumnCount: int
        :param _DimId: 维度 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DimId: int
        :param _DimTableLink: 维度关联表字段
注意：此字段可能返回 null，表示取不到有效值。
        :type DimTableLink: :class:`tencentcloud.wedata.v20210820.models.DimTableLink`
        :param _ValuePairs: 枚举值列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ValuePairs: list of Pair
        :param _TableColumns: 维度关联字段
注意：此字段可能返回 null，表示取不到有效值。
        :type TableColumns: list of AssetDimTableColumn
        :param _SourceIndicatorIds: 关联指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceIndicatorIds: list of IndicatorBaseSimpleInfo
        :param _DimPermission: 权限
注意：此字段可能返回 null，表示取不到有效值。
        :type DimPermission: :class:`tencentcloud.wedata.v20210820.models.PermissionStatus`
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        """
        self._FolderId = None
        self._DimCode = None
        self._DimName = None
        self._Description = None
        self._OwnerAccount = None
        self._Owner = None
        self._ModifyUserId = None
        self._ModifyUser = None
        self._ModifyTime = None
        self._CreateTime = None
        self._DimType = None
        self._ValuePairCount = None
        self._IndicatorPairCount = None
        self._TableColumnCount = None
        self._DimId = None
        self._DimTableLink = None
        self._ValuePairs = None
        self._TableColumns = None
        self._SourceIndicatorIds = None
        self._DimPermission = None
        self._ProjectId = None
        self._ProjectName = None

    @property
    def FolderId(self):
        r"""文件夹 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def DimCode(self):
        r"""维度编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimCode

    @DimCode.setter
    def DimCode(self, DimCode):
        self._DimCode = DimCode

    @property
    def DimName(self):
        r"""维度名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimName

    @DimName.setter
    def DimName(self, DimName):
        self._DimName = DimName

    @property
    def Description(self):
        r"""维度描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def OwnerAccount(self):
        r"""维度负责人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OwnerAccount

    @OwnerAccount.setter
    def OwnerAccount(self, OwnerAccount):
        self._OwnerAccount = OwnerAccount

    @property
    def Owner(self):
        r"""维度负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def ModifyUserId(self):
        r"""变更人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ModifyUserId

    @ModifyUserId.setter
    def ModifyUserId(self, ModifyUserId):
        self._ModifyUserId = ModifyUserId

    @property
    def ModifyUser(self):
        r"""维度最近修改人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyUser

    @ModifyUser.setter
    def ModifyUser(self, ModifyUser):
        self._ModifyUser = ModifyUser

    @property
    def ModifyTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def DimType(self):
        r"""维度录入方式， 取值：manual-手动录入；dict-关联字典表；
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimType

    @DimType.setter
    def DimType(self, DimType):
        self._DimType = DimType

    @property
    def ValuePairCount(self):
        r"""枚举值数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ValuePairCount

    @ValuePairCount.setter
    def ValuePairCount(self, ValuePairCount):
        self._ValuePairCount = ValuePairCount

    @property
    def IndicatorPairCount(self):
        r"""关联指标数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IndicatorPairCount

    @IndicatorPairCount.setter
    def IndicatorPairCount(self, IndicatorPairCount):
        self._IndicatorPairCount = IndicatorPairCount

    @property
    def TableColumnCount(self):
        r"""关联字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TableColumnCount

    @TableColumnCount.setter
    def TableColumnCount(self, TableColumnCount):
        self._TableColumnCount = TableColumnCount

    @property
    def DimId(self):
        r"""维度 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DimId

    @DimId.setter
    def DimId(self, DimId):
        self._DimId = DimId

    @property
    def DimTableLink(self):
        r"""维度关联表字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DimTableLink`
        """
        return self._DimTableLink

    @DimTableLink.setter
    def DimTableLink(self, DimTableLink):
        self._DimTableLink = DimTableLink

    @property
    def ValuePairs(self):
        r"""枚举值列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Pair
        """
        return self._ValuePairs

    @ValuePairs.setter
    def ValuePairs(self, ValuePairs):
        self._ValuePairs = ValuePairs

    @property
    def TableColumns(self):
        r"""维度关联字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AssetDimTableColumn
        """
        return self._TableColumns

    @TableColumns.setter
    def TableColumns(self, TableColumns):
        self._TableColumns = TableColumns

    @property
    def SourceIndicatorIds(self):
        r"""关联指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IndicatorBaseSimpleInfo
        """
        return self._SourceIndicatorIds

    @SourceIndicatorIds.setter
    def SourceIndicatorIds(self, SourceIndicatorIds):
        self._SourceIndicatorIds = SourceIndicatorIds

    @property
    def DimPermission(self):
        r"""权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.PermissionStatus`
        """
        return self._DimPermission

    @DimPermission.setter
    def DimPermission(self, DimPermission):
        self._DimPermission = DimPermission

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName


    def _deserialize(self, params):
        self._FolderId = params.get("FolderId")
        self._DimCode = params.get("DimCode")
        self._DimName = params.get("DimName")
        self._Description = params.get("Description")
        self._OwnerAccount = params.get("OwnerAccount")
        self._Owner = params.get("Owner")
        self._ModifyUserId = params.get("ModifyUserId")
        self._ModifyUser = params.get("ModifyUser")
        self._ModifyTime = params.get("ModifyTime")
        self._CreateTime = params.get("CreateTime")
        self._DimType = params.get("DimType")
        self._ValuePairCount = params.get("ValuePairCount")
        self._IndicatorPairCount = params.get("IndicatorPairCount")
        self._TableColumnCount = params.get("TableColumnCount")
        self._DimId = params.get("DimId")
        if params.get("DimTableLink") is not None:
            self._DimTableLink = DimTableLink()
            self._DimTableLink._deserialize(params.get("DimTableLink"))
        if params.get("ValuePairs") is not None:
            self._ValuePairs = []
            for item in params.get("ValuePairs"):
                obj = Pair()
                obj._deserialize(item)
                self._ValuePairs.append(obj)
        if params.get("TableColumns") is not None:
            self._TableColumns = []
            for item in params.get("TableColumns"):
                obj = AssetDimTableColumn()
                obj._deserialize(item)
                self._TableColumns.append(obj)
        if params.get("SourceIndicatorIds") is not None:
            self._SourceIndicatorIds = []
            for item in params.get("SourceIndicatorIds"):
                obj = IndicatorBaseSimpleInfo()
                obj._deserialize(item)
                self._SourceIndicatorIds.append(obj)
        if params.get("DimPermission") is not None:
            self._DimPermission = PermissionStatus()
            self._DimPermission._deserialize(params.get("DimPermission"))
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        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 AssetDimSimpleVO(AbstractModel):
    r"""维度简化对象

    """

    def __init__(self):
        r"""
        :param _Id: ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _DimName: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DimName: str
        :param _DimCode: 编码
注意：此字段可能返回 null，表示取不到有效值。
        :type DimCode: str
        """
        self._Id = None
        self._DimName = None
        self._DimCode = None

    @property
    def Id(self):
        r"""ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def DimName(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimName

    @DimName.setter
    def DimName(self, DimName):
        self._DimName = DimName

    @property
    def DimCode(self):
        r"""编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimCode

    @DimCode.setter
    def DimCode(self, DimCode):
        self._DimCode = DimCode


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._DimName = params.get("DimName")
        self._DimCode = params.get("DimCode")
        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 AssetDimTableColumn(AbstractModel):
    r"""资产维度关联数据表字段结构定义

    """

    def __init__(self):
        r"""
        :param _ColumnName: 表字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnName: str
        :param _ColumnNameCn: 表字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnNameCn: str
        :param _ColumnType: 表字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnType: str
        :param _ColumnDescription: 表字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnDescription: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableGuid: 表GUID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableGuid: str
        :param _DatabaseName: 表归属的数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _SchemaName: 表归属的Schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        """
        self._ColumnName = None
        self._ColumnNameCn = None
        self._ColumnType = None
        self._ColumnDescription = None
        self._TableName = None
        self._TableGuid = None
        self._DatabaseName = None
        self._SchemaName = None

    @property
    def ColumnName(self):
        r"""表字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def ColumnNameCn(self):
        r"""表字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnNameCn

    @ColumnNameCn.setter
    def ColumnNameCn(self, ColumnNameCn):
        self._ColumnNameCn = ColumnNameCn

    @property
    def ColumnType(self):
        r"""表字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnType

    @ColumnType.setter
    def ColumnType(self, ColumnType):
        self._ColumnType = ColumnType

    @property
    def ColumnDescription(self):
        r"""表字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnDescription

    @ColumnDescription.setter
    def ColumnDescription(self, ColumnDescription):
        self._ColumnDescription = ColumnDescription

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableGuid(self):
        r"""表GUID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableGuid

    @TableGuid.setter
    def TableGuid(self, TableGuid):
        self._TableGuid = TableGuid

    @property
    def DatabaseName(self):
        r"""表归属的数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""表归属的Schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName


    def _deserialize(self, params):
        self._ColumnName = params.get("ColumnName")
        self._ColumnNameCn = params.get("ColumnNameCn")
        self._ColumnType = params.get("ColumnType")
        self._ColumnDescription = params.get("ColumnDescription")
        self._TableName = params.get("TableName")
        self._TableGuid = params.get("TableGuid")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        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 AsyncResourceVO(AbstractModel):
    r"""操作资源DTO

    """

    def __init__(self):
        r"""
        :param _ProcessId: 处理Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessId: int
        :param _ResourceId: 资源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceId: str
        :param _ResourceName: 资源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceName: str
        :param _ExtraInfo: 自定义信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraInfo: list of ParamInfo
        """
        self._ProcessId = None
        self._ResourceId = None
        self._ResourceName = None
        self._ExtraInfo = None

    @property
    def ProcessId(self):
        r"""处理Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProcessId

    @ProcessId.setter
    def ProcessId(self, ProcessId):
        self._ProcessId = ProcessId

    @property
    def ResourceId(self):
        r"""资源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def ResourceName(self):
        r"""资源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceName

    @ResourceName.setter
    def ResourceName(self, ResourceName):
        self._ResourceName = ResourceName

    @property
    def ExtraInfo(self):
        r"""自定义信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfo
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo


    def _deserialize(self, params):
        self._ProcessId = params.get("ProcessId")
        self._ResourceId = params.get("ResourceId")
        self._ResourceName = params.get("ResourceName")
        if params.get("ExtraInfo") is not None:
            self._ExtraInfo = []
            for item in params.get("ExtraInfo"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._ExtraInfo.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 AttributeItemDTO(AbstractModel):
    r"""aiops基础信息

    """

    def __init__(self):
        r"""
        :param _Key: key
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: value
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Key = None
        self._Value = None
        self._Description = None

    @property
    def Key(self):
        r"""key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""value
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        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 AttributeItemDsVO(AbstractModel):
    r"""AttributeItemVO参数

    """

    def __init__(self):
        r"""
        :param _Key: Key值
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: Value值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Key = None
        self._Value = None
        self._Description = None

    @property
    def Key(self):
        r"""Key值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""Value值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        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 AttributeItemOpsDto(AbstractModel):
    r"""任务扩展信息

    """

    def __init__(self):
        r"""
        :param _Key: 属性键
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: 属性值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Description: 属性描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Key = None
        self._Value = None
        self._Description = None

    @property
    def Key(self):
        r"""属性键
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""属性值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Description(self):
        r"""属性描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        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 BaseClusterInfo(AbstractModel):
    r"""集群基础信息

    """

    def __init__(self):
        r"""
        :param _ClusterId: 集群id
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _ClusterType: 集群类型，EMR/CDW等
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterType: str
        :param _ClusterName: 集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterName: str
        :param _RegionCn: 地域中文
注意：此字段可能返回 null，表示取不到有效值。
        :type RegionCn: str
        :param _RegionEn: 地域英文
注意：此字段可能返回 null，表示取不到有效值。
        :type RegionEn: str
        :param _RegionArea: 地区
注意：此字段可能返回 null，表示取不到有效值。
        :type RegionArea: str
        :param _Used: 集群是否使用
注意：此字段可能返回 null，表示取不到有效值。
        :type Used: bool
        :param _Status: 集群状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _StatusInfo: 集群状态信息
注意：此字段可能返回 null，表示取不到有效值。
        :type StatusInfo: str
        :param _StorageType: 集群存储类型
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageType: str
        :param _ComputeType: 集群计算类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ComputeType: str
        :param _ClusterResource: 集群资源量
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterResource: str
        :param _ChargeType: 集群付费方式
注意：此字段可能返回 null，表示取不到有效值。
        :type ChargeType: str
        :param _CreateTime: 集群创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ExtraConf: 额外配置
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraConf: str
        :param _RangerUserName: ranger账号名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RangerUserName: str
        :param _CdwUserName: cdw账号（用于展示）
注意：此字段可能返回 null，表示取不到有效值。
        :type CdwUserName: str
        :param _CreateTimestamp: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimestamp: int
        :param _UpdateTimestamp: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTimestamp: int
        """
        self._ClusterId = None
        self._ClusterType = None
        self._ClusterName = None
        self._RegionCn = None
        self._RegionEn = None
        self._RegionArea = None
        self._Used = None
        self._Status = None
        self._StatusInfo = None
        self._StorageType = None
        self._ComputeType = None
        self._ClusterResource = None
        self._ChargeType = None
        self._CreateTime = None
        self._ExtraConf = None
        self._RangerUserName = None
        self._CdwUserName = None
        self._CreateTimestamp = None
        self._UpdateTimestamp = None

    @property
    def ClusterId(self):
        r"""集群id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def ClusterType(self):
        r"""集群类型，EMR/CDW等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterType

    @ClusterType.setter
    def ClusterType(self, ClusterType):
        self._ClusterType = ClusterType

    @property
    def ClusterName(self):
        r"""集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterName

    @ClusterName.setter
    def ClusterName(self, ClusterName):
        self._ClusterName = ClusterName

    @property
    def RegionCn(self):
        r"""地域中文
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RegionCn

    @RegionCn.setter
    def RegionCn(self, RegionCn):
        self._RegionCn = RegionCn

    @property
    def RegionEn(self):
        r"""地域英文
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RegionEn

    @RegionEn.setter
    def RegionEn(self, RegionEn):
        self._RegionEn = RegionEn

    @property
    def RegionArea(self):
        r"""地区
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RegionArea

    @RegionArea.setter
    def RegionArea(self, RegionArea):
        self._RegionArea = RegionArea

    @property
    def Used(self):
        r"""集群是否使用
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Used

    @Used.setter
    def Used(self, Used):
        self._Used = Used

    @property
    def Status(self):
        r"""集群状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def StatusInfo(self):
        r"""集群状态信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StatusInfo

    @StatusInfo.setter
    def StatusInfo(self, StatusInfo):
        self._StatusInfo = StatusInfo

    @property
    def StorageType(self):
        r"""集群存储类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageType

    @StorageType.setter
    def StorageType(self, StorageType):
        self._StorageType = StorageType

    @property
    def ComputeType(self):
        r"""集群计算类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComputeType

    @ComputeType.setter
    def ComputeType(self, ComputeType):
        self._ComputeType = ComputeType

    @property
    def ClusterResource(self):
        r"""集群资源量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterResource

    @ClusterResource.setter
    def ClusterResource(self, ClusterResource):
        self._ClusterResource = ClusterResource

    @property
    def ChargeType(self):
        r"""集群付费方式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChargeType

    @ChargeType.setter
    def ChargeType(self, ChargeType):
        self._ChargeType = ChargeType

    @property
    def CreateTime(self):
        r"""集群创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ExtraConf(self):
        r"""额外配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtraConf

    @ExtraConf.setter
    def ExtraConf(self, ExtraConf):
        self._ExtraConf = ExtraConf

    @property
    def RangerUserName(self):
        r"""ranger账号名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RangerUserName

    @RangerUserName.setter
    def RangerUserName(self, RangerUserName):
        self._RangerUserName = RangerUserName

    @property
    def CdwUserName(self):
        r"""cdw账号（用于展示）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CdwUserName

    @CdwUserName.setter
    def CdwUserName(self, CdwUserName):
        self._CdwUserName = CdwUserName

    @property
    def CreateTimestamp(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTimestamp

    @CreateTimestamp.setter
    def CreateTimestamp(self, CreateTimestamp):
        self._CreateTimestamp = CreateTimestamp

    @property
    def UpdateTimestamp(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpdateTimestamp

    @UpdateTimestamp.setter
    def UpdateTimestamp(self, UpdateTimestamp):
        self._UpdateTimestamp = UpdateTimestamp


    def _deserialize(self, params):
        self._ClusterId = params.get("ClusterId")
        self._ClusterType = params.get("ClusterType")
        self._ClusterName = params.get("ClusterName")
        self._RegionCn = params.get("RegionCn")
        self._RegionEn = params.get("RegionEn")
        self._RegionArea = params.get("RegionArea")
        self._Used = params.get("Used")
        self._Status = params.get("Status")
        self._StatusInfo = params.get("StatusInfo")
        self._StorageType = params.get("StorageType")
        self._ComputeType = params.get("ComputeType")
        self._ClusterResource = params.get("ClusterResource")
        self._ChargeType = params.get("ChargeType")
        self._CreateTime = params.get("CreateTime")
        self._ExtraConf = params.get("ExtraConf")
        self._RangerUserName = params.get("RangerUserName")
        self._CdwUserName = params.get("CdwUserName")
        self._CreateTimestamp = params.get("CreateTimestamp")
        self._UpdateTimestamp = params.get("UpdateTimestamp")
        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 BaseProject(AbstractModel):
    r"""项目信息

    """

    def __init__(self):
        r"""
        :param _ProjectName: 项目标识，英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _DisplayName: 项目显示名称，可以为中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _Region: 地域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _TenantId: 项目的所在租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _Description: 备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Status: 项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _Model: 项目类型，SIMPLE：简单模式 STANDARD：标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :type Model: str
        :param _ScheduleMode: 项目调度模式，task：任务模式 workflow：工作流模式
        :type ScheduleMode: str
        """
        self._ProjectName = None
        self._DisplayName = None
        self._Region = None
        self._TenantId = None
        self._ProjectId = None
        self._Description = None
        self._CreateTime = None
        self._Status = None
        self._Model = None
        self._ScheduleMode = None

    @property
    def ProjectName(self):
        r"""项目标识，英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def DisplayName(self):
        r"""项目显示名称，可以为中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def Region(self):
        r"""地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def TenantId(self):
        r"""项目的所在租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Description(self):
        r"""备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Status(self):
        r"""项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def Model(self):
        r"""项目类型，SIMPLE：简单模式 STANDARD：标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def ScheduleMode(self):
        r"""项目调度模式，task：任务模式 workflow：工作流模式
        :rtype: str
        """
        return self._ScheduleMode

    @ScheduleMode.setter
    def ScheduleMode(self, ScheduleMode):
        self._ScheduleMode = ScheduleMode


    def _deserialize(self, params):
        self._ProjectName = params.get("ProjectName")
        self._DisplayName = params.get("DisplayName")
        self._Region = params.get("Region")
        self._TenantId = params.get("TenantId")
        self._ProjectId = params.get("ProjectId")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._Status = params.get("Status")
        self._Model = params.get("Model")
        self._ScheduleMode = params.get("ScheduleMode")
        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 BaseRole(AbstractModel):
    r"""基础角色对象

    """

    def __init__(self):
        r"""
        :param _RoleId: 角色id
        :type RoleId: str
        :param _RoleName: 角色名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RoleName: str
        :param _DisplayName: 角色昵称
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _RoleType: 角色类型, 分为System,Tenant,Project,Commercial
注意：此字段可能返回 null，表示取不到有效值。
        :type RoleType: str
        :param _SystemDefault: 系统预设
注意：此字段可能返回 null，表示取不到有效值。
        :type SystemDefault: bool
        :param _Parameters: 自定义参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Parameters: str
        :param _MemberCount: 成员统计
注意：此字段可能返回 null，表示取不到有效值。
        :type MemberCount: int
        :param _Privileges: 权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Privileges: list of RolePrivilege
        :param _Operator: 操作者
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        :param _OperateTime: 操作时间
注意：此字段可能返回 null，表示取不到有效值。
        :type OperateTime: int
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: int
        :param _CreateTimeStr: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimeStr: str
        :param _UpdateTimeStr: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTimeStr: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Creator: 创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        """
        self._RoleId = None
        self._RoleName = None
        self._DisplayName = None
        self._Description = None
        self._RoleType = None
        self._SystemDefault = None
        self._Parameters = None
        self._MemberCount = None
        self._Privileges = None
        self._Operator = None
        self._OperateTime = None
        self._CreateTime = None
        self._CreateTimeStr = None
        self._UpdateTimeStr = None
        self._ProjectId = None
        self._UpdateTime = None
        self._Creator = None

    @property
    def RoleId(self):
        r"""角色id
        :rtype: str
        """
        return self._RoleId

    @RoleId.setter
    def RoleId(self, RoleId):
        self._RoleId = RoleId

    @property
    def RoleName(self):
        r"""角色名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RoleName

    @RoleName.setter
    def RoleName(self, RoleName):
        self._RoleName = RoleName

    @property
    def DisplayName(self):
        r"""角色昵称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def RoleType(self):
        r"""角色类型, 分为System,Tenant,Project,Commercial
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RoleType

    @RoleType.setter
    def RoleType(self, RoleType):
        self._RoleType = RoleType

    @property
    def SystemDefault(self):
        r"""系统预设
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SystemDefault

    @SystemDefault.setter
    def SystemDefault(self, SystemDefault):
        self._SystemDefault = SystemDefault

    @property
    def Parameters(self):
        r"""自定义参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Parameters

    @Parameters.setter
    def Parameters(self, Parameters):
        self._Parameters = Parameters

    @property
    def MemberCount(self):
        r"""成员统计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MemberCount

    @MemberCount.setter
    def MemberCount(self, MemberCount):
        self._MemberCount = MemberCount

    @property
    def Privileges(self):
        r"""权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RolePrivilege
        """
        return self._Privileges

    @Privileges.setter
    def Privileges(self, Privileges):
        self._Privileges = Privileges

    @property
    def Operator(self):
        r"""操作者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def OperateTime(self):
        r"""操作时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OperateTime

    @OperateTime.setter
    def OperateTime(self, OperateTime):
        self._OperateTime = OperateTime

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def CreateTimeStr(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTimeStr

    @CreateTimeStr.setter
    def CreateTimeStr(self, CreateTimeStr):
        self._CreateTimeStr = CreateTimeStr

    @property
    def UpdateTimeStr(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTimeStr

    @UpdateTimeStr.setter
    def UpdateTimeStr(self, UpdateTimeStr):
        self._UpdateTimeStr = UpdateTimeStr

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Creator(self):
        r"""创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator


    def _deserialize(self, params):
        self._RoleId = params.get("RoleId")
        self._RoleName = params.get("RoleName")
        self._DisplayName = params.get("DisplayName")
        self._Description = params.get("Description")
        self._RoleType = params.get("RoleType")
        self._SystemDefault = params.get("SystemDefault")
        self._Parameters = params.get("Parameters")
        self._MemberCount = params.get("MemberCount")
        if params.get("Privileges") is not None:
            self._Privileges = []
            for item in params.get("Privileges"):
                obj = RolePrivilege()
                obj._deserialize(item)
                self._Privileges.append(obj)
        if params.get("Operator") is not None:
            self._Operator = BaseUser()
            self._Operator._deserialize(params.get("Operator"))
        self._OperateTime = params.get("OperateTime")
        self._CreateTime = params.get("CreateTime")
        self._CreateTimeStr = params.get("CreateTimeStr")
        self._UpdateTimeStr = params.get("UpdateTimeStr")
        self._ProjectId = params.get("ProjectId")
        self._UpdateTime = params.get("UpdateTime")
        self._Creator = params.get("Creator")
        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 BaseTenant(AbstractModel):
    r"""租户基础信息

    """

    def __init__(self):
        r"""
        :param _TenantId: 租户id
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _TenantName: 租户标识
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantName: str
        :param _DisplayName: 租户显示名称，一般是中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _Description: 备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _OwnerUserId: 租户主账号
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserId: str
        :param _Params: 租户的额外配置参数, json格式字符串
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        """
        self._TenantId = None
        self._TenantName = None
        self._DisplayName = None
        self._Description = None
        self._OwnerUserId = None
        self._Params = None

    @property
    def TenantId(self):
        r"""租户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def TenantName(self):
        r"""租户标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantName

    @TenantName.setter
    def TenantName(self, TenantName):
        self._TenantName = TenantName

    @property
    def DisplayName(self):
        r"""租户显示名称，一般是中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def Description(self):
        r"""备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def OwnerUserId(self):
        r"""租户主账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUserId

    @OwnerUserId.setter
    def OwnerUserId(self, OwnerUserId):
        self._OwnerUserId = OwnerUserId

    @property
    def Params(self):
        r"""租户的额外配置参数, json格式字符串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params


    def _deserialize(self, params):
        self._TenantId = params.get("TenantId")
        self._TenantName = params.get("TenantName")
        self._DisplayName = params.get("DisplayName")
        self._Description = params.get("Description")
        self._OwnerUserId = params.get("OwnerUserId")
        self._Params = params.get("Params")
        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 BaseUser(AbstractModel):
    r"""基础用户信息

    """

    def __init__(self):
        r"""
        :param _UserId: 有云的UIN，全局唯一
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _UserName: 用户全局唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _DisplayName: 用户显示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _PhoneNum: 电话号码
注意：此字段可能返回 null，表示取不到有效值。
        :type PhoneNum: str
        :param _Email: 邮箱
注意：此字段可能返回 null，表示取不到有效值。
        :type Email: str
        :param _UserTag: 0: 普通用户 1: entraId用户
注意：此字段可能返回 null，表示取不到有效值。
        :type UserTag: int
        """
        self._UserId = None
        self._UserName = None
        self._DisplayName = None
        self._PhoneNum = None
        self._Email = None
        self._UserTag = None

    @property
    def UserId(self):
        r"""有云的UIN，全局唯一
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def UserName(self):
        r"""用户全局唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def DisplayName(self):
        r"""用户显示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def PhoneNum(self):
        r"""电话号码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PhoneNum

    @PhoneNum.setter
    def PhoneNum(self, PhoneNum):
        self._PhoneNum = PhoneNum

    @property
    def Email(self):
        r"""邮箱
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Email

    @Email.setter
    def Email(self, Email):
        self._Email = Email

    @property
    def UserTag(self):
        r"""0: 普通用户 1: entraId用户
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UserTag

    @UserTag.setter
    def UserTag(self, UserTag):
        self._UserTag = UserTag


    def _deserialize(self, params):
        self._UserId = params.get("UserId")
        self._UserName = params.get("UserName")
        self._DisplayName = params.get("DisplayName")
        self._PhoneNum = params.get("PhoneNum")
        self._Email = params.get("Email")
        self._UserTag = params.get("UserTag")
        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 BatchCreateIntegrationTaskAlarmsRequest(AbstractModel):
    r"""BatchCreateIntegrationTaskAlarms请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskAlarmInfo: 告警配置信息
        :type TaskAlarmInfo: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._TaskAlarmInfo = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskAlarmInfo(self):
        r"""告警配置信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        """
        return self._TaskAlarmInfo

    @TaskAlarmInfo.setter
    def TaskAlarmInfo(self, TaskAlarmInfo):
        self._TaskAlarmInfo = TaskAlarmInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        if params.get("TaskAlarmInfo") is not None:
            self._TaskAlarmInfo = TaskAlarmInfo()
            self._TaskAlarmInfo._deserialize(params.get("TaskAlarmInfo"))
        self._ProjectId = params.get("ProjectId")
        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 BatchCreateIntegrationTaskAlarmsResponse(AbstractModel):
    r"""BatchCreateIntegrationTaskAlarms返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type FailedCount: int
        :param _TotalCount: 任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BatchCreateTaskVersionAsyncRequest(AbstractModel):
    r"""BatchCreateTaskVersionAsync请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Tasks: 任务信息
        :type Tasks: list of BatchCreateTaskVersionDTO
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _AutoRun: 是否自动运行
        :type AutoRun: bool
        :param _AlarmWays: 告警方式:email-邮件;sms-短信;wecom-企业微信
        :type AlarmWays: str
        :param _AlarmRecipientTypes: 告警对象:1-项目管理员，2-任务责任人
        :type AlarmRecipientTypes: str
        :param _NeedCheckParentSubmitted: 是否需要校验父任务已经提交到调度
        :type NeedCheckParentSubmitted: bool
        :param _EnableMakeUp: 是否需要补录中间实例
        :type EnableMakeUp: bool
        :param _AssignApprovalList: 指定审批人列表
        :type AssignApprovalList: list of str
        """
        self._Tasks = None
        self._ProjectId = None
        self._AutoRun = None
        self._AlarmWays = None
        self._AlarmRecipientTypes = None
        self._NeedCheckParentSubmitted = None
        self._EnableMakeUp = None
        self._AssignApprovalList = None

    @property
    def Tasks(self):
        r"""任务信息
        :rtype: list of BatchCreateTaskVersionDTO
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def AutoRun(self):
        r"""是否自动运行
        :rtype: bool
        """
        return self._AutoRun

    @AutoRun.setter
    def AutoRun(self, AutoRun):
        self._AutoRun = AutoRun

    @property
    def AlarmWays(self):
        r"""告警方式:email-邮件;sms-短信;wecom-企业微信
        :rtype: str
        """
        return self._AlarmWays

    @AlarmWays.setter
    def AlarmWays(self, AlarmWays):
        self._AlarmWays = AlarmWays

    @property
    def AlarmRecipientTypes(self):
        r"""告警对象:1-项目管理员，2-任务责任人
        :rtype: str
        """
        return self._AlarmRecipientTypes

    @AlarmRecipientTypes.setter
    def AlarmRecipientTypes(self, AlarmRecipientTypes):
        self._AlarmRecipientTypes = AlarmRecipientTypes

    @property
    def NeedCheckParentSubmitted(self):
        r"""是否需要校验父任务已经提交到调度
        :rtype: bool
        """
        return self._NeedCheckParentSubmitted

    @NeedCheckParentSubmitted.setter
    def NeedCheckParentSubmitted(self, NeedCheckParentSubmitted):
        self._NeedCheckParentSubmitted = NeedCheckParentSubmitted

    @property
    def EnableMakeUp(self):
        r"""是否需要补录中间实例
        :rtype: bool
        """
        return self._EnableMakeUp

    @EnableMakeUp.setter
    def EnableMakeUp(self, EnableMakeUp):
        self._EnableMakeUp = EnableMakeUp

    @property
    def AssignApprovalList(self):
        r"""指定审批人列表
        :rtype: list of str
        """
        return self._AssignApprovalList

    @AssignApprovalList.setter
    def AssignApprovalList(self, AssignApprovalList):
        self._AssignApprovalList = AssignApprovalList


    def _deserialize(self, params):
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = BatchCreateTaskVersionDTO()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._ProjectId = params.get("ProjectId")
        self._AutoRun = params.get("AutoRun")
        self._AlarmWays = params.get("AlarmWays")
        self._AlarmRecipientTypes = params.get("AlarmRecipientTypes")
        self._NeedCheckParentSubmitted = params.get("NeedCheckParentSubmitted")
        self._EnableMakeUp = params.get("EnableMakeUp")
        self._AssignApprovalList = params.get("AssignApprovalList")
        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 BatchCreateTaskVersionAsyncResponse(AbstractModel):
    r"""BatchCreateTaskVersionAsync返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 批量操作返回
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchTaskOperateNew`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""批量操作返回
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchTaskOperateNew`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchTaskOperateNew()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class BatchCreateTaskVersionDTO(AbstractModel):
    r"""BatchCreateTaskVersion使用，描述任务信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _VersionRemark: VersionRemark
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionRemark: str
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        """
        self._TaskId = None
        self._VersionRemark = None
        self._FolderId = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VersionRemark(self):
        r"""VersionRemark
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionRemark

    @VersionRemark.setter
    def VersionRemark(self, VersionRemark):
        self._VersionRemark = VersionRemark

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._VersionRemark = params.get("VersionRemark")
        self._FolderId = params.get("FolderId")
        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 BatchDeleteIntegrationTasksRequest(AbstractModel):
    r"""BatchDeleteIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DeleteKFFlag: 是否删除开发态任务。默认不删除开发态，为 0 不删除 , 为 1 删除
        :type DeleteKFFlag: int
        :param _Name: 操作名称
        :type Name: str
        :param _TaskNames: 本次批量操作涉及任务，用于审计
        :type TaskNames: list of str
        """
        self._TaskIds = None
        self._TaskType = None
        self._ProjectId = None
        self._DeleteKFFlag = None
        self._Name = None
        self._TaskNames = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DeleteKFFlag(self):
        r"""是否删除开发态任务。默认不删除开发态，为 0 不删除 , 为 1 删除
        :rtype: int
        """
        return self._DeleteKFFlag

    @DeleteKFFlag.setter
    def DeleteKFFlag(self, DeleteKFFlag):
        self._DeleteKFFlag = DeleteKFFlag

    @property
    def Name(self):
        r"""操作名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def TaskNames(self):
        r"""本次批量操作涉及任务，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._DeleteKFFlag = params.get("DeleteKFFlag")
        self._Name = params.get("Name")
        self._TaskNames = params.get("TaskNames")
        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 BatchDeleteIntegrationTasksResponse(AbstractModel):
    r"""BatchDeleteIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type FailedCount: int
        :param _TotalCount: 任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BatchDeleteOpsTasksRequest(AbstractModel):
    r"""BatchDeleteOpsTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIdList: 批量删除的任务TaskId
        :type TaskIdList: list of str
        :param _DeleteMode: true : 删除后下游任务可正常运行
false：删除后下游任务不可运行
        :type DeleteMode: bool
        :param _EnableNotify: true：通知下游任务责任人
false:  不通知下游任务责任人
        :type EnableNotify: bool
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _DeleteScript: 删除任务时是否删除脚本文件
        :type DeleteScript: bool
        """
        self._TaskIdList = None
        self._DeleteMode = None
        self._EnableNotify = None
        self._ProjectId = None
        self._DeleteScript = None

    @property
    def TaskIdList(self):
        r"""批量删除的任务TaskId
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def DeleteMode(self):
        r"""true : 删除后下游任务可正常运行
false：删除后下游任务不可运行
        :rtype: bool
        """
        return self._DeleteMode

    @DeleteMode.setter
    def DeleteMode(self, DeleteMode):
        self._DeleteMode = DeleteMode

    @property
    def EnableNotify(self):
        r"""true：通知下游任务责任人
false:  不通知下游任务责任人
        :rtype: bool
        """
        return self._EnableNotify

    @EnableNotify.setter
    def EnableNotify(self, EnableNotify):
        self._EnableNotify = EnableNotify

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DeleteScript(self):
        r"""删除任务时是否删除脚本文件
        :rtype: bool
        """
        return self._DeleteScript

    @DeleteScript.setter
    def DeleteScript(self, DeleteScript):
        self._DeleteScript = DeleteScript


    def _deserialize(self, params):
        self._TaskIdList = params.get("TaskIdList")
        self._DeleteMode = params.get("DeleteMode")
        self._EnableNotify = params.get("EnableNotify")
        self._ProjectId = params.get("ProjectId")
        self._DeleteScript = params.get("DeleteScript")
        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 BatchDeleteOpsTasksResponse(AbstractModel):
    r"""BatchDeleteOpsTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回批量操作成功个数、失败个数、操作总数
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回批量操作成功个数、失败个数、操作总数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class BatchForceSuccessIntegrationTaskInstancesRequest(AbstractModel):
    r"""BatchForceSuccessIntegrationTaskInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例信息
        :type Instances: list of SchedulerTaskInstanceInfo
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._Instances = None
        self._ProjectId = None

    @property
    def Instances(self):
        r"""实例信息
        :rtype: list of SchedulerTaskInstanceInfo
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = SchedulerTaskInstanceInfo()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 BatchForceSuccessIntegrationTaskInstancesResponse(AbstractModel):
    r"""BatchForceSuccessIntegrationTaskInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BatchKillIntegrationTaskInstancesRequest(AbstractModel):
    r"""BatchKillIntegrationTaskInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例信息
        :type Instances: list of SchedulerTaskInstanceInfo
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._Instances = None
        self._ProjectId = None

    @property
    def Instances(self):
        r"""实例信息
        :rtype: list of SchedulerTaskInstanceInfo
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = SchedulerTaskInstanceInfo()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 BatchKillIntegrationTaskInstancesResponse(AbstractModel):
    r"""BatchKillIntegrationTaskInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _TaskNames: 实际传的为taskId
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskNames: list of str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._TaskNames = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TaskNames(self):
        r"""实际传的为taskId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._TaskNames = params.get("TaskNames")
        self._RequestId = params.get("RequestId")


class BatchMakeUpIntegrationTasksRequest(AbstractModel):
    r"""BatchMakeUpIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        :param _StartTime: 补数据开始时间
        :type StartTime: str
        :param _EndTime: 补数据结束时间
        :type EndTime: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._TaskType = None
        self._StartTime = None
        self._EndTime = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def StartTime(self):
        r"""补数据开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""补数据结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._TaskType = params.get("TaskType")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ProjectId = params.get("ProjectId")
        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 BatchMakeUpIntegrationTasksResponse(AbstractModel):
    r"""BatchMakeUpIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BatchModifyOpsOwnersRequest(AbstractModel):
    r"""BatchModifyOpsOwners请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIdList: 需要更新责任人的TaskId数组
        :type TaskIdList: list of str
        :param _Owners: 需要更新的责任人userId信息，多个责任人用;连接
        :type Owners: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._TaskIdList = None
        self._Owners = None
        self._ProjectId = None

    @property
    def TaskIdList(self):
        r"""需要更新责任人的TaskId数组
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def Owners(self):
        r"""需要更新的责任人userId信息，多个责任人用;连接
        :rtype: str
        """
        return self._Owners

    @Owners.setter
    def Owners(self, Owners):
        self._Owners = Owners

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIdList = params.get("TaskIdList")
        self._Owners = params.get("Owners")
        self._ProjectId = params.get("ProjectId")
        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 BatchModifyOpsOwnersResponse(AbstractModel):
    r"""BatchModifyOpsOwners返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回批量操作成功个数、失败个数、操作总数
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回批量操作成功个数、失败个数、操作总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class BatchOperateResult(AbstractModel):
    r"""批量操作的结果返回

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 批量操作成功数
        :type SuccessCount: int
        :param _FailedCount: 批量操作失败数
        :type FailedCount: int
        :param _TotalCount: 批量操作的总数
        :type TotalCount: int
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None

    @property
    def SuccessCount(self):
        r"""批量操作成功数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""批量操作失败数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""批量操作的总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        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 BatchOperateResultOpsDto(AbstractModel):
    r"""实例批量操作结果类

    """

    def __init__(self):
        r"""
        :param _Result: 结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Result: bool
        :param _ErrorId: 错误id
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorId: str
        :param _ErrorDesc: 错误说明
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _AsyncActionId: 异步操作id
注意：此字段可能返回 null，表示取不到有效值。
        :type AsyncActionId: str
        """
        self._Result = None
        self._ErrorId = None
        self._ErrorDesc = None
        self._AsyncActionId = None

    @property
    def Result(self):
        r"""结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def ErrorId(self):
        r"""错误id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorId

    @ErrorId.setter
    def ErrorId(self, ErrorId):
        self._ErrorId = ErrorId

    @property
    def ErrorDesc(self):
        r"""错误说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def AsyncActionId(self):
        r"""异步操作id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AsyncActionId

    @AsyncActionId.setter
    def AsyncActionId(self, AsyncActionId):
        self._AsyncActionId = AsyncActionId


    def _deserialize(self, params):
        self._Result = params.get("Result")
        self._ErrorId = params.get("ErrorId")
        self._ErrorDesc = params.get("ErrorDesc")
        self._AsyncActionId = params.get("AsyncActionId")
        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 BatchOperationOpsDto(AbstractModel):
    r"""批量操作的结果返回

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 批量操作成功数
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessCount: int
        :param _FailedCount: 批量操作失败数
注意：此字段可能返回 null，表示取不到有效值。
        :type FailedCount: int
        :param _TotalCount: 批量操作的总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _AsyncActionId: 异步操作记录的唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :type AsyncActionId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._AsyncActionId = None

    @property
    def SuccessCount(self):
        r"""批量操作成功数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""批量操作失败数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""批量操作的总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def AsyncActionId(self):
        r"""异步操作记录的唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AsyncActionId

    @AsyncActionId.setter
    def AsyncActionId(self, AsyncActionId):
        self._AsyncActionId = AsyncActionId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._AsyncActionId = params.get("AsyncActionId")
        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 BatchOpsDTO(AbstractModel):
    r"""批量操作结果，带失败原因

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _SuccessCount: 成功数量
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessCount: int
        :param _FailCount: 失败数量
注意：此字段可能返回 null，表示取不到有效值。
        :type FailCount: int
        :param _FailMessageList: 失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :type FailMessageList: list of FailMessage
        """
        self._TotalCount = None
        self._SuccessCount = None
        self._FailCount = None
        self._FailMessageList = None

    @property
    def TotalCount(self):
        r"""总数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def SuccessCount(self):
        r"""成功数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailCount(self):
        r"""失败数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailCount

    @FailCount.setter
    def FailCount(self, FailCount):
        self._FailCount = FailCount

    @property
    def FailMessageList(self):
        r"""失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FailMessage
        """
        return self._FailMessageList

    @FailMessageList.setter
    def FailMessageList(self, FailMessageList):
        self._FailMessageList = FailMessageList


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._SuccessCount = params.get("SuccessCount")
        self._FailCount = params.get("FailCount")
        if params.get("FailMessageList") is not None:
            self._FailMessageList = []
            for item in params.get("FailMessageList"):
                obj = FailMessage()
                obj._deserialize(item)
                self._FailMessageList.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 BatchRerunIntegrationTaskInstancesRequest(AbstractModel):
    r"""BatchRerunIntegrationTaskInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例信息
        :type Instances: list of SchedulerTaskInstanceInfo
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._Instances = None
        self._ProjectId = None

    @property
    def Instances(self):
        r"""实例信息
        :rtype: list of SchedulerTaskInstanceInfo
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = SchedulerTaskInstanceInfo()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 BatchRerunIntegrationTaskInstancesResponse(AbstractModel):
    r"""BatchRerunIntegrationTaskInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _TaskNames: 实际传的为taskId
        :type TaskNames: list of str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._TaskNames = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TaskNames(self):
        r"""实际传的为taskId
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._TaskNames = params.get("TaskNames")
        self._RequestId = params.get("RequestId")


class BatchResult(AbstractModel):
    r"""批量操作结果

    """

    def __init__(self):
        r"""
        :param _Running: 正在运行的任务数
        :type Running: int
        :param _Success: 执行成功的任务数
        :type Success: int
        :param _Failed: 执行失败的任务数
        :type Failed: int
        :param _Total: 总任务数
        :type Total: int
        """
        self._Running = None
        self._Success = None
        self._Failed = None
        self._Total = None

    @property
    def Running(self):
        r"""正在运行的任务数
        :rtype: int
        """
        return self._Running

    @Running.setter
    def Running(self, Running):
        self._Running = Running

    @property
    def Success(self):
        r"""执行成功的任务数
        :rtype: int
        """
        return self._Success

    @Success.setter
    def Success(self, Success):
        self._Success = Success

    @property
    def Failed(self):
        r"""执行失败的任务数
        :rtype: int
        """
        return self._Failed

    @Failed.setter
    def Failed(self, Failed):
        self._Failed = Failed

    @property
    def Total(self):
        r"""总任务数
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total


    def _deserialize(self, params):
        self._Running = params.get("Running")
        self._Success = params.get("Success")
        self._Failed = params.get("Failed")
        self._Total = params.get("Total")
        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 BatchResultDs(AbstractModel):
    r"""批量执行结果

    """

    def __init__(self):
        r"""
        :param _Success: 成功数
注意：此字段可能返回 null，表示取不到有效值。
        :type Success: int
        :param _Failed: 失败数
注意：此字段可能返回 null，表示取不到有效值。
        :type Failed: int
        :param _Total: 总计
注意：此字段可能返回 null，表示取不到有效值。
        :type Total: int
        """
        self._Success = None
        self._Failed = None
        self._Total = None

    @property
    def Success(self):
        r"""成功数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Success

    @Success.setter
    def Success(self, Success):
        self._Success = Success

    @property
    def Failed(self):
        r"""失败数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Failed

    @Failed.setter
    def Failed(self, Failed):
        self._Failed = Failed

    @property
    def Total(self):
        r"""总计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total


    def _deserialize(self, params):
        self._Success = params.get("Success")
        self._Failed = params.get("Failed")
        self._Total = params.get("Total")
        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 BatchResumeIntegrationTasksRequest(AbstractModel):
    r"""BatchResumeIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskType: 任务类型, 201为实时任务，202为离线任务
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._TaskType = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskType(self):
        r"""任务类型, 201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        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 BatchResumeIntegrationTasksResponse(AbstractModel):
    r"""BatchResumeIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _TaskNames: 本次批量操作涉及任务，用于审计
        :type TaskNames: list of str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._TaskNames = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TaskNames(self):
        r"""本次批量操作涉及任务，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._TaskNames = params.get("TaskNames")
        self._RequestId = params.get("RequestId")


class BatchReturn(AbstractModel):
    r"""操作结果

    """

    def __init__(self):
        r"""
        :param _Result: 执行结果
        :type Result: bool
        :param _ErrorDesc: 执行情况备注
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _ErrorId: 执行情况id
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorId: str
        """
        self._Result = None
        self._ErrorDesc = None
        self._ErrorId = None

    @property
    def Result(self):
        r"""执行结果
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def ErrorDesc(self):
        r"""执行情况备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def ErrorId(self):
        r"""执行情况id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorId

    @ErrorId.setter
    def ErrorId(self, ErrorId):
        self._ErrorId = ErrorId


    def _deserialize(self, params):
        self._Result = params.get("Result")
        self._ErrorDesc = params.get("ErrorDesc")
        self._ErrorId = params.get("ErrorId")
        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 BatchRunOpsTaskRequest(AbstractModel):
    r"""BatchRunOpsTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _EnableMakeUp: 是否补录中间实例,0不补录;1补录
        :type EnableMakeUp: int
        :param _Tasks: 任务id列表
        :type Tasks: list of str
        """
        self._ProjectId = None
        self._EnableMakeUp = None
        self._Tasks = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def EnableMakeUp(self):
        r"""是否补录中间实例,0不补录;1补录
        :rtype: int
        """
        return self._EnableMakeUp

    @EnableMakeUp.setter
    def EnableMakeUp(self, EnableMakeUp):
        self._EnableMakeUp = EnableMakeUp

    @property
    def Tasks(self):
        r"""任务id列表
        :rtype: list of str
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._EnableMakeUp = params.get("EnableMakeUp")
        self._Tasks = params.get("Tasks")
        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 BatchRunOpsTaskResponse(AbstractModel):
    r"""BatchRunOpsTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class BatchStartIntegrationTasksRequest(AbstractModel):
    r"""BatchStartIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _StartTaskInfoSet: 批量运行集成任务，目前仅实时集成用到了这个参数
        :type StartTaskInfoSet: list of StartTaskInfo
        """
        self._TaskType = None
        self._ProjectId = None
        self._TaskIds = None
        self._StartTaskInfoSet = None

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def StartTaskInfoSet(self):
        r"""批量运行集成任务，目前仅实时集成用到了这个参数
        :rtype: list of StartTaskInfo
        """
        return self._StartTaskInfoSet

    @StartTaskInfoSet.setter
    def StartTaskInfoSet(self, StartTaskInfoSet):
        self._StartTaskInfoSet = StartTaskInfoSet


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._TaskIds = params.get("TaskIds")
        if params.get("StartTaskInfoSet") is not None:
            self._StartTaskInfoSet = []
            for item in params.get("StartTaskInfoSet"):
                obj = StartTaskInfo()
                obj._deserialize(item)
                self._StartTaskInfoSet.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 BatchStartIntegrationTasksResponse(AbstractModel):
    r"""BatchStartIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _TaskNames: 本次批量操作成功任务id，用于审计
        :type TaskNames: list of str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._TaskNames = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TaskNames(self):
        r"""本次批量操作成功任务id，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._TaskNames = params.get("TaskNames")
        self._RequestId = params.get("RequestId")


class BatchStopIntegrationTasksRequest(AbstractModel):
    r"""BatchStopIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._TaskType = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        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 BatchStopIntegrationTasksResponse(AbstractModel):
    r"""BatchStopIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _TaskNames: 本次批量操作涉及成功任务，用于审计
        :type TaskNames: list of str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._TaskNames = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TaskNames(self):
        r"""本次批量操作涉及成功任务，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._TaskNames = params.get("TaskNames")
        self._RequestId = params.get("RequestId")


class BatchStopOpsTasksRequest(AbstractModel):
    r"""BatchStopOpsTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIdList: 批量停止任务的TaskId
        :type TaskIdList: list of str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _KillInstance: 是否终止已生成的实例
        :type KillInstance: bool
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        """
        self._TaskIdList = None
        self._ProjectId = None
        self._KillInstance = None
        self._AsyncMode = None

    @property
    def TaskIdList(self):
        r"""批量停止任务的TaskId
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def KillInstance(self):
        r"""是否终止已生成的实例
        :rtype: bool
        """
        return self._KillInstance

    @KillInstance.setter
    def KillInstance(self, KillInstance):
        self._KillInstance = KillInstance

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode


    def _deserialize(self, params):
        self._TaskIdList = params.get("TaskIdList")
        self._ProjectId = params.get("ProjectId")
        self._KillInstance = params.get("KillInstance")
        self._AsyncMode = params.get("AsyncMode")
        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 BatchStopOpsTasksResponse(AbstractModel):
    r"""BatchStopOpsTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回批量操作成功个数、失败个数、操作总数
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回批量操作成功个数、失败个数、操作总数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class BatchStopWorkflowsByIdsRequest(AbstractModel):
    r"""BatchStopWorkflowsByIds请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowIds: 工作流id列表
        :type WorkflowIds: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _KillInstance: 是否终止已生成的实例
        :type KillInstance: bool
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        """
        self._WorkflowIds = None
        self._ProjectId = None
        self._KillInstance = None
        self._AsyncMode = None

    @property
    def WorkflowIds(self):
        r"""工作流id列表
        :rtype: list of str
        """
        return self._WorkflowIds

    @WorkflowIds.setter
    def WorkflowIds(self, WorkflowIds):
        self._WorkflowIds = WorkflowIds

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def KillInstance(self):
        r"""是否终止已生成的实例
        :rtype: bool
        """
        return self._KillInstance

    @KillInstance.setter
    def KillInstance(self, KillInstance):
        self._KillInstance = KillInstance

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode


    def _deserialize(self, params):
        self._WorkflowIds = params.get("WorkflowIds")
        self._ProjectId = params.get("ProjectId")
        self._KillInstance = params.get("KillInstance")
        self._AsyncMode = params.get("AsyncMode")
        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 BatchStopWorkflowsByIdsResponse(AbstractModel):
    r"""BatchStopWorkflowsByIds返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class BatchSuspendIntegrationTasksRequest(AbstractModel):
    r"""BatchSuspendIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Event: 事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)	
        :type Event: str
        :param _TaskNames: 本次批量操作涉及任务，用于审计
        :type TaskNames: list of str
        """
        self._TaskIds = None
        self._TaskType = None
        self._ProjectId = None
        self._Event = None
        self._TaskNames = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Event(self):
        r"""事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)	
        :rtype: str
        """
        return self._Event

    @Event.setter
    def Event(self, Event):
        self._Event = Event

    @property
    def TaskNames(self):
        r"""本次批量操作涉及任务，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._Event = params.get("Event")
        self._TaskNames = params.get("TaskNames")
        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 BatchSuspendIntegrationTasksResponse(AbstractModel):
    r"""BatchSuspendIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BatchTaskOperateNew(AbstractModel):
    r"""批量操作出参

    """

    def __init__(self):
        r"""
        :param _JobId: <p>操作Id</p><p>可使用JobId字段通过ListBatchDetail接口 查询异步操作结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type JobId: int
        """
        self._JobId = None

    @property
    def JobId(self):
        r"""<p>操作Id</p><p>可使用JobId字段通过ListBatchDetail接口 查询异步操作结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        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 BatchUpdateIntegrationTasksRequest(AbstractModel):
    r"""BatchUpdateIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id
        :type TaskIds: list of str
        :param _Incharge: 责任人（多个责任人用小写分号隔开；离线任务传入的是账号名，实时任务传入的是账号id）
        :type Incharge: str
        :param _TaskType: 任务类型
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _InchargeIds: 责任人Id（多个责任人用小写分号隔开）
        :type InchargeIds: str
        :param _TaskNames: 本次批量操作涉及任务，用于审计
        :type TaskNames: list of str
        """
        self._TaskIds = None
        self._Incharge = None
        self._TaskType = None
        self._ProjectId = None
        self._InchargeIds = None
        self._TaskNames = None

    @property
    def TaskIds(self):
        r"""任务id
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def Incharge(self):
        r"""责任人（多个责任人用小写分号隔开；离线任务传入的是账号名，实时任务传入的是账号id）
        :rtype: str
        """
        return self._Incharge

    @Incharge.setter
    def Incharge(self, Incharge):
        self._Incharge = Incharge

    @property
    def TaskType(self):
        r"""任务类型
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InchargeIds(self):
        r"""责任人Id（多个责任人用小写分号隔开）
        :rtype: str
        """
        return self._InchargeIds

    @InchargeIds.setter
    def InchargeIds(self, InchargeIds):
        self._InchargeIds = InchargeIds

    @property
    def TaskNames(self):
        r"""本次批量操作涉及任务，用于审计
        :rtype: list of str
        """
        return self._TaskNames

    @TaskNames.setter
    def TaskNames(self, TaskNames):
        self._TaskNames = TaskNames


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._Incharge = params.get("Incharge")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._InchargeIds = params.get("InchargeIds")
        self._TaskNames = params.get("TaskNames")
        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 BatchUpdateIntegrationTasksResponse(AbstractModel):
    r"""BatchUpdateIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SuccessCount: 操作成功的任务数
        :type SuccessCount: int
        :param _FailedCount: 操作失败的任务数
        :type FailedCount: int
        :param _TotalCount: 任务总数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SuccessCount = None
        self._FailedCount = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def SuccessCount(self):
        r"""操作成功的任务数
        :rtype: int
        """
        return self._SuccessCount

    @SuccessCount.setter
    def SuccessCount(self, SuccessCount):
        self._SuccessCount = SuccessCount

    @property
    def FailedCount(self):
        r"""操作失败的任务数
        :rtype: int
        """
        return self._FailedCount

    @FailedCount.setter
    def FailedCount(self, FailedCount):
        self._FailedCount = FailedCount

    @property
    def TotalCount(self):
        r"""任务总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._SuccessCount = params.get("SuccessCount")
        self._FailedCount = params.get("FailedCount")
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class BindProjectExecutorResourceRequest(AbstractModel):
    r"""BindProjectExecutorResource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ExecutorGroupId: 执行资源组id
        :type ExecutorGroupId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ExecutorResourcePackageIds: 需要绑定项目的资源包id集合，为空则绑定整个资源组
        :type ExecutorResourcePackageIds: list of str
        :param _ProjectIdList: 可选: 需要绑定的多个项目id, 若申明将带上ProjectId一起绑定
        :type ProjectIdList: list of str
        """
        self._ExecutorGroupId = None
        self._ProjectId = None
        self._ExecutorResourcePackageIds = None
        self._ProjectIdList = None

    @property
    def ExecutorGroupId(self):
        r"""执行资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ExecutorResourcePackageIds(self):
        r"""需要绑定项目的资源包id集合，为空则绑定整个资源组
        :rtype: list of str
        """
        return self._ExecutorResourcePackageIds

    @ExecutorResourcePackageIds.setter
    def ExecutorResourcePackageIds(self, ExecutorResourcePackageIds):
        self._ExecutorResourcePackageIds = ExecutorResourcePackageIds

    @property
    def ProjectIdList(self):
        r"""可选: 需要绑定的多个项目id, 若申明将带上ProjectId一起绑定
        :rtype: list of str
        """
        return self._ProjectIdList

    @ProjectIdList.setter
    def ProjectIdList(self, ProjectIdList):
        self._ProjectIdList = ProjectIdList


    def _deserialize(self, params):
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ProjectId = params.get("ProjectId")
        self._ExecutorResourcePackageIds = params.get("ExecutorResourcePackageIds")
        self._ProjectIdList = params.get("ProjectIdList")
        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 BindProjectExecutorResourceResponse(AbstractModel):
    r"""BindProjectExecutorResource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 绑定成功为true，其他为异常信息
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""绑定成功为true，其他为异常信息
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class BizCatalogsInfo(AbstractModel):
    r"""数据地图-数据类目信息

    """

    def __init__(self):
        r"""
        :param _AppId: 应用id
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _Id: 类目id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _Level: 类目层级
注意：此字段可能返回 null，表示取不到有效值。
        :type Level: int
        :param _Name: 类目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ParentId: 上级类目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentId: int
        :param _Position: 类目顺序
注意：此字段可能返回 null，表示取不到有效值。
        :type Position: int
        :param _NameEn: 类目名称英文
注意：此字段可能返回 null，表示取不到有效值。
        :type NameEn: str
        """
        self._AppId = None
        self._Id = None
        self._Level = None
        self._Name = None
        self._ParentId = None
        self._Position = None
        self._NameEn = None

    @property
    def AppId(self):
        r"""应用id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def Id(self):
        r"""类目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Level(self):
        r"""类目层级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Level

    @Level.setter
    def Level(self, Level):
        self._Level = Level

    @property
    def Name(self):
        r"""类目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ParentId(self):
        r"""上级类目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ParentId

    @ParentId.setter
    def ParentId(self, ParentId):
        self._ParentId = ParentId

    @property
    def Position(self):
        r"""类目顺序
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Position

    @Position.setter
    def Position(self, Position):
        self._Position = Position

    @property
    def NameEn(self):
        r"""类目名称英文
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameEn

    @NameEn.setter
    def NameEn(self, NameEn):
        self._NameEn = NameEn


    def _deserialize(self, params):
        self._AppId = params.get("AppId")
        self._Id = params.get("Id")
        self._Level = params.get("Level")
        self._Name = params.get("Name")
        self._ParentId = params.get("ParentId")
        self._Position = params.get("Position")
        self._NameEn = params.get("NameEn")
        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 BizParams(AbstractModel):
    r"""业务额外属性

    """

    def __init__(self):
        r"""
        :param _NameCn: 字段中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type NameCn: str
        :param _NameEn: 字段英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type NameEn: str
        :param _HasAdvancedConfig: iceberg表是否启用高级配置
注意：此字段可能返回 null，表示取不到有效值。
        :type HasAdvancedConfig: str
        :param _BizStandCode: 标注编码
注意：此字段可能返回 null，表示取不到有效值。
        :type BizStandCode: str
        """
        self._NameCn = None
        self._NameEn = None
        self._HasAdvancedConfig = None
        self._BizStandCode = None

    @property
    def NameCn(self):
        r"""字段中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameCn

    @NameCn.setter
    def NameCn(self, NameCn):
        self._NameCn = NameCn

    @property
    def NameEn(self):
        r"""字段英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameEn

    @NameEn.setter
    def NameEn(self, NameEn):
        self._NameEn = NameEn

    @property
    def HasAdvancedConfig(self):
        r"""iceberg表是否启用高级配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._HasAdvancedConfig

    @HasAdvancedConfig.setter
    def HasAdvancedConfig(self, HasAdvancedConfig):
        self._HasAdvancedConfig = HasAdvancedConfig

    @property
    def BizStandCode(self):
        r"""标注编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizStandCode

    @BizStandCode.setter
    def BizStandCode(self, BizStandCode):
        self._BizStandCode = BizStandCode


    def _deserialize(self, params):
        self._NameCn = params.get("NameCn")
        self._NameEn = params.get("NameEn")
        self._HasAdvancedConfig = params.get("HasAdvancedConfig")
        self._BizStandCode = params.get("BizStandCode")
        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 BytesSpeed(AbstractModel):
    r"""实时任务同步速度 字节/s

    """

    def __init__(self):
        r"""
        :param _NodeType: 节点类型
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeType: str
        :param _NodeName: 节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeName: str
        :param _Values: 速度值列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Values: list of SpeedValue
        """
        self._NodeType = None
        self._NodeName = None
        self._Values = None

    @property
    def NodeType(self):
        r"""节点类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def NodeName(self):
        r"""节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeName

    @NodeName.setter
    def NodeName(self, NodeName):
        self._NodeName = NodeName

    @property
    def Values(self):
        r"""速度值列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SpeedValue
        """
        return self._Values

    @Values.setter
    def Values(self, Values):
        self._Values = Values


    def _deserialize(self, params):
        self._NodeType = params.get("NodeType")
        self._NodeName = params.get("NodeName")
        if params.get("Values") is not None:
            self._Values = []
            for item in params.get("Values"):
                obj = SpeedValue()
                obj._deserialize(item)
                self._Values.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 CandidateDsDTo(AbstractModel):
    r"""CandidateDsDTo

    """

    def __init__(self):
        r"""
        :param _Value: 取值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _ValueDesc: 取值描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueDesc: str
        """
        self._Value = None
        self._ValueDesc = None

    @property
    def Value(self):
        r"""取值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def ValueDesc(self):
        r"""取值描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ValueDesc

    @ValueDesc.setter
    def ValueDesc(self, ValueDesc):
        self._ValueDesc = ValueDesc


    def _deserialize(self, params):
        self._Value = params.get("Value")
        self._ValueDesc = params.get("ValueDesc")
        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 ChangeLog(AbstractModel):
    r"""变更日志

    """

    def __init__(self):
        r"""
        :param _ChangeType: 变更类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ChangeType: str
        :param _OldValue: 修改前的值
注意：此字段可能返回 null，表示取不到有效值。
        :type OldValue: str
        :param _NewValue: 修改后的值
注意：此字段可能返回 null，表示取不到有效值。
        :type NewValue: str
        :param _ModifiedAccount: 修改人
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedAccount: str
        :param _ModifiedTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedTime: str
        :param _ChangeReason: 修改原因
注意：此字段可能返回 null，表示取不到有效值。
        :type ChangeReason: str
        :param _ModifiedAccountName: 修改人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedAccountName: str
        """
        self._ChangeType = None
        self._OldValue = None
        self._NewValue = None
        self._ModifiedAccount = None
        self._ModifiedTime = None
        self._ChangeReason = None
        self._ModifiedAccountName = None

    @property
    def ChangeType(self):
        r"""变更类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChangeType

    @ChangeType.setter
    def ChangeType(self, ChangeType):
        self._ChangeType = ChangeType

    @property
    def OldValue(self):
        r"""修改前的值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OldValue

    @OldValue.setter
    def OldValue(self, OldValue):
        self._OldValue = OldValue

    @property
    def NewValue(self):
        r"""修改后的值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NewValue

    @NewValue.setter
    def NewValue(self, NewValue):
        self._NewValue = NewValue

    @property
    def ModifiedAccount(self):
        r"""修改人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifiedAccount

    @ModifiedAccount.setter
    def ModifiedAccount(self, ModifiedAccount):
        self._ModifiedAccount = ModifiedAccount

    @property
    def ModifiedTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def ChangeReason(self):
        r"""修改原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChangeReason

    @ChangeReason.setter
    def ChangeReason(self, ChangeReason):
        self._ChangeReason = ChangeReason

    @property
    def ModifiedAccountName(self):
        r"""修改人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifiedAccountName

    @ModifiedAccountName.setter
    def ModifiedAccountName(self, ModifiedAccountName):
        self._ModifiedAccountName = ModifiedAccountName


    def _deserialize(self, params):
        self._ChangeType = params.get("ChangeType")
        self._OldValue = params.get("OldValue")
        self._NewValue = params.get("NewValue")
        self._ModifiedAccount = params.get("ModifiedAccount")
        self._ModifiedTime = params.get("ModifiedTime")
        self._ChangeReason = params.get("ChangeReason")
        self._ModifiedAccountName = params.get("ModifiedAccountName")
        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 CheckAlarmRegularNameExistRequest(AbstractModel):
    r"""CheckAlarmRegularNameExist请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目名称
        :type ProjectId: str
        :param _AlarmRegularName: 规则名称
        :type AlarmRegularName: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _Id: 主键ID
        :type Id: str
        :param _TaskType: 任务类型:201.实时,202.离线
        :type TaskType: int
        :param _MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :type MonitorType: int
        """
        self._ProjectId = None
        self._AlarmRegularName = None
        self._TaskId = None
        self._Id = None
        self._TaskType = None
        self._MonitorType = None

    @property
    def ProjectId(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def AlarmRegularName(self):
        r"""规则名称
        :rtype: str
        """
        return self._AlarmRegularName

    @AlarmRegularName.setter
    def AlarmRegularName(self, AlarmRegularName):
        self._AlarmRegularName = AlarmRegularName

    @property
    def TaskId(self):
        warnings.warn("parameter `TaskId` is deprecated", DeprecationWarning) 

        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        warnings.warn("parameter `TaskId` is deprecated", DeprecationWarning) 

        self._TaskId = TaskId

    @property
    def Id(self):
        r"""主键ID
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskType(self):
        r"""任务类型:201.实时,202.离线
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def MonitorType(self):
        r"""监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._AlarmRegularName = params.get("AlarmRegularName")
        self._TaskId = params.get("TaskId")
        self._Id = params.get("Id")
        self._TaskType = params.get("TaskType")
        self._MonitorType = params.get("MonitorType")
        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 CheckAlarmRegularNameExistResponse(AbstractModel):
    r"""CheckAlarmRegularNameExist返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否重名
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否重名
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CheckIntegrationNodeNameExistsRequest(AbstractModel):
    r"""CheckIntegrationNodeNameExists请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _Name: 节点名称
        :type Name: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Id: 节点ID
        :type Id: int
        """
        self._TaskId = None
        self._Name = None
        self._ProjectId = None
        self._Id = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Name(self):
        r"""节点名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Id(self):
        r"""节点ID
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._Name = params.get("Name")
        self._ProjectId = params.get("ProjectId")
        self._Id = params.get("Id")
        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 CheckIntegrationNodeNameExistsResponse(AbstractModel):
    r"""CheckIntegrationNodeNameExists返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回true代表存在，返回false代表不存在
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回true代表存在，返回false代表不存在
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CheckIntegrationTaskNameExistsRequest(AbstractModel):
    r"""CheckIntegrationTaskNameExists请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskName: 任务名称
        :type TaskName: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _SyncType: 同步类型1.单表同步，2.解决方案
        :type SyncType: int
        """
        self._TaskName = None
        self._ProjectId = None
        self._TaskId = None
        self._SyncType = None

    @property
    def TaskName(self):
        r"""任务名称
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def SyncType(self):
        r"""同步类型1.单表同步，2.解决方案
        :rtype: int
        """
        return self._SyncType

    @SyncType.setter
    def SyncType(self, SyncType):
        self._SyncType = SyncType


    def _deserialize(self, params):
        self._TaskName = params.get("TaskName")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._SyncType = params.get("SyncType")
        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 CheckIntegrationTaskNameExistsResponse(AbstractModel):
    r"""CheckIntegrationTaskNameExists返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true表示存在，false表示不存在
        :type Data: bool
        :param _ExistsType: 任务名重复类型（0:未重复, 1:开发态重复, 2:生产态重复）
        :type ExistsType: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._ExistsType = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true表示存在，false表示不存在
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def ExistsType(self):
        r"""任务名重复类型（0:未重复, 1:开发态重复, 2:生产态重复）
        :rtype: int
        """
        return self._ExistsType

    @ExistsType.setter
    def ExistsType(self, ExistsType):
        self._ExistsType = ExistsType

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._ExistsType = params.get("ExistsType")
        self._RequestId = params.get("RequestId")


class CheckTaskNameExistRequest(AbstractModel):
    r"""CheckTaskNameExist请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id/工作空间id
        :type ProjectId: str
        :param _TypeId: 任务类型（跟调度传参保持一致27）
        :type TypeId: int
        :param _TaskName: 任务名
        :type TaskName: str
        """
        self._ProjectId = None
        self._TypeId = None
        self._TaskName = None

    @property
    def ProjectId(self):
        r"""项目id/工作空间id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TypeId(self):
        r"""任务类型（跟调度传参保持一致27）
        :rtype: int
        """
        return self._TypeId

    @TypeId.setter
    def TypeId(self, TypeId):
        self._TypeId = TypeId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TypeId = params.get("TypeId")
        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 CheckTaskNameExistResponse(AbstractModel):
    r"""CheckTaskNameExist返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CodeTemplateDetail(AbstractModel):
    r"""模版详情

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _CodeTemplateName: 模版名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeTemplateName: str
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: int
        :param _CodeTemplateDesc: 代码模版描述
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeTemplateDesc: str
        :param _FolderId: 文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _InCharge: 责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _InChargeId: 责任人id
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _Ext: 扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Ext: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        :param _CodeTemplateId: 模版id
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeTemplateId: str
        :param _LastUpdateTime: 最后更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdateTime: str
        :param _UpdateUser: 更新人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUser: str
        :param _UpdateUserId: 更新人id
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _BrokerIp: 执行ip
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _ResourceGroup: 资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        :param _Submit: 是否提交
注意：此字段可能返回 null，表示取不到有效值。
        :type Submit: bool
        :param _ScriptChange: 模版脚本是否发生变化
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptChange: bool
        :param _Content: 代码模版脚本，base64编码返回
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: str
        """
        self._ProjectId = None
        self._CodeTemplateName = None
        self._TaskType = None
        self._CodeTemplateDesc = None
        self._FolderId = None
        self._FolderName = None
        self._InCharge = None
        self._InChargeId = None
        self._Ext = None
        self._CodeTemplateId = None
        self._LastUpdateTime = None
        self._UpdateUser = None
        self._UpdateUserId = None
        self._BrokerIp = None
        self._ResourceGroup = None
        self._Submit = None
        self._ScriptChange = None
        self._Content = None

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateName(self):
        r"""模版名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeTemplateName

    @CodeTemplateName.setter
    def CodeTemplateName(self, CodeTemplateName):
        self._CodeTemplateName = CodeTemplateName

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def CodeTemplateDesc(self):
        r"""代码模版描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeTemplateDesc

    @CodeTemplateDesc.setter
    def CodeTemplateDesc(self, CodeTemplateDesc):
        self._CodeTemplateDesc = CodeTemplateDesc

    @property
    def FolderId(self):
        r"""文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def InCharge(self):
        r"""责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def InChargeId(self):
        r"""责任人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def Ext(self):
        r"""扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        """
        return self._Ext

    @Ext.setter
    def Ext(self, Ext):
        self._Ext = Ext

    @property
    def CodeTemplateId(self):
        r"""模版id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId

    @property
    def LastUpdateTime(self):
        r"""最后更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdateTime

    @LastUpdateTime.setter
    def LastUpdateTime(self, LastUpdateTime):
        self._LastUpdateTime = LastUpdateTime

    @property
    def UpdateUser(self):
        r"""更新人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUser

    @UpdateUser.setter
    def UpdateUser(self, UpdateUser):
        self._UpdateUser = UpdateUser

    @property
    def UpdateUserId(self):
        r"""更新人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def BrokerIp(self):
        r"""执行ip
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def ResourceGroup(self):
        r"""资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def Submit(self):
        r"""是否提交
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Submit

    @Submit.setter
    def Submit(self, Submit):
        self._Submit = Submit

    @property
    def ScriptChange(self):
        r"""模版脚本是否发生变化
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ScriptChange

    @ScriptChange.setter
    def ScriptChange(self, ScriptChange):
        self._ScriptChange = ScriptChange

    @property
    def Content(self):
        r"""代码模版脚本，base64编码返回
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateName = params.get("CodeTemplateName")
        self._TaskType = params.get("TaskType")
        self._CodeTemplateDesc = params.get("CodeTemplateDesc")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._InCharge = params.get("InCharge")
        self._InChargeId = params.get("InChargeId")
        if params.get("Ext") is not None:
            self._Ext = TaskExtDsVO()
            self._Ext._deserialize(params.get("Ext"))
        self._CodeTemplateId = params.get("CodeTemplateId")
        self._LastUpdateTime = params.get("LastUpdateTime")
        self._UpdateUser = params.get("UpdateUser")
        self._UpdateUserId = params.get("UpdateUserId")
        self._BrokerIp = params.get("BrokerIp")
        self._ResourceGroup = params.get("ResourceGroup")
        self._Submit = params.get("Submit")
        self._ScriptChange = params.get("ScriptChange")
        self._Content = params.get("Content")
        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 CollectionFolderOpsDto(AbstractModel):
    r"""文件夹列表

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 总页面数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页面数量
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 每页数量
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of FolderOpsDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""总页面数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页面数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FolderOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = FolderOpsDto()
                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 CollectionInstanceOpsDto(AbstractModel):
    r"""实例列表结构体

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 总页面数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页面数量
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 每页数量
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 实例信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of InstanceOpsDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""总页面数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页面数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""实例信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = InstanceOpsDto()
                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 ColumnAggregationLineage(AbstractModel):
    r"""列血缘聚合信息

    """

    def __init__(self):
        r"""
        :param _TableName: 表名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _ParentId: 父节点ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentId: str
        :param _MetastoreType: 元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _ParentSet: 字符串类型的父节点集合
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: str
        :param _ChildSet: 字符串类型的子节点集合
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: str
        :param _ColumnInfoSet: 列信息集合
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnInfoSet: list of SimpleColumnInfo
        """
        self._TableName = None
        self._ParentId = None
        self._MetastoreType = None
        self._ParentSet = None
        self._ChildSet = None
        self._ColumnInfoSet = None

    @property
    def TableName(self):
        r"""表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ParentId(self):
        r"""父节点ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentId

    @ParentId.setter
    def ParentId(self, ParentId):
        self._ParentId = ParentId

    @property
    def MetastoreType(self):
        r"""元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def ParentSet(self):
        r"""字符串类型的父节点集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""字符串类型的子节点集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def ColumnInfoSet(self):
        r"""列信息集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SimpleColumnInfo
        """
        return self._ColumnInfoSet

    @ColumnInfoSet.setter
    def ColumnInfoSet(self, ColumnInfoSet):
        self._ColumnInfoSet = ColumnInfoSet


    def _deserialize(self, params):
        self._TableName = params.get("TableName")
        self._ParentId = params.get("ParentId")
        self._MetastoreType = params.get("MetastoreType")
        self._ParentSet = params.get("ParentSet")
        self._ChildSet = params.get("ChildSet")
        if params.get("ColumnInfoSet") is not None:
            self._ColumnInfoSet = []
            for item in params.get("ColumnInfoSet"):
                obj = SimpleColumnInfo()
                obj._deserialize(item)
                self._ColumnInfoSet.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 ColumnBasicInfo(AbstractModel):
    r"""表的元数据信息

    """

    def __init__(self):
        r"""
        :param _TableId: 表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _DatasourceId: 数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseId: 数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _ColumnName: 字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnName: str
        :param _DataType: 数据类型,string/int等
注意：此字段可能返回 null，表示取不到有效值。
        :type DataType: str
        :param _ColumnType: 字段类型, varchar(32)/int(10)等
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnType: str
        :param _ColumnDefault: 字段默认值
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnDefault: str
        :param _ColumnKey: 索引类型, PRI/MUL/PARTITION等,普通字段该值为空串
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnKey: str
        :param _ColumnPosition: 字段顺序标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnPosition: int
        :param _ColumnComment: 字段注释
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnComment: str
        :param _StoreType: 数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type StoreType: str
        :param _ProjectId: 所属项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectDisplayName: 所属项目中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Scale: 精度
注意：此字段可能返回 null，表示取不到有效值。
        :type Scale: int
        """
        self._TableId = None
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatabaseId = None
        self._DatabaseName = None
        self._TableName = None
        self._ColumnName = None
        self._DataType = None
        self._ColumnType = None
        self._ColumnDefault = None
        self._ColumnKey = None
        self._ColumnPosition = None
        self._ColumnComment = None
        self._StoreType = None
        self._ProjectId = None
        self._ProjectName = None
        self._ProjectDisplayName = None
        self._CreateTime = None
        self._UpdateTime = None
        self._Scale = None

    @property
    def TableId(self):
        r"""表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def DatasourceId(self):
        r"""数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseId(self):
        r"""数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ColumnName(self):
        r"""字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def DataType(self):
        r"""数据类型,string/int等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataType

    @DataType.setter
    def DataType(self, DataType):
        self._DataType = DataType

    @property
    def ColumnType(self):
        r"""字段类型, varchar(32)/int(10)等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnType

    @ColumnType.setter
    def ColumnType(self, ColumnType):
        self._ColumnType = ColumnType

    @property
    def ColumnDefault(self):
        r"""字段默认值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnDefault

    @ColumnDefault.setter
    def ColumnDefault(self, ColumnDefault):
        self._ColumnDefault = ColumnDefault

    @property
    def ColumnKey(self):
        r"""索引类型, PRI/MUL/PARTITION等,普通字段该值为空串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnKey

    @ColumnKey.setter
    def ColumnKey(self, ColumnKey):
        self._ColumnKey = ColumnKey

    @property
    def ColumnPosition(self):
        r"""字段顺序标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ColumnPosition

    @ColumnPosition.setter
    def ColumnPosition(self, ColumnPosition):
        self._ColumnPosition = ColumnPosition

    @property
    def ColumnComment(self):
        r"""字段注释
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnComment

    @ColumnComment.setter
    def ColumnComment(self, ColumnComment):
        self._ColumnComment = ColumnComment

    @property
    def StoreType(self):
        r"""数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StoreType

    @StoreType.setter
    def StoreType(self, StoreType):
        self._StoreType = StoreType

    @property
    def ProjectId(self):
        r"""所属项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectDisplayName(self):
        r"""所属项目中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Scale(self):
        r"""精度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Scale

    @Scale.setter
    def Scale(self, Scale):
        self._Scale = Scale


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._ColumnName = params.get("ColumnName")
        self._DataType = params.get("DataType")
        self._ColumnType = params.get("ColumnType")
        self._ColumnDefault = params.get("ColumnDefault")
        self._ColumnKey = params.get("ColumnKey")
        self._ColumnPosition = params.get("ColumnPosition")
        self._ColumnComment = params.get("ColumnComment")
        self._StoreType = params.get("StoreType")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._Scale = params.get("Scale")
        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 ColumnData(AbstractModel):
    r"""ColumnItem

    """

    def __init__(self):
        r"""
        :param _EventName: ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        :param _EventProjectName: ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :type EventProjectName: str
        :param _Type: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _CurRunDate: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _TaskId: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _State: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type State: str
        :param _EventType: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type EventType: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        """
        self._EventName = None
        self._EventProjectName = None
        self._Type = None
        self._CurRunDate = None
        self._TaskId = None
        self._State = None
        self._EventType = None
        self._TaskName = None
        self._ProjectName = None
        self._ProjectId = None

    @property
    def EventName(self):
        r"""ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def EventProjectName(self):
        r"""ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventProjectName

    @EventProjectName.setter
    def EventProjectName(self, EventProjectName):
        self._EventProjectName = EventProjectName

    @property
    def Type(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def CurRunDate(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def TaskId(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def State(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def EventType(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        self._EventType = EventType

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._EventName = params.get("EventName")
        self._EventProjectName = params.get("EventProjectName")
        self._Type = params.get("Type")
        self._CurRunDate = params.get("CurRunDate")
        self._TaskId = params.get("TaskId")
        self._State = params.get("State")
        self._EventType = params.get("EventType")
        self._TaskName = params.get("TaskName")
        self._ProjectName = params.get("ProjectName")
        self._ProjectId = params.get("ProjectId")
        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 ColumnItem(AbstractModel):
    r"""ColumnItem

    """

    def __init__(self):
        r"""
        :param _ColumnName: ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnName: str
        :param _ColumnRef: ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnRef: str
        """
        self._ColumnName = None
        self._ColumnRef = None

    @property
    def ColumnName(self):
        r"""ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def ColumnRef(self):
        r"""ColumnName1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnRef

    @ColumnRef.setter
    def ColumnRef(self, ColumnRef):
        self._ColumnRef = ColumnRef


    def _deserialize(self, params):
        self._ColumnName = params.get("ColumnName")
        self._ColumnRef = params.get("ColumnRef")
        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 ColumnLineage(AbstractModel):
    r"""列血缘节点

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _DatabaseName: database 名称
        :type DatabaseName: str
        :param _TableName: 表名称
        :type TableName: str
        :param _ColumnName: 列名称
        :type ColumnName: str
        :param _CatalogName: catalog 名称
        :type CatalogName: str
        :param _SchemaName: schema 名称
        :type SchemaName: str
        :param _ExtParams: 扩展参数
        :type ExtParams: list of ExtParam
        :param _TableType: 表类型
        :type TableType: str
        :param _ColumnType: 列类型
        :type ColumnType: str
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._TableName = None
        self._ColumnName = None
        self._CatalogName = None
        self._SchemaName = None
        self._ExtParams = None
        self._TableType = None
        self._ColumnType = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database 名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ColumnName(self):
        r"""列名称
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def CatalogName(self):
        r"""catalog 名称
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def SchemaName(self):
        r"""schema 名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def ExtParams(self):
        r"""扩展参数
        :rtype: list of ExtParam
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def TableType(self):
        r"""表类型
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType

    @property
    def ColumnType(self):
        r"""列类型
        :rtype: str
        """
        return self._ColumnType

    @ColumnType.setter
    def ColumnType(self, ColumnType):
        self._ColumnType = ColumnType


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._ColumnName = params.get("ColumnName")
        self._CatalogName = params.get("CatalogName")
        self._SchemaName = params.get("SchemaName")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = ExtParam()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._TableType = params.get("TableType")
        self._ColumnType = params.get("ColumnType")
        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 ColumnLineageInfo(AbstractModel):
    r"""血缘字段信息

    """

    def __init__(self):
        r"""
        :param _Id: 血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _ColumnName: 字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnName: str
        :param _ColumnNameCn: 字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnNameCn: str
        :param _ColumnType: 字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnType: str
        :param _RelationParams: 关系参数
注意：此字段可能返回 null，表示取不到有效值。
        :type RelationParams: str
        :param _Params: 参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _ParentId: 父id
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentId: str
        :param _MetastoreType: 元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _MetastoreTypeName: 元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreTypeName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _QualifiedName: 字段全名称
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedName: str
        :param _DownStreamCount: 下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _Description: 描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _PrefixPath: 由中心节点出发的路径信息
注意：此字段可能返回 null，表示取不到有效值。
        :type PrefixPath: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _Tasks: 任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of str
        :param _ParentSet: 父节点列表字符串
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: str
        :param _ChildSet: 子节点列表字符串
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: str
        :param _ExtParams: 额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtParams: list of LineageParamRecord
        :param _TableId: 表ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        """
        self._Id = None
        self._DatasourceId = None
        self._ColumnName = None
        self._ColumnNameCn = None
        self._ColumnType = None
        self._RelationParams = None
        self._Params = None
        self._ParentId = None
        self._MetastoreType = None
        self._MetastoreTypeName = None
        self._TableName = None
        self._QualifiedName = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._Description = None
        self._PrefixPath = None
        self._CreateTime = None
        self._ModifyTime = None
        self._Tasks = None
        self._ParentSet = None
        self._ChildSet = None
        self._ExtParams = None
        self._TableId = None

    @property
    def Id(self):
        r"""血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ColumnName(self):
        r"""字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def ColumnNameCn(self):
        r"""字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnNameCn

    @ColumnNameCn.setter
    def ColumnNameCn(self, ColumnNameCn):
        self._ColumnNameCn = ColumnNameCn

    @property
    def ColumnType(self):
        r"""字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnType

    @ColumnType.setter
    def ColumnType(self, ColumnType):
        self._ColumnType = ColumnType

    @property
    def RelationParams(self):
        r"""关系参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RelationParams

    @RelationParams.setter
    def RelationParams(self, RelationParams):
        self._RelationParams = RelationParams

    @property
    def Params(self):
        r"""参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def ParentId(self):
        r"""父id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentId

    @ParentId.setter
    def ParentId(self, ParentId):
        self._ParentId = ParentId

    @property
    def MetastoreType(self):
        r"""元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def MetastoreTypeName(self):
        r"""元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreTypeName

    @MetastoreTypeName.setter
    def MetastoreTypeName(self, MetastoreTypeName):
        self._MetastoreTypeName = MetastoreTypeName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def QualifiedName(self):
        r"""字段全名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedName

    @QualifiedName.setter
    def QualifiedName(self, QualifiedName):
        self._QualifiedName = QualifiedName

    @property
    def DownStreamCount(self):
        r"""下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def Description(self):
        r"""描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def PrefixPath(self):
        r"""由中心节点出发的路径信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrefixPath

    @PrefixPath.setter
    def PrefixPath(self, PrefixPath):
        self._PrefixPath = PrefixPath

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def Tasks(self):
        r"""任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def ParentSet(self):
        r"""父节点列表字符串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""子节点列表字符串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def ExtParams(self):
        r"""额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageParamRecord
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def TableId(self):
        r"""表ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._DatasourceId = params.get("DatasourceId")
        self._ColumnName = params.get("ColumnName")
        self._ColumnNameCn = params.get("ColumnNameCn")
        self._ColumnType = params.get("ColumnType")
        self._RelationParams = params.get("RelationParams")
        self._Params = params.get("Params")
        self._ParentId = params.get("ParentId")
        self._MetastoreType = params.get("MetastoreType")
        self._MetastoreTypeName = params.get("MetastoreTypeName")
        self._TableName = params.get("TableName")
        self._QualifiedName = params.get("QualifiedName")
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        self._Description = params.get("Description")
        self._PrefixPath = params.get("PrefixPath")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._Tasks = params.get("Tasks")
        self._ParentSet = params.get("ParentSet")
        self._ChildSet = params.get("ChildSet")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = LineageParamRecord()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._TableId = params.get("TableId")
        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 ColumnLineagePair(AbstractModel):
    r"""列血缘对

    """

    def __init__(self):
        r"""
        :param _Sources: 列血缘来源方
        :type Sources: list of ColumnLineage
        :param _Target: 列血缘目标方
        :type Target: :class:`tencentcloud.wedata.v20210820.models.ColumnLineage`
        """
        self._Sources = None
        self._Target = None

    @property
    def Sources(self):
        r"""列血缘来源方
        :rtype: list of ColumnLineage
        """
        return self._Sources

    @Sources.setter
    def Sources(self, Sources):
        self._Sources = Sources

    @property
    def Target(self):
        r"""列血缘目标方
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ColumnLineage`
        """
        return self._Target

    @Target.setter
    def Target(self, Target):
        self._Target = Target


    def _deserialize(self, params):
        if params.get("Sources") is not None:
            self._Sources = []
            for item in params.get("Sources"):
                obj = ColumnLineage()
                obj._deserialize(item)
                self._Sources.append(obj)
        if params.get("Target") is not None:
            self._Target = ColumnLineage()
            self._Target._deserialize(params.get("Target"))
        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 ColumnMeta(AbstractModel):
    r"""列的元数据

    """

    def __init__(self):
        r"""
        :param _NameEn: 字段英文名称
注意：此字段可能返回 null，表示取不到有效值。
        :type NameEn: str
        :param _NameCn: 字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :type NameCn: str
        :param _Type: 字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Description: 字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Position: 字段序号
注意：此字段可能返回 null，表示取不到有效值。
        :type Position: int
        :param _IsPartition: 是否为分区字段
注意：此字段可能返回 null，表示取不到有效值。
        :type IsPartition: bool
        :param _Name: 字段名
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ColumnFamiliesFieldSet: HBase列簇属性集合
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnFamiliesFieldSet: list of Pair
        :param _DictionaryId: 对应码表字典ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DictionaryId: str
        :param _DictionaryName: 对应码表字典名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DictionaryName: str
        :param _LevelName: 安全等级：名称
注意：此字段可能返回 null，表示取不到有效值。
        :type LevelName: str
        :param _LevelRank: 安全等级：值范围1-10
注意：此字段可能返回 null，表示取不到有效值。
        :type LevelRank: int
        :param _InfluxCategory: influxdb字段类别
注意：此字段可能返回 null，表示取不到有效值。
        :type InfluxCategory: str
        :param _Specification: 字段使用说明
注意：此字段可能返回 null，表示取不到有效值。
        :type Specification: str
        :param _CategoryName: 目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CategoryName: str
        :param _OriginType: 源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginType: str
        :param _IndicatorBase: 列绑定的指标信息
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorBase: :class:`tencentcloud.wedata.v20210820.models.IndicatorBaseSimpleInfo`
        :param _AssetDim: 列绑定的维度信息
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetDim: :class:`tencentcloud.wedata.v20210820.models.AssetDim`
        """
        self._NameEn = None
        self._NameCn = None
        self._Type = None
        self._Description = None
        self._Position = None
        self._IsPartition = None
        self._Name = None
        self._ColumnFamiliesFieldSet = None
        self._DictionaryId = None
        self._DictionaryName = None
        self._LevelName = None
        self._LevelRank = None
        self._InfluxCategory = None
        self._Specification = None
        self._CategoryName = None
        self._OriginType = None
        self._IndicatorBase = None
        self._AssetDim = None

    @property
    def NameEn(self):
        r"""字段英文名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameEn

    @NameEn.setter
    def NameEn(self, NameEn):
        self._NameEn = NameEn

    @property
    def NameCn(self):
        r"""字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameCn

    @NameCn.setter
    def NameCn(self, NameCn):
        self._NameCn = NameCn

    @property
    def Type(self):
        r"""字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Description(self):
        r"""字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Position(self):
        r"""字段序号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Position

    @Position.setter
    def Position(self, Position):
        self._Position = Position

    @property
    def IsPartition(self):
        r"""是否为分区字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsPartition

    @IsPartition.setter
    def IsPartition(self, IsPartition):
        self._IsPartition = IsPartition

    @property
    def Name(self):
        r"""字段名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ColumnFamiliesFieldSet(self):
        r"""HBase列簇属性集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Pair
        """
        return self._ColumnFamiliesFieldSet

    @ColumnFamiliesFieldSet.setter
    def ColumnFamiliesFieldSet(self, ColumnFamiliesFieldSet):
        self._ColumnFamiliesFieldSet = ColumnFamiliesFieldSet

    @property
    def DictionaryId(self):
        r"""对应码表字典ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DictionaryId

    @DictionaryId.setter
    def DictionaryId(self, DictionaryId):
        self._DictionaryId = DictionaryId

    @property
    def DictionaryName(self):
        r"""对应码表字典名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DictionaryName

    @DictionaryName.setter
    def DictionaryName(self, DictionaryName):
        self._DictionaryName = DictionaryName

    @property
    def LevelName(self):
        r"""安全等级：名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LevelName

    @LevelName.setter
    def LevelName(self, LevelName):
        self._LevelName = LevelName

    @property
    def LevelRank(self):
        r"""安全等级：值范围1-10
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LevelRank

    @LevelRank.setter
    def LevelRank(self, LevelRank):
        self._LevelRank = LevelRank

    @property
    def InfluxCategory(self):
        r"""influxdb字段类别
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InfluxCategory

    @InfluxCategory.setter
    def InfluxCategory(self, InfluxCategory):
        self._InfluxCategory = InfluxCategory

    @property
    def Specification(self):
        r"""字段使用说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Specification

    @Specification.setter
    def Specification(self, Specification):
        self._Specification = Specification

    @property
    def CategoryName(self):
        r"""目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CategoryName

    @CategoryName.setter
    def CategoryName(self, CategoryName):
        self._CategoryName = CategoryName

    @property
    def OriginType(self):
        r"""源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginType

    @OriginType.setter
    def OriginType(self, OriginType):
        self._OriginType = OriginType

    @property
    def IndicatorBase(self):
        r"""列绑定的指标信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IndicatorBaseSimpleInfo`
        """
        return self._IndicatorBase

    @IndicatorBase.setter
    def IndicatorBase(self, IndicatorBase):
        self._IndicatorBase = IndicatorBase

    @property
    def AssetDim(self):
        r"""列绑定的维度信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AssetDim`
        """
        return self._AssetDim

    @AssetDim.setter
    def AssetDim(self, AssetDim):
        self._AssetDim = AssetDim


    def _deserialize(self, params):
        self._NameEn = params.get("NameEn")
        self._NameCn = params.get("NameCn")
        self._Type = params.get("Type")
        self._Description = params.get("Description")
        self._Position = params.get("Position")
        self._IsPartition = params.get("IsPartition")
        self._Name = params.get("Name")
        if params.get("ColumnFamiliesFieldSet") is not None:
            self._ColumnFamiliesFieldSet = []
            for item in params.get("ColumnFamiliesFieldSet"):
                obj = Pair()
                obj._deserialize(item)
                self._ColumnFamiliesFieldSet.append(obj)
        self._DictionaryId = params.get("DictionaryId")
        self._DictionaryName = params.get("DictionaryName")
        self._LevelName = params.get("LevelName")
        self._LevelRank = params.get("LevelRank")
        self._InfluxCategory = params.get("InfluxCategory")
        self._Specification = params.get("Specification")
        self._CategoryName = params.get("CategoryName")
        self._OriginType = params.get("OriginType")
        if params.get("IndicatorBase") is not None:
            self._IndicatorBase = IndicatorBaseSimpleInfo()
            self._IndicatorBase._deserialize(params.get("IndicatorBase"))
        if params.get("AssetDim") is not None:
            self._AssetDim = AssetDim()
            self._AssetDim._deserialize(params.get("AssetDim"))
        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 ColumnValueConfig(AbstractModel):
    r"""字段值变量

    """

    def __init__(self):
        r"""
        :param _FieldKey: 字段值key
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldKey: str
        :param _FieldValue: 字段值
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldValue: str
        :param _FieldDataType: 字段值类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldDataType: str
        """
        self._FieldKey = None
        self._FieldValue = None
        self._FieldDataType = None

    @property
    def FieldKey(self):
        r"""字段值key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldKey

    @FieldKey.setter
    def FieldKey(self, FieldKey):
        self._FieldKey = FieldKey

    @property
    def FieldValue(self):
        r"""字段值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldValue

    @FieldValue.setter
    def FieldValue(self, FieldValue):
        self._FieldValue = FieldValue

    @property
    def FieldDataType(self):
        r"""字段值类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldDataType

    @FieldDataType.setter
    def FieldDataType(self, FieldDataType):
        self._FieldDataType = FieldDataType


    def _deserialize(self, params):
        self._FieldKey = params.get("FieldKey")
        self._FieldValue = params.get("FieldValue")
        self._FieldDataType = params.get("FieldDataType")
        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 CommitIntegrationTaskRequest(AbstractModel):
    r"""CommitIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: <p>任务id</p>
        :type TaskId: str
        :param _ProjectId: <p>项目id</p>
        :type ProjectId: str
        :param _CommitType: <p>0.仅提交，1.立即启动，2.停止线上作业，丢弃作业状态数据，重新启动运行，3.暂停线上作业，保留作业状态数据，继续运行，4.保留作业状态数据，继续运行</p>
        :type CommitType: int
        :param _TaskType: <p>实时任务 201   离线任务 202  默认实时任务</p>
        :type TaskType: int
        :param _ExtConfig: <p>额外参数</p>
        :type ExtConfig: list of RecordField
        :param _VersionDesc: <p>提交版本描述</p>
        :type VersionDesc: str
        :param _InstanceVersion: <p>提交版本号</p>
        :type InstanceVersion: int
        :param _EventDesc: <p>前端操作类型描述</p>
        :type EventDesc: str
        :param _CurrentStatus: <p>提交时任务状态</p><p>枚举值：</p><ul><li>3： 运行中</li></ul>
        :type CurrentStatus: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._CommitType = None
        self._TaskType = None
        self._ExtConfig = None
        self._VersionDesc = None
        self._InstanceVersion = None
        self._EventDesc = None
        self._CurrentStatus = None

    @property
    def TaskId(self):
        r"""<p>任务id</p>
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CommitType(self):
        r"""<p>0.仅提交，1.立即启动，2.停止线上作业，丢弃作业状态数据，重新启动运行，3.暂停线上作业，保留作业状态数据，继续运行，4.保留作业状态数据，继续运行</p>
        :rtype: int
        """
        return self._CommitType

    @CommitType.setter
    def CommitType(self, CommitType):
        self._CommitType = CommitType

    @property
    def TaskType(self):
        r"""<p>实时任务 201   离线任务 202  默认实时任务</p>
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ExtConfig(self):
        r"""<p>额外参数</p>
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def VersionDesc(self):
        r"""<p>提交版本描述</p>
        :rtype: str
        """
        return self._VersionDesc

    @VersionDesc.setter
    def VersionDesc(self, VersionDesc):
        self._VersionDesc = VersionDesc

    @property
    def InstanceVersion(self):
        r"""<p>提交版本号</p>
        :rtype: int
        """
        return self._InstanceVersion

    @InstanceVersion.setter
    def InstanceVersion(self, InstanceVersion):
        self._InstanceVersion = InstanceVersion

    @property
    def EventDesc(self):
        r"""<p>前端操作类型描述</p>
        :rtype: str
        """
        return self._EventDesc

    @EventDesc.setter
    def EventDesc(self, EventDesc):
        self._EventDesc = EventDesc

    @property
    def CurrentStatus(self):
        r"""<p>提交时任务状态</p><p>枚举值：</p><ul><li>3： 运行中</li></ul>
        :rtype: int
        """
        return self._CurrentStatus

    @CurrentStatus.setter
    def CurrentStatus(self, CurrentStatus):
        self._CurrentStatus = CurrentStatus


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._CommitType = params.get("CommitType")
        self._TaskType = params.get("TaskType")
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        self._VersionDesc = params.get("VersionDesc")
        self._InstanceVersion = params.get("InstanceVersion")
        self._EventDesc = params.get("EventDesc")
        self._CurrentStatus = params.get("CurrentStatus")
        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 CommitIntegrationTaskResponse(AbstractModel):
    r"""CommitIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: <p>操作成功与否标识</p>
        :type Data: bool
        :param _DataDto: <p>数据结构</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DataDto: :class:`tencentcloud.wedata.v20210820.models.CommitTaskDataDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._DataDto = None
        self._RequestId = None

    @property
    def Data(self):
        r"""<p>操作成功与否标识</p>
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def DataDto(self):
        r"""<p>数据结构</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CommitTaskDataDto`
        """
        return self._DataDto

    @DataDto.setter
    def DataDto(self, DataDto):
        self._DataDto = DataDto

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        if params.get("DataDto") is not None:
            self._DataDto = CommitTaskDataDto()
            self._DataDto._deserialize(params.get("DataDto"))
        self._RequestId = params.get("RequestId")


class CommitRuleGroupTaskRequest(AbstractModel):
    r"""CommitRuleGroupTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _TriggerType: 触发类型 1.手动触发 2.调度事中触发 3.周期调度触发
        :type TriggerType: int
        :param _ExecRuleConfig: 规则配置列表
        :type ExecRuleConfig: list of RuleConfig
        :param _ExecConfig: 执行配置
        :type ExecConfig: :class:`tencentcloud.wedata.v20210820.models.RuleExecConfig`
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _EngineType: 该规则运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :type EngineType: str
        """
        self._RuleGroupId = None
        self._TriggerType = None
        self._ExecRuleConfig = None
        self._ExecConfig = None
        self._ProjectId = None
        self._EngineType = None

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def TriggerType(self):
        r"""触发类型 1.手动触发 2.调度事中触发 3.周期调度触发
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def ExecRuleConfig(self):
        r"""规则配置列表
        :rtype: list of RuleConfig
        """
        return self._ExecRuleConfig

    @ExecRuleConfig.setter
    def ExecRuleConfig(self, ExecRuleConfig):
        self._ExecRuleConfig = ExecRuleConfig

    @property
    def ExecConfig(self):
        r"""执行配置
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecConfig`
        """
        return self._ExecConfig

    @ExecConfig.setter
    def ExecConfig(self, ExecConfig):
        self._ExecConfig = ExecConfig

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def EngineType(self):
        r"""该规则运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._TriggerType = params.get("TriggerType")
        if params.get("ExecRuleConfig") is not None:
            self._ExecRuleConfig = []
            for item in params.get("ExecRuleConfig"):
                obj = RuleConfig()
                obj._deserialize(item)
                self._ExecRuleConfig.append(obj)
        if params.get("ExecConfig") is not None:
            self._ExecConfig = RuleExecConfig()
            self._ExecConfig._deserialize(params.get("ExecConfig"))
        self._ProjectId = params.get("ProjectId")
        self._EngineType = params.get("EngineType")
        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 CommitRuleGroupTaskResponse(AbstractModel):
    r"""CommitRuleGroupTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组执行id
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecResult`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组执行id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecResult`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupExecResult()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class CommitTaskDataDto(AbstractModel):
    r"""提交任务数据结构

    """

    def __init__(self):
        r"""
        :param _TaskApproveId: 任务审批ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskApproveId: str
        """
        self._TaskApproveId = None

    @property
    def TaskApproveId(self):
        r"""任务审批ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskApproveId

    @TaskApproveId.setter
    def TaskApproveId(self, TaskApproveId):
        self._TaskApproveId = TaskApproveId


    def _deserialize(self, params):
        self._TaskApproveId = params.get("TaskApproveId")
        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 CommonContent(AbstractModel):
    r"""内容详情

    """

    def __init__(self):
        r"""
        :param _Content: 详情内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: str
        """
        self._Content = None

    @property
    def Content(self):
        r"""详情内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content


    def _deserialize(self, params):
        self._Content = params.get("Content")
        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 CommonId(AbstractModel):
    r"""Id包装对象

    """

    def __init__(self):
        r"""
        :param _Id: Id值
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        """
        self._Id = None

    @property
    def Id(self):
        r"""Id值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id


    def _deserialize(self, params):
        self._Id = params.get("Id")
        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 CommonIdOpsDto(AbstractModel):
    r"""返回命令id

    """

    def __init__(self):
        r"""
        :param _Id: 返回补录计划名称_ok
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _MakeId: 补录计划Id
注意：此字段可能返回 null，表示取不到有效值。
        :type MakeId: str
        """
        self._Id = None
        self._MakeId = None

    @property
    def Id(self):
        r"""返回补录计划名称_ok
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def MakeId(self):
        r"""补录计划Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MakeId

    @MakeId.setter
    def MakeId(self, MakeId):
        self._MakeId = MakeId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._MakeId = params.get("MakeId")
        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 CompareResult(AbstractModel):
    r"""质量检查对比结果

    """

    def __init__(self):
        r"""
        :param _Items: 对比结果项列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of CompareResultItem
        :param _TotalRows: 检测总行数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRows: int
        :param _PassRows: 检测通过行数
注意：此字段可能返回 null，表示取不到有效值。
        :type PassRows: int
        :param _TriggerRows: 检测不通过行数
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerRows: int
        :param _ComputeExpression: 比较关系
注意：此字段可能返回 null，表示取不到有效值。
        :type ComputeExpression: str
        """
        self._Items = None
        self._TotalRows = None
        self._PassRows = None
        self._TriggerRows = None
        self._ComputeExpression = None

    @property
    def Items(self):
        r"""对比结果项列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of CompareResultItem
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalRows(self):
        r"""检测总行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRows

    @TotalRows.setter
    def TotalRows(self, TotalRows):
        self._TotalRows = TotalRows

    @property
    def PassRows(self):
        r"""检测通过行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PassRows

    @PassRows.setter
    def PassRows(self, PassRows):
        self._PassRows = PassRows

    @property
    def TriggerRows(self):
        r"""检测不通过行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TriggerRows

    @TriggerRows.setter
    def TriggerRows(self, TriggerRows):
        self._TriggerRows = TriggerRows

    @property
    def ComputeExpression(self):
        r"""比较关系
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComputeExpression

    @ComputeExpression.setter
    def ComputeExpression(self, ComputeExpression):
        self._ComputeExpression = ComputeExpression


    def _deserialize(self, params):
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = CompareResultItem()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalRows = params.get("TotalRows")
        self._PassRows = params.get("PassRows")
        self._TriggerRows = params.get("TriggerRows")
        self._ComputeExpression = params.get("ComputeExpression")
        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 CompareResultItem(AbstractModel):
    r"""对比结果项

    """

    def __init__(self):
        r"""
        :param _FixResult: 对比结果， 1为真 2为假
注意：此字段可能返回 null，表示取不到有效值。
        :type FixResult: int
        :param _ResultValue: 质量sql执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultValue: str
        :param _Values: 阈值列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Values: list of ThresholdValue
        :param _Operator: 比较操作类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _CompareType: 比较类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CompareType: int
        :param _ValueComputeType: 值比较类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueComputeType: int
        """
        self._FixResult = None
        self._ResultValue = None
        self._Values = None
        self._Operator = None
        self._CompareType = None
        self._ValueComputeType = None

    @property
    def FixResult(self):
        r"""对比结果， 1为真 2为假
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FixResult

    @FixResult.setter
    def FixResult(self, FixResult):
        self._FixResult = FixResult

    @property
    def ResultValue(self):
        r"""质量sql执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResultValue

    @ResultValue.setter
    def ResultValue(self, ResultValue):
        self._ResultValue = ResultValue

    @property
    def Values(self):
        r"""阈值列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ThresholdValue
        """
        return self._Values

    @Values.setter
    def Values(self, Values):
        self._Values = Values

    @property
    def Operator(self):
        r"""比较操作类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def CompareType(self):
        r"""比较类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CompareType

    @CompareType.setter
    def CompareType(self, CompareType):
        self._CompareType = CompareType

    @property
    def ValueComputeType(self):
        r"""值比较类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ValueComputeType

    @ValueComputeType.setter
    def ValueComputeType(self, ValueComputeType):
        self._ValueComputeType = ValueComputeType


    def _deserialize(self, params):
        self._FixResult = params.get("FixResult")
        self._ResultValue = params.get("ResultValue")
        if params.get("Values") is not None:
            self._Values = []
            for item in params.get("Values"):
                obj = ThresholdValue()
                obj._deserialize(item)
                self._Values.append(obj)
        self._Operator = params.get("Operator")
        self._CompareType = params.get("CompareType")
        self._ValueComputeType = params.get("ValueComputeType")
        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 CompareRule(AbstractModel):
    r"""对比规则

    """

    def __init__(self):
        r"""
        :param _Items: 比较条件列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of CompareRuleItem
        :param _CycleStep: 周期性模板默认周期，单位秒
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _ComputeExpression: o 表示 或，a 表示 且，数字表示items下标
注意：此字段可能返回 null，表示取不到有效值。
        :type ComputeExpression: str
        """
        self._Items = None
        self._CycleStep = None
        self._ComputeExpression = None

    @property
    def Items(self):
        r"""比较条件列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of CompareRuleItem
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def CycleStep(self):
        r"""周期性模板默认周期，单位秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def ComputeExpression(self):
        r"""o 表示 或，a 表示 且，数字表示items下标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComputeExpression

    @ComputeExpression.setter
    def ComputeExpression(self, ComputeExpression):
        self._ComputeExpression = ComputeExpression


    def _deserialize(self, params):
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = CompareRuleItem()
                obj._deserialize(item)
                self._Items.append(obj)
        self._CycleStep = params.get("CycleStep")
        self._ComputeExpression = params.get("ComputeExpression")
        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 CompareRuleItem(AbstractModel):
    r"""比较条件

    """

    def __init__(self):
        r"""
        :param _CompareType: 比较类型 1.固定值  2.波动值  3.数值范围比较  4.枚举范围比较  5.不用比较
注意：此字段可能返回 null，表示取不到有效值。
        :type CompareType: int
        :param _Operator: 比较操作类型
<  <=  ==  =>  > !=
IRLCRO:在区间内(左闭右开)
IRLORC:在区间内(左开右闭)
IRLCRC:在区间内(左闭右闭)
IRLORO:在区间内(左开右开)
NRLCRO:不在区间内(左闭右开)
NRLORC:不在区间内(左开右闭)
NRLCRC:不在区间内(左闭右闭)
NRLORO:不在区间内(左开右开)
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _ValueComputeType: 质量统计值类型 1.绝对值  2.上升 3. 下降  4._C包含   5. N_C不包含
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueComputeType: int
        :param _ValueList: 比较阈值列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueList: list of ThresholdValue
        """
        self._CompareType = None
        self._Operator = None
        self._ValueComputeType = None
        self._ValueList = None

    @property
    def CompareType(self):
        r"""比较类型 1.固定值  2.波动值  3.数值范围比较  4.枚举范围比较  5.不用比较
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CompareType

    @CompareType.setter
    def CompareType(self, CompareType):
        self._CompareType = CompareType

    @property
    def Operator(self):
        r"""比较操作类型
<  <=  ==  =>  > !=
IRLCRO:在区间内(左闭右开)
IRLORC:在区间内(左开右闭)
IRLCRC:在区间内(左闭右闭)
IRLORO:在区间内(左开右开)
NRLCRO:不在区间内(左闭右开)
NRLORC:不在区间内(左开右闭)
NRLCRC:不在区间内(左闭右闭)
NRLORO:不在区间内(左开右开)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def ValueComputeType(self):
        r"""质量统计值类型 1.绝对值  2.上升 3. 下降  4._C包含   5. N_C不包含
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ValueComputeType

    @ValueComputeType.setter
    def ValueComputeType(self, ValueComputeType):
        self._ValueComputeType = ValueComputeType

    @property
    def ValueList(self):
        r"""比较阈值列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ThresholdValue
        """
        return self._ValueList

    @ValueList.setter
    def ValueList(self, ValueList):
        self._ValueList = ValueList


    def _deserialize(self, params):
        self._CompareType = params.get("CompareType")
        self._Operator = params.get("Operator")
        self._ValueComputeType = params.get("ValueComputeType")
        if params.get("ValueList") is not None:
            self._ValueList = []
            for item in params.get("ValueList"):
                obj = ThresholdValue()
                obj._deserialize(item)
                self._ValueList.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 Content(AbstractModel):
    r"""Content

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _Diagnose: 诊断
注意：此字段可能返回 null，表示取不到有效值。
        :type Diagnose: str
        :param _Reason: 理由
注意：此字段可能返回 null，表示取不到有效值。
        :type Reason: str
        :param _Operation: 操作
注意：此字段可能返回 null，表示取不到有效值。
        :type Operation: str
        :param _Url: 链接
注意：此字段可能返回 null，表示取不到有效值。
        :type Url: str
        """
        self._TaskId = None
        self._TaskName = None
        self._Diagnose = None
        self._Reason = None
        self._Operation = None
        self._Url = None

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def Diagnose(self):
        r"""诊断
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Diagnose

    @Diagnose.setter
    def Diagnose(self, Diagnose):
        self._Diagnose = Diagnose

    @property
    def Reason(self):
        r"""理由
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Reason

    @Reason.setter
    def Reason(self, Reason):
        self._Reason = Reason

    @property
    def Operation(self):
        r"""操作
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operation

    @Operation.setter
    def Operation(self, Operation):
        self._Operation = Operation

    @property
    def Url(self):
        r"""链接
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Url

    @Url.setter
    def Url(self, Url):
        self._Url = Url


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._Diagnose = params.get("Diagnose")
        self._Reason = params.get("Reason")
        self._Operation = params.get("Operation")
        self._Url = params.get("Url")
        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 CosTokenResponse(AbstractModel):
    r"""cos token信息

    """

    def __init__(self):
        r"""
        :param _Id: token id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _Token: token内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Token: str
        :param _SecretId: 密钥id
注意：此字段可能返回 null，表示取不到有效值。
        :type SecretId: str
        :param _SecretKey: 密钥内容
注意：此字段可能返回 null，表示取不到有效值。
        :type SecretKey: str
        :param _Response: 响应
注意：此字段可能返回 null，表示取不到有效值。
        :type Response: str
        :param _OwnerUin: 用户uin
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _ExpiredTime: 过期时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpiredTime: int
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: int
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: int
        :param _OperatorUin: 操作者uin
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUin: str
        """
        self._Id = None
        self._Token = None
        self._SecretId = None
        self._SecretKey = None
        self._Response = None
        self._OwnerUin = None
        self._ExpiredTime = None
        self._CreateTime = None
        self._UpdateTime = None
        self._OperatorUin = None

    @property
    def Id(self):
        r"""token id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Token(self):
        r"""token内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Token

    @Token.setter
    def Token(self, Token):
        self._Token = Token

    @property
    def SecretId(self):
        r"""密钥id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SecretId

    @SecretId.setter
    def SecretId(self, SecretId):
        self._SecretId = SecretId

    @property
    def SecretKey(self):
        r"""密钥内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SecretKey

    @SecretKey.setter
    def SecretKey(self, SecretKey):
        self._SecretKey = SecretKey

    @property
    def Response(self):
        r"""响应
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Response

    @Response.setter
    def Response(self, Response):
        self._Response = Response

    @property
    def OwnerUin(self):
        r"""用户uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def ExpiredTime(self):
        r"""过期时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExpiredTime

    @ExpiredTime.setter
    def ExpiredTime(self, ExpiredTime):
        self._ExpiredTime = ExpiredTime

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def OperatorUin(self):
        r"""操作者uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorUin

    @OperatorUin.setter
    def OperatorUin(self, OperatorUin):
        self._OperatorUin = OperatorUin


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Token = params.get("Token")
        self._SecretId = params.get("SecretId")
        self._SecretKey = params.get("SecretKey")
        self._Response = params.get("Response")
        self._OwnerUin = params.get("OwnerUin")
        self._ExpiredTime = params.get("ExpiredTime")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._OperatorUin = params.get("OperatorUin")
        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 CountOpsInstanceStateRequest(AbstractModel):
    r"""CountOpsInstanceState请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 CountOpsInstanceStateResponse(AbstractModel):
    r"""CountOpsInstanceState返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务对应实例的状态统计
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TaskInstanceCountDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务对应实例的状态统计
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskInstanceCountDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TaskInstanceCountDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class CreateAndDDLSupport(AbstractModel):
    r"""是否支持creat 或ddl

    """

    def __init__(self):
        r"""
        :param _SupportSelect: 是否支持select
注意：此字段可能返回 null，表示取不到有效值。
        :type SupportSelect: bool
        :param _SupportDdl: 是否支持ddl
注意：此字段可能返回 null，表示取不到有效值。
        :type SupportDdl: bool
        """
        self._SupportSelect = None
        self._SupportDdl = None

    @property
    def SupportSelect(self):
        r"""是否支持select
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SupportSelect

    @SupportSelect.setter
    def SupportSelect(self, SupportSelect):
        self._SupportSelect = SupportSelect

    @property
    def SupportDdl(self):
        r"""是否支持ddl
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SupportDdl

    @SupportDdl.setter
    def SupportDdl(self, SupportDdl):
        self._SupportDdl = SupportDdl


    def _deserialize(self, params):
        self._SupportSelect = params.get("SupportSelect")
        self._SupportDdl = params.get("SupportDdl")
        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 CreateBaseProjectRequest(AbstractModel):
    r"""CreateBaseProject请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Project: 项目信息
        :type Project: :class:`tencentcloud.wedata.v20210820.models.BaseProject`
        """
        self._Project = None

    @property
    def Project(self):
        r"""项目信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BaseProject`
        """
        return self._Project

    @Project.setter
    def Project(self, Project):
        self._Project = Project


    def _deserialize(self, params):
        if params.get("Project") is not None:
            self._Project = BaseProject()
            self._Project._deserialize(params.get("Project"))
        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 CreateBaseProjectResponse(AbstractModel):
    r"""CreateBaseProject返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestId = None

    @property
    def RequestId(self):
        r"""唯一请求 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 CreateCodeTemplateRequest(AbstractModel):
    r"""CreateCodeTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _CodeTemplateName: 模版名
        :type CodeTemplateName: str
        :param _TaskType: 30Python，32DLC，50 DLC-PySpark
        :type TaskType: int
        :param _CodeTemplateDesc: 模版描述
        :type CodeTemplateDesc: str
        :param _FolderId: 文件夹ID
        :type FolderId: str
        :param _Content: Base64转化的脚本内容
        :type Content: str
        :param _ProductName: 代码模板类型
        :type ProductName: str
        """
        self._ProjectId = None
        self._CodeTemplateName = None
        self._TaskType = None
        self._CodeTemplateDesc = None
        self._FolderId = None
        self._Content = None
        self._ProductName = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateName(self):
        r"""模版名
        :rtype: str
        """
        return self._CodeTemplateName

    @CodeTemplateName.setter
    def CodeTemplateName(self, CodeTemplateName):
        self._CodeTemplateName = CodeTemplateName

    @property
    def TaskType(self):
        r"""30Python，32DLC，50 DLC-PySpark
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def CodeTemplateDesc(self):
        r"""模版描述
        :rtype: str
        """
        return self._CodeTemplateDesc

    @CodeTemplateDesc.setter
    def CodeTemplateDesc(self, CodeTemplateDesc):
        self._CodeTemplateDesc = CodeTemplateDesc

    @property
    def FolderId(self):
        r"""文件夹ID
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def Content(self):
        r"""Base64转化的脚本内容
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def ProductName(self):
        r"""代码模板类型
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateName = params.get("CodeTemplateName")
        self._TaskType = params.get("TaskType")
        self._CodeTemplateDesc = params.get("CodeTemplateDesc")
        self._FolderId = params.get("FolderId")
        self._Content = params.get("Content")
        self._ProductName = params.get("ProductName")
        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 CreateCodeTemplateResponse(AbstractModel):
    r"""CreateCodeTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 模版id
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""模版id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateCodeTemplateVersionRequest(AbstractModel):
    r"""CreateCodeTemplateVersion请求参数结构体

    """

    def __init__(self):
        r"""
        :param _CodeTemplateId: 模版Id
        :type CodeTemplateId: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Tasks: 模版关联的任务以及调度参数设置
        :type Tasks: list of TaskFormParams
        :param _OriginalParams: 代码模本脚本内置参数
        :type OriginalParams: list of str
        :param _VersionRemark: 提交描述
        :type VersionRemark: str
        :param _NeedSubmitScheduleForTemplate: true表示：针对新建、已下线状态的任务仅生成开发态保存版本，您可在任务中自行提交到生产。针对调度中、已暂停、已失效的任务生成开发态保存版本并提交到生产（即本次代码模板的改动在调度中生效）； 
false表示：针对所有状态的任务均仅生成开发态保存版本。
        :type NeedSubmitScheduleForTemplate: bool
        :param _AssignApprovalList: 指定审批人列表
        :type AssignApprovalList: list of str
        """
        self._CodeTemplateId = None
        self._ProjectId = None
        self._Tasks = None
        self._OriginalParams = None
        self._VersionRemark = None
        self._NeedSubmitScheduleForTemplate = None
        self._AssignApprovalList = None

    @property
    def CodeTemplateId(self):
        r"""模版Id
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Tasks(self):
        r"""模版关联的任务以及调度参数设置
        :rtype: list of TaskFormParams
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def OriginalParams(self):
        r"""代码模本脚本内置参数
        :rtype: list of str
        """
        return self._OriginalParams

    @OriginalParams.setter
    def OriginalParams(self, OriginalParams):
        self._OriginalParams = OriginalParams

    @property
    def VersionRemark(self):
        r"""提交描述
        :rtype: str
        """
        return self._VersionRemark

    @VersionRemark.setter
    def VersionRemark(self, VersionRemark):
        self._VersionRemark = VersionRemark

    @property
    def NeedSubmitScheduleForTemplate(self):
        r"""true表示：针对新建、已下线状态的任务仅生成开发态保存版本，您可在任务中自行提交到生产。针对调度中、已暂停、已失效的任务生成开发态保存版本并提交到生产（即本次代码模板的改动在调度中生效）； 
false表示：针对所有状态的任务均仅生成开发态保存版本。
        :rtype: bool
        """
        return self._NeedSubmitScheduleForTemplate

    @NeedSubmitScheduleForTemplate.setter
    def NeedSubmitScheduleForTemplate(self, NeedSubmitScheduleForTemplate):
        self._NeedSubmitScheduleForTemplate = NeedSubmitScheduleForTemplate

    @property
    def AssignApprovalList(self):
        r"""指定审批人列表
        :rtype: list of str
        """
        return self._AssignApprovalList

    @AssignApprovalList.setter
    def AssignApprovalList(self, AssignApprovalList):
        self._AssignApprovalList = AssignApprovalList


    def _deserialize(self, params):
        self._CodeTemplateId = params.get("CodeTemplateId")
        self._ProjectId = params.get("ProjectId")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = TaskFormParams()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._OriginalParams = params.get("OriginalParams")
        self._VersionRemark = params.get("VersionRemark")
        self._NeedSubmitScheduleForTemplate = params.get("NeedSubmitScheduleForTemplate")
        self._AssignApprovalList = params.get("AssignApprovalList")
        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 CreateCodeTemplateVersionResponse(AbstractModel):
    r"""CreateCodeTemplateVersion返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 批量操作JobId
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""批量操作JobId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateCustomFunctionRequest(AbstractModel):
    r"""CreateCustomFunction请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Type: 枚举值：HIVE、SPARK、DLC
        :type Type: str
        :param _Kind: 枚举值：ANALYSIS(函数)、ENCRYPTION(加密函数)、AGGREGATE(聚合函数)、LOGIC(逻辑函数)、DATE_AND_TIME(日期与时间函数)、MATH(数学函数)、CONVERSION(转换函数)、STRING(字符串函数)、IP_AND_DOMAIN(IP和域名函数)、WINDOW(窗口函数)、OTHER(其他函数)
        :type Kind: str
        :param _Name: 函数名称
        :type Name: str
        :param _ClusterIdentifier: 集群实例引擎 ID
        :type ClusterIdentifier: str
        :param _DbName: 数据库名称
        :type DbName: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _FunctionResourceFileType: 函数资源文件类型
        :type FunctionResourceFileType: str
        """
        self._Type = None
        self._Kind = None
        self._Name = None
        self._ClusterIdentifier = None
        self._DbName = None
        self._ProjectId = None
        self._FunctionResourceFileType = None

    @property
    def Type(self):
        r"""枚举值：HIVE、SPARK、DLC
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Kind(self):
        r"""枚举值：ANALYSIS(函数)、ENCRYPTION(加密函数)、AGGREGATE(聚合函数)、LOGIC(逻辑函数)、DATE_AND_TIME(日期与时间函数)、MATH(数学函数)、CONVERSION(转换函数)、STRING(字符串函数)、IP_AND_DOMAIN(IP和域名函数)、WINDOW(窗口函数)、OTHER(其他函数)
        :rtype: str
        """
        return self._Kind

    @Kind.setter
    def Kind(self, Kind):
        self._Kind = Kind

    @property
    def Name(self):
        r"""函数名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ClusterIdentifier(self):
        r"""集群实例引擎 ID
        :rtype: str
        """
        return self._ClusterIdentifier

    @ClusterIdentifier.setter
    def ClusterIdentifier(self, ClusterIdentifier):
        self._ClusterIdentifier = ClusterIdentifier

    @property
    def DbName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DbName

    @DbName.setter
    def DbName(self, DbName):
        self._DbName = DbName

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FunctionResourceFileType(self):
        r"""函数资源文件类型
        :rtype: str
        """
        return self._FunctionResourceFileType

    @FunctionResourceFileType.setter
    def FunctionResourceFileType(self, FunctionResourceFileType):
        self._FunctionResourceFileType = FunctionResourceFileType


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._Kind = params.get("Kind")
        self._Name = params.get("Name")
        self._ClusterIdentifier = params.get("ClusterIdentifier")
        self._DbName = params.get("DbName")
        self._ProjectId = params.get("ProjectId")
        self._FunctionResourceFileType = params.get("FunctionResourceFileType")
        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 CreateCustomFunctionResponse(AbstractModel):
    r"""CreateCustomFunction返回参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type FunctionId: str
        :param _ErrorMessage: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._FunctionId = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def FunctionId(self):
        r"""函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ErrorMessage(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class CreateDataModelRequest(AbstractModel):
    r"""CreateDataModel请求参数结构体

    """

    def __init__(self):
        r"""
        :param _CloudappId: 云应用的实例id
        :type CloudappId: str
        :param _UserId: 用户的子账号id
        :type UserId: str
        :param _TimeUnit: Wedata数据建模购买参数，包年包月类型单位，年：y，月：m，默认m
        :type TimeUnit: str
        :param _TimeSpan: Wedata数据建模购买参数，购买时长，默认1
        :type TimeSpan: int
        :param _AutoRenewFlag: Wedata数据建模购买参数，是否自动续费，是：1，否：0，默认0
        :type AutoRenewFlag: int
        :param _DataModelVersion: Wedata数据建模购买参数，标准版：DATA_MODEL_STANDARD，企业版：DATA_MODEL_PRO，默认DATA_MODEL_STANDARD
        :type DataModelVersion: str
        """
        self._CloudappId = None
        self._UserId = None
        self._TimeUnit = None
        self._TimeSpan = None
        self._AutoRenewFlag = None
        self._DataModelVersion = None

    @property
    def CloudappId(self):
        r"""云应用的实例id
        :rtype: str
        """
        return self._CloudappId

    @CloudappId.setter
    def CloudappId(self, CloudappId):
        self._CloudappId = CloudappId

    @property
    def UserId(self):
        r"""用户的子账号id
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def TimeUnit(self):
        r"""Wedata数据建模购买参数，包年包月类型单位，年：y，月：m，默认m
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def TimeSpan(self):
        r"""Wedata数据建模购买参数，购买时长，默认1
        :rtype: int
        """
        return self._TimeSpan

    @TimeSpan.setter
    def TimeSpan(self, TimeSpan):
        self._TimeSpan = TimeSpan

    @property
    def AutoRenewFlag(self):
        r"""Wedata数据建模购买参数，是否自动续费，是：1，否：0，默认0
        :rtype: int
        """
        return self._AutoRenewFlag

    @AutoRenewFlag.setter
    def AutoRenewFlag(self, AutoRenewFlag):
        self._AutoRenewFlag = AutoRenewFlag

    @property
    def DataModelVersion(self):
        r"""Wedata数据建模购买参数，标准版：DATA_MODEL_STANDARD，企业版：DATA_MODEL_PRO，默认DATA_MODEL_STANDARD
        :rtype: str
        """
        return self._DataModelVersion

    @DataModelVersion.setter
    def DataModelVersion(self, DataModelVersion):
        self._DataModelVersion = DataModelVersion


    def _deserialize(self, params):
        self._CloudappId = params.get("CloudappId")
        self._UserId = params.get("UserId")
        self._TimeUnit = params.get("TimeUnit")
        self._TimeSpan = params.get("TimeSpan")
        self._AutoRenewFlag = params.get("AutoRenewFlag")
        self._DataModelVersion = params.get("DataModelVersion")
        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 CreateDataModelResponse(AbstractModel):
    r"""CreateDataModel返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: “Wedata数据建模”的实例id
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""“Wedata数据建模”的实例id
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateDataSourceRequest(AbstractModel):
    r"""CreateDataSource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Name: 数据源名称，在相同SpaceName下，数据源名称不能为空
        :type Name: str
        :param _Category: 数据源类别：绑定引擎、绑定数据库
        :type Category: str
        :param _Type: 数据源类型:枚举值
        :type Type: str
        :param _OwnerProjectId: 归属项目ID
        :type OwnerProjectId: str
        :param _OwnerProjectName: 归属项目Name
        :type OwnerProjectName: str
        :param _OwnerProjectIdent: 归属项目Name中文
        :type OwnerProjectIdent: str
        :param _BizParams: 业务侧数据源的配置信息扩展
        :type BizParams: str
        :param _Params: 数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
        :type Params: str
        :param _Description: 数据源描述信息
        :type Description: str
        :param _Display: 数据源展示名，为了可视化查看
        :type Display: str
        :param _DatabaseName: 若数据源列表为绑定数据库，则为db名称
        :type DatabaseName: str
        :param _Instance: 数据源引擎的实例ID，如CDB实例ID
        :type Instance: str
        :param _Status: 数据源数据源的可见性，1为可见、0为不可见。默认为1
        :type Status: int
        :param _ClusterId: 数据源所属的业务空间名称
        :type ClusterId: str
        :param _Collect: 是否采集
        :type Collect: str
        :param _COSBucket: cos桶信息
        :type COSBucket: str
        :param _COSRegion: cos region
        :type COSRegion: str
        :param _ConnectResult: 连接测试结果
        :type ConnectResult: str
        :param _DevelopmentParams: 开发环境数据源配置
        :type DevelopmentParams: str
        :param _ProjectId: 新建数据源的项目ID
        :type ProjectId: str
        """
        self._Name = None
        self._Category = None
        self._Type = None
        self._OwnerProjectId = None
        self._OwnerProjectName = None
        self._OwnerProjectIdent = None
        self._BizParams = None
        self._Params = None
        self._Description = None
        self._Display = None
        self._DatabaseName = None
        self._Instance = None
        self._Status = None
        self._ClusterId = None
        self._Collect = None
        self._COSBucket = None
        self._COSRegion = None
        self._ConnectResult = None
        self._DevelopmentParams = None
        self._ProjectId = None

    @property
    def Name(self):
        r"""数据源名称，在相同SpaceName下，数据源名称不能为空
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Category(self):
        r"""数据源类别：绑定引擎、绑定数据库
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Type(self):
        r"""数据源类型:枚举值
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def OwnerProjectId(self):
        r"""归属项目ID
        :rtype: str
        """
        return self._OwnerProjectId

    @OwnerProjectId.setter
    def OwnerProjectId(self, OwnerProjectId):
        self._OwnerProjectId = OwnerProjectId

    @property
    def OwnerProjectName(self):
        r"""归属项目Name
        :rtype: str
        """
        return self._OwnerProjectName

    @OwnerProjectName.setter
    def OwnerProjectName(self, OwnerProjectName):
        self._OwnerProjectName = OwnerProjectName

    @property
    def OwnerProjectIdent(self):
        r"""归属项目Name中文
        :rtype: str
        """
        return self._OwnerProjectIdent

    @OwnerProjectIdent.setter
    def OwnerProjectIdent(self, OwnerProjectIdent):
        self._OwnerProjectIdent = OwnerProjectIdent

    @property
    def BizParams(self):
        r"""业务侧数据源的配置信息扩展
        :rtype: str
        """
        return self._BizParams

    @BizParams.setter
    def BizParams(self, BizParams):
        self._BizParams = BizParams

    @property
    def Params(self):
        r"""数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def Description(self):
        r"""数据源描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Display(self):
        r"""数据源展示名，为了可视化查看
        :rtype: str
        """
        return self._Display

    @Display.setter
    def Display(self, Display):
        self._Display = Display

    @property
    def DatabaseName(self):
        r"""若数据源列表为绑定数据库，则为db名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def Instance(self):
        r"""数据源引擎的实例ID，如CDB实例ID
        :rtype: str
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Status(self):
        r"""数据源数据源的可见性，1为可见、0为不可见。默认为1
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def ClusterId(self):
        r"""数据源所属的业务空间名称
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def Collect(self):
        r"""是否采集
        :rtype: str
        """
        return self._Collect

    @Collect.setter
    def Collect(self, Collect):
        self._Collect = Collect

    @property
    def COSBucket(self):
        r"""cos桶信息
        :rtype: str
        """
        return self._COSBucket

    @COSBucket.setter
    def COSBucket(self, COSBucket):
        self._COSBucket = COSBucket

    @property
    def COSRegion(self):
        r"""cos region
        :rtype: str
        """
        return self._COSRegion

    @COSRegion.setter
    def COSRegion(self, COSRegion):
        self._COSRegion = COSRegion

    @property
    def ConnectResult(self):
        r"""连接测试结果
        :rtype: str
        """
        return self._ConnectResult

    @ConnectResult.setter
    def ConnectResult(self, ConnectResult):
        self._ConnectResult = ConnectResult

    @property
    def DevelopmentParams(self):
        r"""开发环境数据源配置
        :rtype: str
        """
        return self._DevelopmentParams

    @DevelopmentParams.setter
    def DevelopmentParams(self, DevelopmentParams):
        self._DevelopmentParams = DevelopmentParams

    @property
    def ProjectId(self):
        r"""新建数据源的项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Category = params.get("Category")
        self._Type = params.get("Type")
        self._OwnerProjectId = params.get("OwnerProjectId")
        self._OwnerProjectName = params.get("OwnerProjectName")
        self._OwnerProjectIdent = params.get("OwnerProjectIdent")
        self._BizParams = params.get("BizParams")
        self._Params = params.get("Params")
        self._Description = params.get("Description")
        self._Display = params.get("Display")
        self._DatabaseName = params.get("DatabaseName")
        self._Instance = params.get("Instance")
        self._Status = params.get("Status")
        self._ClusterId = params.get("ClusterId")
        self._Collect = params.get("Collect")
        self._COSBucket = params.get("COSBucket")
        self._COSRegion = params.get("COSRegion")
        self._ConnectResult = params.get("ConnectResult")
        self._DevelopmentParams = params.get("DevelopmentParams")
        self._ProjectId = params.get("ProjectId")
        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 CreateDataSourceResponse(AbstractModel):
    r"""CreateDataSource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 主键ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""主键ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateDsFolderRequest(AbstractModel):
    r"""CreateDsFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _FolderName: 文件夹名称
        :type FolderName: str
        :param _ParentsFolderId: 父文件夹ID
        :type ParentsFolderId: str
        :param _FolderForm: 文件夹来源 template管理，orchestrationSpace 编排空间
        :type FolderForm: str
        """
        self._ProjectId = None
        self._FolderName = None
        self._ParentsFolderId = None
        self._FolderForm = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderName(self):
        r"""文件夹名称
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def ParentsFolderId(self):
        r"""父文件夹ID
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId

    @property
    def FolderForm(self):
        r"""文件夹来源 template管理，orchestrationSpace 编排空间
        :rtype: str
        """
        return self._FolderForm

    @FolderForm.setter
    def FolderForm(self, FolderForm):
        self._FolderForm = FolderForm


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderName = params.get("FolderName")
        self._ParentsFolderId = params.get("ParentsFolderId")
        self._FolderForm = params.get("FolderForm")
        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 CreateDsFolderResponse(AbstractModel):
    r"""CreateDsFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 文件夹Id，null则创建失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""文件夹Id，null则创建失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateHiveTableByDDLRequest(AbstractModel):
    r"""CreateHiveTableByDDL请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源ID
        :type DatasourceId: str
        :param _Database: 数据库
        :type Database: str
        :param _DDLSql: 建hive表ddl的base64编码
        :type DDLSql: str
        :param _Privilege: 表权限 ，默认为0:项目共享;1:仅个人与管理员
        :type Privilege: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Type: 目标表类型(HIVE或GBASE)
        :type Type: str
        :param _Incharge: 责任人
        :type Incharge: str
        :param _SchemaName: schema名称
        :type SchemaName: str
        :param _Async: 是否异步建表
        :type Async: bool
        :param _DataOptimizationResource: 数据优化使用的资源
        :type DataOptimizationResource: str
        :param _SmartOptimizerWritten: 是否开启数据优化
        :type SmartOptimizerWritten: str
        :param _TableName: 数据优化表名
        :type TableName: str
        :param _ResourceGroupName: 数据优化资源组
        :type ResourceGroupName: str
        """
        self._DatasourceId = None
        self._Database = None
        self._DDLSql = None
        self._Privilege = None
        self._ProjectId = None
        self._Type = None
        self._Incharge = None
        self._SchemaName = None
        self._Async = None
        self._DataOptimizationResource = None
        self._SmartOptimizerWritten = None
        self._TableName = None
        self._ResourceGroupName = None

    @property
    def DatasourceId(self):
        r"""数据源ID
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Database(self):
        r"""数据库
        :rtype: str
        """
        return self._Database

    @Database.setter
    def Database(self, Database):
        self._Database = Database

    @property
    def DDLSql(self):
        r"""建hive表ddl的base64编码
        :rtype: str
        """
        return self._DDLSql

    @DDLSql.setter
    def DDLSql(self, DDLSql):
        self._DDLSql = DDLSql

    @property
    def Privilege(self):
        r"""表权限 ，默认为0:项目共享;1:仅个人与管理员
        :rtype: int
        """
        return self._Privilege

    @Privilege.setter
    def Privilege(self, Privilege):
        self._Privilege = Privilege

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Type(self):
        r"""目标表类型(HIVE或GBASE)
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Incharge(self):
        r"""责任人
        :rtype: str
        """
        return self._Incharge

    @Incharge.setter
    def Incharge(self, Incharge):
        self._Incharge = Incharge

    @property
    def SchemaName(self):
        r"""schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Async(self):
        r"""是否异步建表
        :rtype: bool
        """
        return self._Async

    @Async.setter
    def Async(self, Async):
        self._Async = Async

    @property
    def DataOptimizationResource(self):
        r"""数据优化使用的资源
        :rtype: str
        """
        return self._DataOptimizationResource

    @DataOptimizationResource.setter
    def DataOptimizationResource(self, DataOptimizationResource):
        self._DataOptimizationResource = DataOptimizationResource

    @property
    def SmartOptimizerWritten(self):
        r"""是否开启数据优化
        :rtype: str
        """
        return self._SmartOptimizerWritten

    @SmartOptimizerWritten.setter
    def SmartOptimizerWritten(self, SmartOptimizerWritten):
        self._SmartOptimizerWritten = SmartOptimizerWritten

    @property
    def TableName(self):
        r"""数据优化表名
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ResourceGroupName(self):
        r"""数据优化资源组
        :rtype: str
        """
        return self._ResourceGroupName

    @ResourceGroupName.setter
    def ResourceGroupName(self, ResourceGroupName):
        self._ResourceGroupName = ResourceGroupName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._Database = params.get("Database")
        self._DDLSql = params.get("DDLSql")
        self._Privilege = params.get("Privilege")
        self._ProjectId = params.get("ProjectId")
        self._Type = params.get("Type")
        self._Incharge = params.get("Incharge")
        self._SchemaName = params.get("SchemaName")
        self._Async = params.get("Async")
        self._DataOptimizationResource = params.get("DataOptimizationResource")
        self._SmartOptimizerWritten = params.get("SmartOptimizerWritten")
        self._TableName = params.get("TableName")
        self._ResourceGroupName = params.get("ResourceGroupName")
        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 CreateHiveTableByDDLResponse(AbstractModel):
    r"""CreateHiveTableByDDL返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回表名称，无论是否异步都有值
        :type Data: str
        :param _TaskId: 异步任务轮询 id，只有异步才有值
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._TaskId = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回表名称，无论是否异步都有值
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def TaskId(self):
        r"""异步任务轮询 id，只有异步才有值
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class CreateHiveTableRequest(AbstractModel):
    r"""CreateHiveTable请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _Database: 数据库名称
        :type Database: str
        :param _DDLSql: base64转码之后的建表语句
        :type DDLSql: str
        :param _Privilege: 表权限 ，默认为0:项目共享;1:仅个人与管理员
        :type Privilege: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Type: 数据库类型
        :type Type: str
        :param _Incharge: 责任人
        :type Incharge: str
        :param _DataOptimizationResource: 数据优化引擎
        :type DataOptimizationResource: str
        :param _SmartOptimizerWritten: 是否开启数据优化
        :type SmartOptimizerWritten: str
        :param _TableName: 数据优化针对的表
        :type TableName: str
        :param _ResourceGroupName: 数据优化资源组
        :type ResourceGroupName: str
        """
        self._DatasourceId = None
        self._Database = None
        self._DDLSql = None
        self._Privilege = None
        self._ProjectId = None
        self._Type = None
        self._Incharge = None
        self._DataOptimizationResource = None
        self._SmartOptimizerWritten = None
        self._TableName = None
        self._ResourceGroupName = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Database(self):
        r"""数据库名称
        :rtype: str
        """
        return self._Database

    @Database.setter
    def Database(self, Database):
        self._Database = Database

    @property
    def DDLSql(self):
        r"""base64转码之后的建表语句
        :rtype: str
        """
        return self._DDLSql

    @DDLSql.setter
    def DDLSql(self, DDLSql):
        self._DDLSql = DDLSql

    @property
    def Privilege(self):
        r"""表权限 ，默认为0:项目共享;1:仅个人与管理员
        :rtype: int
        """
        return self._Privilege

    @Privilege.setter
    def Privilege(self, Privilege):
        self._Privilege = Privilege

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Type(self):
        r"""数据库类型
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Incharge(self):
        r"""责任人
        :rtype: str
        """
        return self._Incharge

    @Incharge.setter
    def Incharge(self, Incharge):
        self._Incharge = Incharge

    @property
    def DataOptimizationResource(self):
        r"""数据优化引擎
        :rtype: str
        """
        return self._DataOptimizationResource

    @DataOptimizationResource.setter
    def DataOptimizationResource(self, DataOptimizationResource):
        self._DataOptimizationResource = DataOptimizationResource

    @property
    def SmartOptimizerWritten(self):
        r"""是否开启数据优化
        :rtype: str
        """
        return self._SmartOptimizerWritten

    @SmartOptimizerWritten.setter
    def SmartOptimizerWritten(self, SmartOptimizerWritten):
        self._SmartOptimizerWritten = SmartOptimizerWritten

    @property
    def TableName(self):
        r"""数据优化针对的表
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ResourceGroupName(self):
        r"""数据优化资源组
        :rtype: str
        """
        return self._ResourceGroupName

    @ResourceGroupName.setter
    def ResourceGroupName(self, ResourceGroupName):
        self._ResourceGroupName = ResourceGroupName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._Database = params.get("Database")
        self._DDLSql = params.get("DDLSql")
        self._Privilege = params.get("Privilege")
        self._ProjectId = params.get("ProjectId")
        self._Type = params.get("Type")
        self._Incharge = params.get("Incharge")
        self._DataOptimizationResource = params.get("DataOptimizationResource")
        self._SmartOptimizerWritten = params.get("SmartOptimizerWritten")
        self._TableName = params.get("TableName")
        self._ResourceGroupName = params.get("ResourceGroupName")
        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 CreateHiveTableResponse(AbstractModel):
    r"""CreateHiveTable返回参数结构体

    """

    def __init__(self):
        r"""
        :param _IsSuccess: 建表是否成功
        :type IsSuccess: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._IsSuccess = None
        self._RequestId = None

    @property
    def IsSuccess(self):
        r"""建表是否成功
        :rtype: bool
        """
        return self._IsSuccess

    @IsSuccess.setter
    def IsSuccess(self, IsSuccess):
        self._IsSuccess = IsSuccess

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._IsSuccess = params.get("IsSuccess")
        self._RequestId = params.get("RequestId")


class CreateIntegrationNodeRequest(AbstractModel):
    r"""CreateIntegrationNode请求参数结构体

    """

    def __init__(self):
        r"""
        :param _NodeInfo: 集成节点信息
        :type NodeInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        """
        self._NodeInfo = None
        self._ProjectId = None
        self._TaskType = None

    @property
    def NodeInfo(self):
        r"""集成节点信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        """
        return self._NodeInfo

    @NodeInfo.setter
    def NodeInfo(self, NodeInfo):
        self._NodeInfo = NodeInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        if params.get("NodeInfo") is not None:
            self._NodeInfo = IntegrationNodeInfo()
            self._NodeInfo._deserialize(params.get("NodeInfo"))
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        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 CreateIntegrationNodeResponse(AbstractModel):
    r"""CreateIntegrationNode返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 节点
        :type Id: str
        :param _TaskId: 当前任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Id = None
        self._TaskId = None
        self._RequestId = None

    @property
    def Id(self):
        r"""节点
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskId(self):
        r"""当前任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class CreateIntegrationTaskRequest(AbstractModel):
    r"""CreateIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskInfo: 任务信息
        :type TaskInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskInfo = None
        self._ProjectId = None

    @property
    def TaskInfo(self):
        r"""任务信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        """
        return self._TaskInfo

    @TaskInfo.setter
    def TaskInfo(self, TaskInfo):
        self._TaskInfo = TaskInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("TaskInfo") is not None:
            self._TaskInfo = IntegrationTaskInfo()
            self._TaskInfo._deserialize(params.get("TaskInfo"))
        self._ProjectId = params.get("ProjectId")
        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 CreateIntegrationTaskResponse(AbstractModel):
    r"""CreateIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskId = None
        self._RequestId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class CreateMakeDatetimeInfo(AbstractModel):
    r"""补录计划日期范围

    """

    def __init__(self):
        r"""
        :param _StartDate: 开始日期
注意：此字段可能返回 null，表示取不到有效值。
        :type StartDate: str
        :param _EndDate: 结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :type EndDate: str
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        """
        self._StartDate = None
        self._EndDate = None
        self._StartTime = None
        self._EndTime = None

    @property
    def StartDate(self):
        r"""开始日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartDate

    @StartDate.setter
    def StartDate(self, StartDate):
        self._StartDate = StartDate

    @property
    def EndDate(self):
        r"""结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._StartDate = params.get("StartDate")
        self._EndDate = params.get("EndDate")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 CreateOfflineTaskRequest(AbstractModel):
    r"""CreateOfflineTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _CycleStep: 间隔，可选，默认1。非空。默认 1
        :type CycleStep: int
        :param _DelayTime: 延时执行时间，单位分钟
        :type DelayTime: int
        :param _EndTime: 任务结束数据时间。非空。默认当前时间
        :type EndTime: str
        :param _Notes: 备注
        :type Notes: str
        :param _StartTime: 当前日期
        :type StartTime: str
        :param _TaskName: 任务名称
        :type TaskName: str
        :param _TypeId: 跟之前调用调度接口保持一致27
        :type TypeId: int
        :param _TaskAction: 时间指定，如月任务指定1，3号，则填入 1，3。非空。默认 "" 月任务：如具体1，3号则写 "1,3"，指定月末不可和具体号数一起输入，仅能为 "L"
        :type TaskAction: str
        :param _TaskMode: 区分画布和表单
        :type TaskMode: str
        :param _TaskImportInfo: 导入编排空间配置
        :type TaskImportInfo: :class:`tencentcloud.wedata.v20210820.models.TaskImportInfo`
        """
        self._ProjectId = None
        self._CycleStep = None
        self._DelayTime = None
        self._EndTime = None
        self._Notes = None
        self._StartTime = None
        self._TaskName = None
        self._TypeId = None
        self._TaskAction = None
        self._TaskMode = None
        self._TaskImportInfo = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CycleStep(self):
        r"""间隔，可选，默认1。非空。默认 1
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def DelayTime(self):
        r"""延时执行时间，单位分钟
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def EndTime(self):
        r"""任务结束数据时间。非空。默认当前时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def Notes(self):
        r"""备注
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes

    @property
    def StartTime(self):
        r"""当前日期
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def TaskName(self):
        r"""任务名称
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TypeId(self):
        r"""跟之前调用调度接口保持一致27
        :rtype: int
        """
        return self._TypeId

    @TypeId.setter
    def TypeId(self, TypeId):
        self._TypeId = TypeId

    @property
    def TaskAction(self):
        r"""时间指定，如月任务指定1，3号，则填入 1，3。非空。默认 "" 月任务：如具体1，3号则写 "1,3"，指定月末不可和具体号数一起输入，仅能为 "L"
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def TaskMode(self):
        r"""区分画布和表单
        :rtype: str
        """
        return self._TaskMode

    @TaskMode.setter
    def TaskMode(self, TaskMode):
        self._TaskMode = TaskMode

    @property
    def TaskImportInfo(self):
        r"""导入编排空间配置
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskImportInfo`
        """
        return self._TaskImportInfo

    @TaskImportInfo.setter
    def TaskImportInfo(self, TaskImportInfo):
        self._TaskImportInfo = TaskImportInfo


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CycleStep = params.get("CycleStep")
        self._DelayTime = params.get("DelayTime")
        self._EndTime = params.get("EndTime")
        self._Notes = params.get("Notes")
        self._StartTime = params.get("StartTime")
        self._TaskName = params.get("TaskName")
        self._TypeId = params.get("TypeId")
        self._TaskAction = params.get("TaskAction")
        self._TaskMode = params.get("TaskMode")
        if params.get("TaskImportInfo") is not None:
            self._TaskImportInfo = TaskImportInfo()
            self._TaskImportInfo._deserialize(params.get("TaskImportInfo"))
        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 CreateOfflineTaskResponse(AbstractModel):
    r"""CreateOfflineTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _ArrangeSpaceTaskId: 导入到编排空间的任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type ArrangeSpaceTaskId: str
        :param _Data: 结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskId = None
        self._ArrangeSpaceTaskId = None
        self._Data = None
        self._RequestId = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ArrangeSpaceTaskId(self):
        r"""导入到编排空间的任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ArrangeSpaceTaskId

    @ArrangeSpaceTaskId.setter
    def ArrangeSpaceTaskId(self, ArrangeSpaceTaskId):
        self._ArrangeSpaceTaskId = ArrangeSpaceTaskId

    @property
    def Data(self):
        r"""结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ArrangeSpaceTaskId = params.get("ArrangeSpaceTaskId")
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateOpsMakePlanRequest(AbstractModel):
    r"""CreateOpsMakePlan请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _MakeName: 补录计划名称
        :type MakeName: str
        :param _TaskIdList: 补录任务集合
        :type TaskIdList: list of str
        :param _MakeDatetimeList: 补录计划日期范围
        :type MakeDatetimeList: list of CreateMakeDatetimeInfo
        :param _ProjectIdent: 项目标识
        :type ProjectIdent: str
        :param _CheckParent: 补录是否检查父任务状态，默认不检查。不推荐使用，后续会废弃，推荐使用 CheckParentType。
        :type CheckParent: bool
        :param _CheckParentType: 补录检查父任务类型。取值范围：
<li> NONE: 全部不检查 </li>
<li> ALL: 检查全部上游父任务 </li>
<li> MAKE_SCOPE: 只在（当前补录计划）选中任务中检查 </li>
        :type CheckParentType: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _SelfDependence: 已弃用。任务自依赖类型：parallel（并行），serial（无序串行），orderly（有序串行）
        :type SelfDependence: str
        :param _ParallelNum: 并行度
        :type ParallelNum: int
        :param _SameCycle: 补录实例生成周期是否和原周期相同，默认为true
        :type SameCycle: bool
        :param _TargetTaskCycle: 补录实例目标周期类型
        :type TargetTaskCycle: str
        :param _TargetTaskAction: 补录实例目标周期类型指定时间
        :type TargetTaskAction: int
        :param _MapParamList: 补录实例自定义参数
        :type MapParamList: list of StrToStrMap
        :param _CreatorId: 创建人id
        :type CreatorId: str
        :param _Creator: 创建人
        :type Creator: str
        :param _Remark: 补录计划说明
        :type Remark: str
        :param _SameSelfDependType: 是否使用任务原有自依赖配置，默认为true
        :type SameSelfDependType: bool
        :param _SourceTaskCycle: 补录实例原始周期类型
        :type SourceTaskCycle: str
        :param _SchedulerResourceGroup: 补录指定的调度资源组（ID） 为空则表示使用任务原有调度执行资源组
        :type SchedulerResourceGroup: str
        :param _IntegrationResourceGroup: 补录指定的集成资源组（ID） 为空则表示使用任务原有集成执行资源组
        :type IntegrationResourceGroup: str
        :param _SchedulerResourceGroupName: 补录指定的调度资源组名称 为空则表示使用任务原有调度执行资源组
        :type SchedulerResourceGroupName: str
        :param _IntegrationResourceGroupName: 补录指定的集成资源组名称 为空则表示使用任务原有集成执行资源组
        :type IntegrationResourceGroupName: str
        :param _MakeExtList: 补录扩展属性
        :type MakeExtList: list of StrToStrMap
        :param _SameSelfWorkflowDependType: 补录扩展属性
        :type SameSelfWorkflowDependType: bool
        :param _SelfWorkflowDependency: 补录扩展属性
        :type SelfWorkflowDependency: str
        :param _MakeType: 任务 TASK； 项目： PROJECT
        :type MakeType: str
        :param _StatusList: 任务状态
        :type StatusList: str
        :param _MakeCheckEventType: 补录是否跳过事件检查
        :type MakeCheckEventType: str
        """
        self._ProjectId = None
        self._MakeName = None
        self._TaskIdList = None
        self._MakeDatetimeList = None
        self._ProjectIdent = None
        self._CheckParent = None
        self._CheckParentType = None
        self._ProjectName = None
        self._SelfDependence = None
        self._ParallelNum = None
        self._SameCycle = None
        self._TargetTaskCycle = None
        self._TargetTaskAction = None
        self._MapParamList = None
        self._CreatorId = None
        self._Creator = None
        self._Remark = None
        self._SameSelfDependType = None
        self._SourceTaskCycle = None
        self._SchedulerResourceGroup = None
        self._IntegrationResourceGroup = None
        self._SchedulerResourceGroupName = None
        self._IntegrationResourceGroupName = None
        self._MakeExtList = None
        self._SameSelfWorkflowDependType = None
        self._SelfWorkflowDependency = None
        self._MakeType = None
        self._StatusList = None
        self._MakeCheckEventType = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def MakeName(self):
        r"""补录计划名称
        :rtype: str
        """
        return self._MakeName

    @MakeName.setter
    def MakeName(self, MakeName):
        self._MakeName = MakeName

    @property
    def TaskIdList(self):
        r"""补录任务集合
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def MakeDatetimeList(self):
        r"""补录计划日期范围
        :rtype: list of CreateMakeDatetimeInfo
        """
        return self._MakeDatetimeList

    @MakeDatetimeList.setter
    def MakeDatetimeList(self, MakeDatetimeList):
        self._MakeDatetimeList = MakeDatetimeList

    @property
    def ProjectIdent(self):
        r"""项目标识
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def CheckParent(self):
        r"""补录是否检查父任务状态，默认不检查。不推荐使用，后续会废弃，推荐使用 CheckParentType。
        :rtype: bool
        """
        return self._CheckParent

    @CheckParent.setter
    def CheckParent(self, CheckParent):
        self._CheckParent = CheckParent

    @property
    def CheckParentType(self):
        r"""补录检查父任务类型。取值范围：
<li> NONE: 全部不检查 </li>
<li> ALL: 检查全部上游父任务 </li>
<li> MAKE_SCOPE: 只在（当前补录计划）选中任务中检查 </li>
        :rtype: str
        """
        return self._CheckParentType

    @CheckParentType.setter
    def CheckParentType(self, CheckParentType):
        self._CheckParentType = CheckParentType

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def SelfDependence(self):
        r"""已弃用。任务自依赖类型：parallel（并行），serial（无序串行），orderly（有序串行）
        :rtype: str
        """
        return self._SelfDependence

    @SelfDependence.setter
    def SelfDependence(self, SelfDependence):
        self._SelfDependence = SelfDependence

    @property
    def ParallelNum(self):
        r"""并行度
        :rtype: int
        """
        return self._ParallelNum

    @ParallelNum.setter
    def ParallelNum(self, ParallelNum):
        self._ParallelNum = ParallelNum

    @property
    def SameCycle(self):
        r"""补录实例生成周期是否和原周期相同，默认为true
        :rtype: bool
        """
        return self._SameCycle

    @SameCycle.setter
    def SameCycle(self, SameCycle):
        self._SameCycle = SameCycle

    @property
    def TargetTaskCycle(self):
        r"""补录实例目标周期类型
        :rtype: str
        """
        return self._TargetTaskCycle

    @TargetTaskCycle.setter
    def TargetTaskCycle(self, TargetTaskCycle):
        self._TargetTaskCycle = TargetTaskCycle

    @property
    def TargetTaskAction(self):
        r"""补录实例目标周期类型指定时间
        :rtype: int
        """
        return self._TargetTaskAction

    @TargetTaskAction.setter
    def TargetTaskAction(self, TargetTaskAction):
        self._TargetTaskAction = TargetTaskAction

    @property
    def MapParamList(self):
        r"""补录实例自定义参数
        :rtype: list of StrToStrMap
        """
        return self._MapParamList

    @MapParamList.setter
    def MapParamList(self, MapParamList):
        self._MapParamList = MapParamList

    @property
    def CreatorId(self):
        r"""创建人id
        :rtype: str
        """
        return self._CreatorId

    @CreatorId.setter
    def CreatorId(self, CreatorId):
        self._CreatorId = CreatorId

    @property
    def Creator(self):
        r"""创建人
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def Remark(self):
        r"""补录计划说明
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def SameSelfDependType(self):
        r"""是否使用任务原有自依赖配置，默认为true
        :rtype: bool
        """
        return self._SameSelfDependType

    @SameSelfDependType.setter
    def SameSelfDependType(self, SameSelfDependType):
        self._SameSelfDependType = SameSelfDependType

    @property
    def SourceTaskCycle(self):
        r"""补录实例原始周期类型
        :rtype: str
        """
        return self._SourceTaskCycle

    @SourceTaskCycle.setter
    def SourceTaskCycle(self, SourceTaskCycle):
        self._SourceTaskCycle = SourceTaskCycle

    @property
    def SchedulerResourceGroup(self):
        r"""补录指定的调度资源组（ID） 为空则表示使用任务原有调度执行资源组
        :rtype: str
        """
        return self._SchedulerResourceGroup

    @SchedulerResourceGroup.setter
    def SchedulerResourceGroup(self, SchedulerResourceGroup):
        self._SchedulerResourceGroup = SchedulerResourceGroup

    @property
    def IntegrationResourceGroup(self):
        r"""补录指定的集成资源组（ID） 为空则表示使用任务原有集成执行资源组
        :rtype: str
        """
        return self._IntegrationResourceGroup

    @IntegrationResourceGroup.setter
    def IntegrationResourceGroup(self, IntegrationResourceGroup):
        self._IntegrationResourceGroup = IntegrationResourceGroup

    @property
    def SchedulerResourceGroupName(self):
        r"""补录指定的调度资源组名称 为空则表示使用任务原有调度执行资源组
        :rtype: str
        """
        return self._SchedulerResourceGroupName

    @SchedulerResourceGroupName.setter
    def SchedulerResourceGroupName(self, SchedulerResourceGroupName):
        self._SchedulerResourceGroupName = SchedulerResourceGroupName

    @property
    def IntegrationResourceGroupName(self):
        r"""补录指定的集成资源组名称 为空则表示使用任务原有集成执行资源组
        :rtype: str
        """
        return self._IntegrationResourceGroupName

    @IntegrationResourceGroupName.setter
    def IntegrationResourceGroupName(self, IntegrationResourceGroupName):
        self._IntegrationResourceGroupName = IntegrationResourceGroupName

    @property
    def MakeExtList(self):
        r"""补录扩展属性
        :rtype: list of StrToStrMap
        """
        return self._MakeExtList

    @MakeExtList.setter
    def MakeExtList(self, MakeExtList):
        self._MakeExtList = MakeExtList

    @property
    def SameSelfWorkflowDependType(self):
        r"""补录扩展属性
        :rtype: bool
        """
        return self._SameSelfWorkflowDependType

    @SameSelfWorkflowDependType.setter
    def SameSelfWorkflowDependType(self, SameSelfWorkflowDependType):
        self._SameSelfWorkflowDependType = SameSelfWorkflowDependType

    @property
    def SelfWorkflowDependency(self):
        r"""补录扩展属性
        :rtype: str
        """
        return self._SelfWorkflowDependency

    @SelfWorkflowDependency.setter
    def SelfWorkflowDependency(self, SelfWorkflowDependency):
        self._SelfWorkflowDependency = SelfWorkflowDependency

    @property
    def MakeType(self):
        r"""任务 TASK； 项目： PROJECT
        :rtype: str
        """
        return self._MakeType

    @MakeType.setter
    def MakeType(self, MakeType):
        self._MakeType = MakeType

    @property
    def StatusList(self):
        r"""任务状态
        :rtype: str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def MakeCheckEventType(self):
        r"""补录是否跳过事件检查
        :rtype: str
        """
        return self._MakeCheckEventType

    @MakeCheckEventType.setter
    def MakeCheckEventType(self, MakeCheckEventType):
        self._MakeCheckEventType = MakeCheckEventType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._MakeName = params.get("MakeName")
        self._TaskIdList = params.get("TaskIdList")
        if params.get("MakeDatetimeList") is not None:
            self._MakeDatetimeList = []
            for item in params.get("MakeDatetimeList"):
                obj = CreateMakeDatetimeInfo()
                obj._deserialize(item)
                self._MakeDatetimeList.append(obj)
        self._ProjectIdent = params.get("ProjectIdent")
        self._CheckParent = params.get("CheckParent")
        self._CheckParentType = params.get("CheckParentType")
        self._ProjectName = params.get("ProjectName")
        self._SelfDependence = params.get("SelfDependence")
        self._ParallelNum = params.get("ParallelNum")
        self._SameCycle = params.get("SameCycle")
        self._TargetTaskCycle = params.get("TargetTaskCycle")
        self._TargetTaskAction = params.get("TargetTaskAction")
        if params.get("MapParamList") is not None:
            self._MapParamList = []
            for item in params.get("MapParamList"):
                obj = StrToStrMap()
                obj._deserialize(item)
                self._MapParamList.append(obj)
        self._CreatorId = params.get("CreatorId")
        self._Creator = params.get("Creator")
        self._Remark = params.get("Remark")
        self._SameSelfDependType = params.get("SameSelfDependType")
        self._SourceTaskCycle = params.get("SourceTaskCycle")
        self._SchedulerResourceGroup = params.get("SchedulerResourceGroup")
        self._IntegrationResourceGroup = params.get("IntegrationResourceGroup")
        self._SchedulerResourceGroupName = params.get("SchedulerResourceGroupName")
        self._IntegrationResourceGroupName = params.get("IntegrationResourceGroupName")
        if params.get("MakeExtList") is not None:
            self._MakeExtList = []
            for item in params.get("MakeExtList"):
                obj = StrToStrMap()
                obj._deserialize(item)
                self._MakeExtList.append(obj)
        self._SameSelfWorkflowDependType = params.get("SameSelfWorkflowDependType")
        self._SelfWorkflowDependency = params.get("SelfWorkflowDependency")
        self._MakeType = params.get("MakeType")
        self._StatusList = params.get("StatusList")
        self._MakeCheckEventType = params.get("MakeCheckEventType")
        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 CreateOpsMakePlanResponse(AbstractModel):
    r"""CreateOpsMakePlan返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CommonIdOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CommonIdOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CommonIdOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class CreateRuleRequest(AbstractModel):
    r"""CreateRule请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RuleGroupId: 规则组Id
        :type RuleGroupId: int
        :param _Name: 规则名称
        :type Name: str
        :param _TableId: 数据表ID
        :type TableId: str
        :param _RuleTemplateId: 规则模板列表
        :type RuleTemplateId: int
        :param _Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        :type Type: int
        :param _QualityDim: 规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :type QualityDim: int
        :param _SourceObjectDataTypeName: 源字段详细类型，int、string
        :type SourceObjectDataTypeName: str
        :param _SourceObjectValue: 源字段名称
        :type SourceObjectValue: str
        :param _ConditionType: 检测范围 1.全表   2.条件扫描
        :type ConditionType: int
        :param _ConditionExpression: 条件扫描WHERE条件表达式
        :type ConditionExpression: str
        :param _CustomSql: 自定义SQL
        :type CustomSql: str
        :param _CompareRule: 报警触发条件
        :type CompareRule: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        :param _AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
        :type AlarmLevel: int
        :param _Description: 规则描述
        :type Description: str
        :param _DatasourceId: 数据源Id
        :type DatasourceId: str
        :param _DatabaseId: 数据库Id
        :type DatabaseId: str
        :param _TargetDatabaseId: 目标库Id
        :type TargetDatabaseId: str
        :param _TargetTableId: 目标表Id
        :type TargetTableId: str
        :param _TargetConditionExpr: 目标过滤条件表达式
        :type TargetConditionExpr: str
        :param _RelConditionExpr: 源字段与目标字段关联条件on表达式
        :type RelConditionExpr: str
        :param _FieldConfig: 自定义模版sql表达式字段替换参数
        :type FieldConfig: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        :param _TargetObjectValue: 目标字段名称  CITY
        :type TargetObjectValue: str
        :param _SourceEngineTypes: 该规则支持的执行引擎列表
        :type SourceEngineTypes: list of int non-negative
        """
        self._ProjectId = None
        self._RuleGroupId = None
        self._Name = None
        self._TableId = None
        self._RuleTemplateId = None
        self._Type = None
        self._QualityDim = None
        self._SourceObjectDataTypeName = None
        self._SourceObjectValue = None
        self._ConditionType = None
        self._ConditionExpression = None
        self._CustomSql = None
        self._CompareRule = None
        self._AlarmLevel = None
        self._Description = None
        self._DatasourceId = None
        self._DatabaseId = None
        self._TargetDatabaseId = None
        self._TargetTableId = None
        self._TargetConditionExpr = None
        self._RelConditionExpr = None
        self._FieldConfig = None
        self._TargetObjectValue = None
        self._SourceEngineTypes = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleGroupId(self):
        r"""规则组Id
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def Name(self):
        r"""规则名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def TableId(self):
        r"""数据表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def RuleTemplateId(self):
        r"""规则模板列表
        :rtype: int
        """
        return self._RuleTemplateId

    @RuleTemplateId.setter
    def RuleTemplateId(self, RuleTemplateId):
        self._RuleTemplateId = RuleTemplateId

    @property
    def Type(self):
        r"""规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def QualityDim(self):
        r"""规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def SourceObjectDataTypeName(self):
        r"""源字段详细类型，int、string
        :rtype: str
        """
        return self._SourceObjectDataTypeName

    @SourceObjectDataTypeName.setter
    def SourceObjectDataTypeName(self, SourceObjectDataTypeName):
        self._SourceObjectDataTypeName = SourceObjectDataTypeName

    @property
    def SourceObjectValue(self):
        r"""源字段名称
        :rtype: str
        """
        return self._SourceObjectValue

    @SourceObjectValue.setter
    def SourceObjectValue(self, SourceObjectValue):
        self._SourceObjectValue = SourceObjectValue

    @property
    def ConditionType(self):
        r"""检测范围 1.全表   2.条件扫描
        :rtype: int
        """
        return self._ConditionType

    @ConditionType.setter
    def ConditionType(self, ConditionType):
        self._ConditionType = ConditionType

    @property
    def ConditionExpression(self):
        r"""条件扫描WHERE条件表达式
        :rtype: str
        """
        return self._ConditionExpression

    @ConditionExpression.setter
    def ConditionExpression(self, ConditionExpression):
        self._ConditionExpression = ConditionExpression

    @property
    def CustomSql(self):
        r"""自定义SQL
        :rtype: str
        """
        return self._CustomSql

    @CustomSql.setter
    def CustomSql(self, CustomSql):
        self._CustomSql = CustomSql

    @property
    def CompareRule(self):
        r"""报警触发条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        """
        return self._CompareRule

    @CompareRule.setter
    def CompareRule(self, CompareRule):
        self._CompareRule = CompareRule

    @property
    def AlarmLevel(self):
        r"""报警触发级别 1.低, 2.中, 3.高
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def Description(self):
        r"""规则描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def DatasourceId(self):
        r"""数据源Id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseId(self):
        r"""数据库Id
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def TargetDatabaseId(self):
        r"""目标库Id
        :rtype: str
        """
        return self._TargetDatabaseId

    @TargetDatabaseId.setter
    def TargetDatabaseId(self, TargetDatabaseId):
        self._TargetDatabaseId = TargetDatabaseId

    @property
    def TargetTableId(self):
        r"""目标表Id
        :rtype: str
        """
        return self._TargetTableId

    @TargetTableId.setter
    def TargetTableId(self, TargetTableId):
        self._TargetTableId = TargetTableId

    @property
    def TargetConditionExpr(self):
        r"""目标过滤条件表达式
        :rtype: str
        """
        return self._TargetConditionExpr

    @TargetConditionExpr.setter
    def TargetConditionExpr(self, TargetConditionExpr):
        self._TargetConditionExpr = TargetConditionExpr

    @property
    def RelConditionExpr(self):
        r"""源字段与目标字段关联条件on表达式
        :rtype: str
        """
        return self._RelConditionExpr

    @RelConditionExpr.setter
    def RelConditionExpr(self, RelConditionExpr):
        self._RelConditionExpr = RelConditionExpr

    @property
    def FieldConfig(self):
        r"""自定义模版sql表达式字段替换参数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        """
        return self._FieldConfig

    @FieldConfig.setter
    def FieldConfig(self, FieldConfig):
        self._FieldConfig = FieldConfig

    @property
    def TargetObjectValue(self):
        r"""目标字段名称  CITY
        :rtype: str
        """
        return self._TargetObjectValue

    @TargetObjectValue.setter
    def TargetObjectValue(self, TargetObjectValue):
        self._TargetObjectValue = TargetObjectValue

    @property
    def SourceEngineTypes(self):
        r"""该规则支持的执行引擎列表
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._Name = params.get("Name")
        self._TableId = params.get("TableId")
        self._RuleTemplateId = params.get("RuleTemplateId")
        self._Type = params.get("Type")
        self._QualityDim = params.get("QualityDim")
        self._SourceObjectDataTypeName = params.get("SourceObjectDataTypeName")
        self._SourceObjectValue = params.get("SourceObjectValue")
        self._ConditionType = params.get("ConditionType")
        self._ConditionExpression = params.get("ConditionExpression")
        self._CustomSql = params.get("CustomSql")
        if params.get("CompareRule") is not None:
            self._CompareRule = CompareRule()
            self._CompareRule._deserialize(params.get("CompareRule"))
        self._AlarmLevel = params.get("AlarmLevel")
        self._Description = params.get("Description")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseId = params.get("DatabaseId")
        self._TargetDatabaseId = params.get("TargetDatabaseId")
        self._TargetTableId = params.get("TargetTableId")
        self._TargetConditionExpr = params.get("TargetConditionExpr")
        self._RelConditionExpr = params.get("RelConditionExpr")
        if params.get("FieldConfig") is not None:
            self._FieldConfig = RuleFieldConfig()
            self._FieldConfig._deserialize(params.get("FieldConfig"))
        self._TargetObjectValue = params.get("TargetObjectValue")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        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 CreateRuleResponse(AbstractModel):
    r"""CreateRule返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.Rule`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Rule`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = Rule()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class CreateRuleTemplateRequest(AbstractModel):
    r"""CreateRuleTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Type: 模板类型  1.系统模板   2.自定义模板
        :type Type: int
        :param _Name: 模板名称
        :type Name: str
        :param _QualityDim: 质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        :type QualityDim: int
        :param _SourceObjectType: 源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        :type SourceObjectType: int
        :param _Description: 模板描述
        :type Description: str
        :param _SourceEngineTypes: 源端对应的引擎类型
        :type SourceEngineTypes: list of int non-negative
        :param _MultiSourceFlag: 是否关联其它库表
        :type MultiSourceFlag: bool
        :param _SqlExpression: SQL 表达式
        :type SqlExpression: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WhereFlag: 是否添加where参数
        :type WhereFlag: bool
        """
        self._Type = None
        self._Name = None
        self._QualityDim = None
        self._SourceObjectType = None
        self._Description = None
        self._SourceEngineTypes = None
        self._MultiSourceFlag = None
        self._SqlExpression = None
        self._ProjectId = None
        self._WhereFlag = None

    @property
    def Type(self):
        r"""模板类型  1.系统模板   2.自定义模板
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Name(self):
        r"""模板名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def QualityDim(self):
        r"""质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def SourceObjectType(self):
        r"""源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        :rtype: int
        """
        return self._SourceObjectType

    @SourceObjectType.setter
    def SourceObjectType(self, SourceObjectType):
        self._SourceObjectType = SourceObjectType

    @property
    def Description(self):
        r"""模板描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def SourceEngineTypes(self):
        r"""源端对应的引擎类型
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes

    @property
    def MultiSourceFlag(self):
        r"""是否关联其它库表
        :rtype: bool
        """
        return self._MultiSourceFlag

    @MultiSourceFlag.setter
    def MultiSourceFlag(self, MultiSourceFlag):
        self._MultiSourceFlag = MultiSourceFlag

    @property
    def SqlExpression(self):
        r"""SQL 表达式
        :rtype: str
        """
        return self._SqlExpression

    @SqlExpression.setter
    def SqlExpression(self, SqlExpression):
        self._SqlExpression = SqlExpression

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WhereFlag(self):
        r"""是否添加where参数
        :rtype: bool
        """
        return self._WhereFlag

    @WhereFlag.setter
    def WhereFlag(self, WhereFlag):
        self._WhereFlag = WhereFlag


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._Name = params.get("Name")
        self._QualityDim = params.get("QualityDim")
        self._SourceObjectType = params.get("SourceObjectType")
        self._Description = params.get("Description")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        self._MultiSourceFlag = params.get("MultiSourceFlag")
        self._SqlExpression = params.get("SqlExpression")
        self._ProjectId = params.get("ProjectId")
        self._WhereFlag = params.get("WhereFlag")
        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 CreateRuleTemplateResponse(AbstractModel):
    r"""CreateRuleTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 模板Id
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""模板Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateTaskAlarmRegularRequest(AbstractModel):
    r"""CreateTaskAlarmRegular请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskAlarmInfo: 告警配置信息
        :type TaskAlarmInfo: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._TaskAlarmInfo = None
        self._ProjectId = None

    @property
    def TaskAlarmInfo(self):
        r"""告警配置信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        """
        return self._TaskAlarmInfo

    @TaskAlarmInfo.setter
    def TaskAlarmInfo(self, TaskAlarmInfo):
        self._TaskAlarmInfo = TaskAlarmInfo

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("TaskAlarmInfo") is not None:
            self._TaskAlarmInfo = TaskAlarmInfo()
            self._TaskAlarmInfo._deserialize(params.get("TaskAlarmInfo"))
        self._ProjectId = params.get("ProjectId")
        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 CreateTaskAlarmRegularResponse(AbstractModel):
    r"""CreateTaskAlarmRegular返回参数结构体

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警ID
        :type AlarmId: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._AlarmId = None
        self._RequestId = None

    @property
    def AlarmId(self):
        r"""告警ID
        :rtype: int
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._RequestId = params.get("RequestId")


class CreateTaskFolderRequest(AbstractModel):
    r"""CreateTaskFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _FolderName: 文件夹名称
        :type FolderName: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ParentFolderId: 父文件夹ID
        :type ParentFolderId: str
        :param _TaskNodeType: 目录分类，该值必传，枚举值如下：
ETL：数据集成
EMR：EMR
TBDS：TBDS
DLC：DLC
TDSQL：TDSQL
TCHOUSE：TCHOUSE
GENERAL：通用
TI_ONE：TI-ONE机器学习
ACROSS_WORKFLOWS：跨工作流
        :type TaskNodeType: str
        """
        self._ProjectId = None
        self._FolderName = None
        self._WorkflowId = None
        self._ParentFolderId = None
        self._TaskNodeType = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderName(self):
        r"""文件夹名称
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ParentFolderId(self):
        r"""父文件夹ID
        :rtype: str
        """
        return self._ParentFolderId

    @ParentFolderId.setter
    def ParentFolderId(self, ParentFolderId):
        self._ParentFolderId = ParentFolderId

    @property
    def TaskNodeType(self):
        r"""目录分类，该值必传，枚举值如下：
ETL：数据集成
EMR：EMR
TBDS：TBDS
DLC：DLC
TDSQL：TDSQL
TCHOUSE：TCHOUSE
GENERAL：通用
TI_ONE：TI-ONE机器学习
ACROSS_WORKFLOWS：跨工作流
        :rtype: str
        """
        return self._TaskNodeType

    @TaskNodeType.setter
    def TaskNodeType(self, TaskNodeType):
        self._TaskNodeType = TaskNodeType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderName = params.get("FolderName")
        self._WorkflowId = params.get("WorkflowId")
        self._ParentFolderId = params.get("ParentFolderId")
        self._TaskNodeType = params.get("TaskNodeType")
        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 CreateTaskFolderResponse(AbstractModel):
    r"""CreateTaskFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务文件夹Id，null则创建失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务文件夹Id，null则创建失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateTaskNewRequest(AbstractModel):
    r"""CreateTaskNew请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _TaskName: 任务名
        :type TaskName: str
        :param _TaskType: 26离线同步，30Python，31PySpark，32DLC，33Impala，34Hive SQL，35Shell，36Spark SQL，39Spark，40CDW PG，92MapReduce
        :type TaskType: int
        :param _Content: （必填参数）指定脚本内容，base64编码
        :type Content: str
        :param _TaskExt: 扩展属性
        :type TaskExt: list of TaskExtInfo
        :param _ProductName: 产品名称
        :type ProductName: str
        :param _InstanceInitStrategy: 任务实例初始化策略
        :type InstanceInitStrategy: str
        :param _LeftCoordinate: 画布坐标横轴
        :type LeftCoordinate: float
        :param _TopCoordinate: 画布坐标纵轴
        :type TopCoordinate: float
        :param _TaskFolderId: 工作流目录ID
        :type TaskFolderId: str
        :param _CodeTemplateId: 代码模板ID
        :type CodeTemplateId: str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._TaskName = None
        self._TaskType = None
        self._Content = None
        self._TaskExt = None
        self._ProductName = None
        self._InstanceInitStrategy = None
        self._LeftCoordinate = None
        self._TopCoordinate = None
        self._TaskFolderId = None
        self._CodeTemplateId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskType(self):
        r"""26离线同步，30Python，31PySpark，32DLC，33Impala，34Hive SQL，35Shell，36Spark SQL，39Spark，40CDW PG，92MapReduce
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def Content(self):
        r"""（必填参数）指定脚本内容，base64编码
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def TaskExt(self):
        r"""扩展属性
        :rtype: list of TaskExtInfo
        """
        return self._TaskExt

    @TaskExt.setter
    def TaskExt(self, TaskExt):
        self._TaskExt = TaskExt

    @property
    def ProductName(self):
        r"""产品名称
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def InstanceInitStrategy(self):
        r"""任务实例初始化策略
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def LeftCoordinate(self):
        r"""画布坐标横轴
        :rtype: float
        """
        return self._LeftCoordinate

    @LeftCoordinate.setter
    def LeftCoordinate(self, LeftCoordinate):
        self._LeftCoordinate = LeftCoordinate

    @property
    def TopCoordinate(self):
        r"""画布坐标纵轴
        :rtype: float
        """
        return self._TopCoordinate

    @TopCoordinate.setter
    def TopCoordinate(self, TopCoordinate):
        self._TopCoordinate = TopCoordinate

    @property
    def TaskFolderId(self):
        r"""工作流目录ID
        :rtype: str
        """
        return self._TaskFolderId

    @TaskFolderId.setter
    def TaskFolderId(self, TaskFolderId):
        self._TaskFolderId = TaskFolderId

    @property
    def CodeTemplateId(self):
        r"""代码模板ID
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskName = params.get("TaskName")
        self._TaskType = params.get("TaskType")
        self._Content = params.get("Content")
        if params.get("TaskExt") is not None:
            self._TaskExt = []
            for item in params.get("TaskExt"):
                obj = TaskExtInfo()
                obj._deserialize(item)
                self._TaskExt.append(obj)
        self._ProductName = params.get("ProductName")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._LeftCoordinate = params.get("LeftCoordinate")
        self._TopCoordinate = params.get("TopCoordinate")
        self._TaskFolderId = params.get("TaskFolderId")
        self._CodeTemplateId = params.get("CodeTemplateId")
        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 CreateTaskNewResponse(AbstractModel):
    r"""CreateTaskNew返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateTaskRequest(AbstractModel):
    r"""CreateTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _TaskName: 任务名
        :type TaskName: str
        :param _TaskType: 26离线同步，30Python，31PySpark，32DLC，33Impala，34Hive SQL，35Shell，36Spark SQL，39Spark，40TCHouse-P，92MapReduce
        :type TaskType: int
        :param _TaskExt: 扩展属性
        :type TaskExt: list of TaskExtInfo
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._TaskName = None
        self._TaskType = None
        self._TaskExt = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskType(self):
        r"""26离线同步，30Python，31PySpark，32DLC，33Impala，34Hive SQL，35Shell，36Spark SQL，39Spark，40TCHouse-P，92MapReduce
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TaskExt(self):
        r"""扩展属性
        :rtype: list of TaskExtInfo
        """
        return self._TaskExt

    @TaskExt.setter
    def TaskExt(self, TaskExt):
        self._TaskExt = TaskExt


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskName = params.get("TaskName")
        self._TaskType = params.get("TaskType")
        if params.get("TaskExt") is not None:
            self._TaskExt = []
            for item in params.get("TaskExt"):
                obj = TaskExtInfo()
                obj._deserialize(item)
                self._TaskExt.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 CreateTaskResponse(AbstractModel):
    r"""CreateTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CommonId`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CommonId`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CommonId()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class CreateTaskVersionDsRequest(AbstractModel):
    r"""CreateTaskVersionDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Task: <p>任务id</p>
        :type Task: :class:`tencentcloud.wedata.v20210820.models.BatchCreateTaskVersionDTO`
        :param _NeedCheckParentSubmitted: <p>是否需要校验父任务已经提交到调度</p>
        :type NeedCheckParentSubmitted: bool
        :param _AutoRun: <p>是否自动运行</p>
        :type AutoRun: bool
        :param _ProjectId: <p>项目ID</p>
        :type ProjectId: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _AlarmWays: <p>告警方式:email-邮件;sms-短信;wecom-企业微信</p>
        :type AlarmWays: str
        :param _AlarmRecipientTypes: <p>告警对象:1-项目管理员，2-任务责任人</p>
        :type AlarmRecipientTypes: str
        :param _EnableCheckTaskCycleLink: <p>是否需要校验循环依赖，默认为 true，如果使用了 CheckTaskCycleLink 和 CheckTaskCycleConfiguration 两个接口校验成功可以传 false，后台服务器不再做校验</p>
        :type EnableCheckTaskCycleLink: bool
        :param _EnableMakeUp: <p>是否需要补录中间实例</p>
        :type EnableMakeUp: bool
        :param _AssignApprovalList: <p>指定审批人列表</p>
        :type AssignApprovalList: list of str
        :param _MissingInstanceStrategy: <p>MAKEUP:补录缺失的实例;FORCE_SUCCESS:将缺失的实例置成功;SKIP:不处理，忽略缺失的实例</p>
        :type MissingInstanceStrategy: str
        """
        self._Task = None
        self._NeedCheckParentSubmitted = None
        self._AutoRun = None
        self._ProjectId = None
        self._RequestFromSource = None
        self._AlarmWays = None
        self._AlarmRecipientTypes = None
        self._EnableCheckTaskCycleLink = None
        self._EnableMakeUp = None
        self._AssignApprovalList = None
        self._MissingInstanceStrategy = None

    @property
    def Task(self):
        r"""<p>任务id</p>
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchCreateTaskVersionDTO`
        """
        return self._Task

    @Task.setter
    def Task(self, Task):
        self._Task = Task

    @property
    def NeedCheckParentSubmitted(self):
        r"""<p>是否需要校验父任务已经提交到调度</p>
        :rtype: bool
        """
        return self._NeedCheckParentSubmitted

    @NeedCheckParentSubmitted.setter
    def NeedCheckParentSubmitted(self, NeedCheckParentSubmitted):
        self._NeedCheckParentSubmitted = NeedCheckParentSubmitted

    @property
    def AutoRun(self):
        r"""<p>是否自动运行</p>
        :rtype: bool
        """
        return self._AutoRun

    @AutoRun.setter
    def AutoRun(self, AutoRun):
        self._AutoRun = AutoRun

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def AlarmWays(self):
        r"""<p>告警方式:email-邮件;sms-短信;wecom-企业微信</p>
        :rtype: str
        """
        return self._AlarmWays

    @AlarmWays.setter
    def AlarmWays(self, AlarmWays):
        self._AlarmWays = AlarmWays

    @property
    def AlarmRecipientTypes(self):
        r"""<p>告警对象:1-项目管理员，2-任务责任人</p>
        :rtype: str
        """
        return self._AlarmRecipientTypes

    @AlarmRecipientTypes.setter
    def AlarmRecipientTypes(self, AlarmRecipientTypes):
        self._AlarmRecipientTypes = AlarmRecipientTypes

    @property
    def EnableCheckTaskCycleLink(self):
        r"""<p>是否需要校验循环依赖，默认为 true，如果使用了 CheckTaskCycleLink 和 CheckTaskCycleConfiguration 两个接口校验成功可以传 false，后台服务器不再做校验</p>
        :rtype: bool
        """
        return self._EnableCheckTaskCycleLink

    @EnableCheckTaskCycleLink.setter
    def EnableCheckTaskCycleLink(self, EnableCheckTaskCycleLink):
        self._EnableCheckTaskCycleLink = EnableCheckTaskCycleLink

    @property
    def EnableMakeUp(self):
        r"""<p>是否需要补录中间实例</p>
        :rtype: bool
        """
        return self._EnableMakeUp

    @EnableMakeUp.setter
    def EnableMakeUp(self, EnableMakeUp):
        self._EnableMakeUp = EnableMakeUp

    @property
    def AssignApprovalList(self):
        r"""<p>指定审批人列表</p>
        :rtype: list of str
        """
        return self._AssignApprovalList

    @AssignApprovalList.setter
    def AssignApprovalList(self, AssignApprovalList):
        self._AssignApprovalList = AssignApprovalList

    @property
    def MissingInstanceStrategy(self):
        r"""<p>MAKEUP:补录缺失的实例;FORCE_SUCCESS:将缺失的实例置成功;SKIP:不处理，忽略缺失的实例</p>
        :rtype: str
        """
        return self._MissingInstanceStrategy

    @MissingInstanceStrategy.setter
    def MissingInstanceStrategy(self, MissingInstanceStrategy):
        self._MissingInstanceStrategy = MissingInstanceStrategy


    def _deserialize(self, params):
        if params.get("Task") is not None:
            self._Task = BatchCreateTaskVersionDTO()
            self._Task._deserialize(params.get("Task"))
        self._NeedCheckParentSubmitted = params.get("NeedCheckParentSubmitted")
        self._AutoRun = params.get("AutoRun")
        self._ProjectId = params.get("ProjectId")
        self._RequestFromSource = params.get("RequestFromSource")
        self._AlarmWays = params.get("AlarmWays")
        self._AlarmRecipientTypes = params.get("AlarmRecipientTypes")
        self._EnableCheckTaskCycleLink = params.get("EnableCheckTaskCycleLink")
        self._EnableMakeUp = params.get("EnableMakeUp")
        self._AssignApprovalList = params.get("AssignApprovalList")
        self._MissingInstanceStrategy = params.get("MissingInstanceStrategy")
        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 CreateTaskVersionDsResponse(AbstractModel):
    r"""CreateTaskVersionDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: <p>版本</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""<p>版本</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class CreateWorkflowDsRequest(AbstractModel):
    r"""CreateWorkflowDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _WorkflowName: 工作流名称
        :type WorkflowName: str
        :param _FolderId: 文件夹ID
        :type FolderId: str
        :param _WorkflowDesc: 工作流描述
        :type WorkflowDesc: str
        :param _WorkflowType: 工作流类型,取值示例

- cycle 周期工作流
- manual 手动工作流

        :type WorkflowType: str
        """
        self._ProjectId = None
        self._WorkflowName = None
        self._FolderId = None
        self._WorkflowDesc = None
        self._WorkflowType = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowName(self):
        r"""工作流名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""文件夹ID
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def WorkflowDesc(self):
        r"""工作流描述
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowType(self):
        r"""工作流类型,取值示例

- cycle 周期工作流
- manual 手动工作流

        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowType = params.get("WorkflowType")
        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 CreateWorkflowDsResponse(AbstractModel):
    r"""CreateWorkflowDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流ID
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流ID
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DagInstancesRequest(AbstractModel):
    r"""DagInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例列表
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :type CheckFather: bool
        :param _RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :type RerunType: str
        :param _DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :type DependentWay: str
        :param _SkipEventListening: 重跑忽略事件监听与否 
        :type SkipEventListening: bool
        :param _SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _SearchCondition: 查询条件,当前接口需要把要查询的示例信息放在该字段
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        """
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._SearchCondition = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None

    @property
    def Instances(self):
        r"""实例列表
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""重跑忽略事件监听与否 
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def SearchCondition(self):
        r"""查询条件,当前接口需要把要查询的示例信息放在该字段
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        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 DagInstancesResponse(AbstractModel):
    r"""DagInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CollectionInstanceOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CollectionInstanceOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CollectionInstanceOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DailyScoreInfo(AbstractModel):
    r"""日评分信息

    """

    def __init__(self):
        r"""
        :param _StatisticsDate: 统计日期 时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type StatisticsDate: int
        :param _Score: 评分
注意：此字段可能返回 null，表示取不到有效值。
        :type Score: float
        """
        self._StatisticsDate = None
        self._Score = None

    @property
    def StatisticsDate(self):
        r"""统计日期 时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StatisticsDate

    @StatisticsDate.setter
    def StatisticsDate(self, StatisticsDate):
        self._StatisticsDate = StatisticsDate

    @property
    def Score(self):
        r"""评分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Score

    @Score.setter
    def Score(self, Score):
        self._Score = Score


    def _deserialize(self, params):
        self._StatisticsDate = params.get("StatisticsDate")
        self._Score = params.get("Score")
        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 DataAssetOption(AbstractModel):
    r"""数据资产操作标记

    """

    def __init__(self):
        r"""
        :param _HasPermission: 是否拥有权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasPermission: bool
        :param _HasFavorite: 是否已收藏
注意：此字段可能返回 null，表示取不到有效值。
        :type HasFavorite: bool
        :param _OtherOperate: 其他的操作类型:
取值：
ProjectIdNull -当前表未设置归属项目；
NotCluster - 非系统源不支持权限申请；
ProjectDisabled - 当前项目已被禁用；
注意：此字段可能返回 null，表示取不到有效值。
        :type OtherOperate: str
        :param _FavoriteCount: 被收藏数
注意：此字段可能返回 null，表示取不到有效值。
        :type FavoriteCount: int
        :param _HasBizPermission: 是否有修改业务权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasBizPermission: bool
        :param _HasProjectPermission: 是否有修改归属项目权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasProjectPermission: bool
        :param _ErrorTips: 用户无映射账户，请先完成账户映射后再来申请。
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorTips: str
        """
        self._HasPermission = None
        self._HasFavorite = None
        self._OtherOperate = None
        self._FavoriteCount = None
        self._HasBizPermission = None
        self._HasProjectPermission = None
        self._ErrorTips = None

    @property
    def HasPermission(self):
        r"""是否拥有权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasPermission

    @HasPermission.setter
    def HasPermission(self, HasPermission):
        self._HasPermission = HasPermission

    @property
    def HasFavorite(self):
        r"""是否已收藏
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasFavorite

    @HasFavorite.setter
    def HasFavorite(self, HasFavorite):
        self._HasFavorite = HasFavorite

    @property
    def OtherOperate(self):
        r"""其他的操作类型:
取值：
ProjectIdNull -当前表未设置归属项目；
NotCluster - 非系统源不支持权限申请；
ProjectDisabled - 当前项目已被禁用；
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OtherOperate

    @OtherOperate.setter
    def OtherOperate(self, OtherOperate):
        self._OtherOperate = OtherOperate

    @property
    def FavoriteCount(self):
        r"""被收藏数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FavoriteCount

    @FavoriteCount.setter
    def FavoriteCount(self, FavoriteCount):
        self._FavoriteCount = FavoriteCount

    @property
    def HasBizPermission(self):
        r"""是否有修改业务权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasBizPermission

    @HasBizPermission.setter
    def HasBizPermission(self, HasBizPermission):
        self._HasBizPermission = HasBizPermission

    @property
    def HasProjectPermission(self):
        r"""是否有修改归属项目权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasProjectPermission

    @HasProjectPermission.setter
    def HasProjectPermission(self, HasProjectPermission):
        self._HasProjectPermission = HasProjectPermission

    @property
    def ErrorTips(self):
        r"""用户无映射账户，请先完成账户映射后再来申请。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorTips

    @ErrorTips.setter
    def ErrorTips(self, ErrorTips):
        self._ErrorTips = ErrorTips


    def _deserialize(self, params):
        self._HasPermission = params.get("HasPermission")
        self._HasFavorite = params.get("HasFavorite")
        self._OtherOperate = params.get("OtherOperate")
        self._FavoriteCount = params.get("FavoriteCount")
        self._HasBizPermission = params.get("HasBizPermission")
        self._HasProjectPermission = params.get("HasProjectPermission")
        self._ErrorTips = params.get("ErrorTips")
        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 DataCheckStat(AbstractModel):
    r"""数据监测情况结果

    """

    def __init__(self):
        r"""
        :param _TableTotal: 表总数
        :type TableTotal: int
        :param _ColumnTotal: 字段总数
        :type ColumnTotal: int
        :param _TableConfig: 表配置检测数
        :type TableConfig: int
        :param _ColumnConfig: 字段配置检测数
        :type ColumnConfig: int
        :param _TableExec: 表实际检测数
        :type TableExec: int
        :param _ColumnExec: 字段实际检测数
        :type ColumnExec: int
        """
        self._TableTotal = None
        self._ColumnTotal = None
        self._TableConfig = None
        self._ColumnConfig = None
        self._TableExec = None
        self._ColumnExec = None

    @property
    def TableTotal(self):
        r"""表总数
        :rtype: int
        """
        return self._TableTotal

    @TableTotal.setter
    def TableTotal(self, TableTotal):
        self._TableTotal = TableTotal

    @property
    def ColumnTotal(self):
        r"""字段总数
        :rtype: int
        """
        return self._ColumnTotal

    @ColumnTotal.setter
    def ColumnTotal(self, ColumnTotal):
        self._ColumnTotal = ColumnTotal

    @property
    def TableConfig(self):
        r"""表配置检测数
        :rtype: int
        """
        return self._TableConfig

    @TableConfig.setter
    def TableConfig(self, TableConfig):
        self._TableConfig = TableConfig

    @property
    def ColumnConfig(self):
        r"""字段配置检测数
        :rtype: int
        """
        return self._ColumnConfig

    @ColumnConfig.setter
    def ColumnConfig(self, ColumnConfig):
        self._ColumnConfig = ColumnConfig

    @property
    def TableExec(self):
        r"""表实际检测数
        :rtype: int
        """
        return self._TableExec

    @TableExec.setter
    def TableExec(self, TableExec):
        self._TableExec = TableExec

    @property
    def ColumnExec(self):
        r"""字段实际检测数
        :rtype: int
        """
        return self._ColumnExec

    @ColumnExec.setter
    def ColumnExec(self, ColumnExec):
        self._ColumnExec = ColumnExec


    def _deserialize(self, params):
        self._TableTotal = params.get("TableTotal")
        self._ColumnTotal = params.get("ColumnTotal")
        self._TableConfig = params.get("TableConfig")
        self._ColumnConfig = params.get("ColumnConfig")
        self._TableExec = params.get("TableExec")
        self._ColumnExec = params.get("ColumnExec")
        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 DataServicePublishedApiListFilter(AbstractModel):
    r"""获取数据服务API的发布态信息列表过滤条件

    """

    def __init__(self):
        r"""
        :param _PathUrl: 请求路径关键词筛选
        :type PathUrl: str
        :param _Keyword: Api名称关键词筛选
        :type Keyword: str
        :param _AuthTypes: Api认证方式筛选 0:免认证 1:应用认证
        :type AuthTypes: list of int non-negative
        :param _ApiStatus: 服务Api状态 1:已上线  3:已下线
        :type ApiStatus: list of int non-negative
        :param _ConfigTypes: API配置方式 0:向导、1、脚本、2、注册Api
        :type ConfigTypes: list of int non-negative
        """
        self._PathUrl = None
        self._Keyword = None
        self._AuthTypes = None
        self._ApiStatus = None
        self._ConfigTypes = None

    @property
    def PathUrl(self):
        r"""请求路径关键词筛选
        :rtype: str
        """
        return self._PathUrl

    @PathUrl.setter
    def PathUrl(self, PathUrl):
        self._PathUrl = PathUrl

    @property
    def Keyword(self):
        r"""Api名称关键词筛选
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def AuthTypes(self):
        r"""Api认证方式筛选 0:免认证 1:应用认证
        :rtype: list of int non-negative
        """
        return self._AuthTypes

    @AuthTypes.setter
    def AuthTypes(self, AuthTypes):
        self._AuthTypes = AuthTypes

    @property
    def ApiStatus(self):
        r"""服务Api状态 1:已上线  3:已下线
        :rtype: list of int non-negative
        """
        return self._ApiStatus

    @ApiStatus.setter
    def ApiStatus(self, ApiStatus):
        self._ApiStatus = ApiStatus

    @property
    def ConfigTypes(self):
        r"""API配置方式 0:向导、1、脚本、2、注册Api
        :rtype: list of int non-negative
        """
        return self._ConfigTypes

    @ConfigTypes.setter
    def ConfigTypes(self, ConfigTypes):
        self._ConfigTypes = ConfigTypes


    def _deserialize(self, params):
        self._PathUrl = params.get("PathUrl")
        self._Keyword = params.get("Keyword")
        self._AuthTypes = params.get("AuthTypes")
        self._ApiStatus = params.get("ApiStatus")
        self._ConfigTypes = params.get("ConfigTypes")
        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 DataServiceRequestListOrder(AbstractModel):
    r"""数据服务通用排序参数

    """

    def __init__(self):
        r"""
        :param _Name: 排序参数名称
取值： 
  CreateTime 表示按照创建时间排序
  ModifyTime 表示按照更新时间排序
        :type Name: str
        :param _Direction: 排序参数顺序
        :type Direction: str
        """
        self._Name = None
        self._Direction = None

    @property
    def Name(self):
        r"""排序参数名称
取值： 
  CreateTime 表示按照创建时间排序
  ModifyTime 表示按照更新时间排序
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Direction(self):
        r"""排序参数顺序
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Direction = params.get("Direction")
        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 DataServiceRequestParam(AbstractModel):
    r"""数据服务入参

    """

    def __init__(self):
        r"""
        :param _ParamName: 参数名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamName: str
        :param _BindField: 绑定字段
注意：此字段可能返回 null，表示取不到有效值。
        :type BindField: str
        :param _ParamType: 参数类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamType: str
        :param _ParamPosition: 参数位置
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamPosition: str
        :param _Operator: 操作符
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _NonEmpty: 是否为空
注意：此字段可能返回 null，表示取不到有效值。
        :type NonEmpty: int
        :param _DefaultValue: 默认值
注意：此字段可能返回 null，表示取不到有效值。
        :type DefaultValue: str
        :param _ExampleValue: 示例值
注意：此字段可能返回 null，表示取不到有效值。
        :type ExampleValue: str
        :param _Description: 参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _StdCode: 关联标准编码
注意：此字段可能返回 null，表示取不到有效值。
        :type StdCode: str
        """
        self._ParamName = None
        self._BindField = None
        self._ParamType = None
        self._ParamPosition = None
        self._Operator = None
        self._NonEmpty = None
        self._DefaultValue = None
        self._ExampleValue = None
        self._Description = None
        self._StdCode = None

    @property
    def ParamName(self):
        r"""参数名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamName

    @ParamName.setter
    def ParamName(self, ParamName):
        self._ParamName = ParamName

    @property
    def BindField(self):
        r"""绑定字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BindField

    @BindField.setter
    def BindField(self, BindField):
        self._BindField = BindField

    @property
    def ParamType(self):
        r"""参数类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamType

    @ParamType.setter
    def ParamType(self, ParamType):
        self._ParamType = ParamType

    @property
    def ParamPosition(self):
        r"""参数位置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamPosition

    @ParamPosition.setter
    def ParamPosition(self, ParamPosition):
        self._ParamPosition = ParamPosition

    @property
    def Operator(self):
        r"""操作符
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def NonEmpty(self):
        r"""是否为空
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NonEmpty

    @NonEmpty.setter
    def NonEmpty(self, NonEmpty):
        self._NonEmpty = NonEmpty

    @property
    def DefaultValue(self):
        r"""默认值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DefaultValue

    @DefaultValue.setter
    def DefaultValue(self, DefaultValue):
        self._DefaultValue = DefaultValue

    @property
    def ExampleValue(self):
        r"""示例值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExampleValue

    @ExampleValue.setter
    def ExampleValue(self, ExampleValue):
        self._ExampleValue = ExampleValue

    @property
    def Description(self):
        r"""参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def StdCode(self):
        r"""关联标准编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StdCode

    @StdCode.setter
    def StdCode(self, StdCode):
        self._StdCode = StdCode


    def _deserialize(self, params):
        self._ParamName = params.get("ParamName")
        self._BindField = params.get("BindField")
        self._ParamType = params.get("ParamType")
        self._ParamPosition = params.get("ParamPosition")
        self._Operator = params.get("Operator")
        self._NonEmpty = params.get("NonEmpty")
        self._DefaultValue = params.get("DefaultValue")
        self._ExampleValue = params.get("ExampleValue")
        self._Description = params.get("Description")
        self._StdCode = params.get("StdCode")
        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 DataServiceResponseParam(AbstractModel):
    r"""数据服务入参

    """

    def __init__(self):
        r"""
        :param _ParamName: 参数名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamName: str
        :param _BindField: 绑定字段
注意：此字段可能返回 null，表示取不到有效值。
        :type BindField: str
        :param _ParamType: 参数类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamType: str
        :param _ExampleValue: 示例值
注意：此字段可能返回 null，表示取不到有效值。
        :type ExampleValue: str
        :param _Description: 参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._ParamName = None
        self._BindField = None
        self._ParamType = None
        self._ExampleValue = None
        self._Description = None

    @property
    def ParamName(self):
        r"""参数名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamName

    @ParamName.setter
    def ParamName(self, ParamName):
        self._ParamName = ParamName

    @property
    def BindField(self):
        r"""绑定字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BindField

    @BindField.setter
    def BindField(self, BindField):
        self._BindField = BindField

    @property
    def ParamType(self):
        r"""参数类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamType

    @ParamType.setter
    def ParamType(self, ParamType):
        self._ParamType = ParamType

    @property
    def ExampleValue(self):
        r"""示例值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExampleValue

    @ExampleValue.setter
    def ExampleValue(self, ExampleValue):
        self._ExampleValue = ExampleValue

    @property
    def Description(self):
        r"""参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._ParamName = params.get("ParamName")
        self._BindField = params.get("BindField")
        self._ParamType = params.get("ParamType")
        self._ExampleValue = params.get("ExampleValue")
        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 DataSetRecord(AbstractModel):
    r"""数据资产结构

    """

    def __init__(self):
        r"""
        :param _AssetId: 资产 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetId: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableNameCn: 数据资产名称展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableNameCn: str
        :param _TableNameEn: 数据资产名称展示名称EN
注意：此字段可能返回 null，表示取不到有效值。
        :type TableNameEn: str
        :param _Description: 资产描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _HeatValue: 资产热度
注意：此字段可能返回 null，表示取不到有效值。
        :type HeatValue: float
        :param _LabelNames: 标签列表
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelNames: list of str
        :param _InCharge: 负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _MetaCrawlType: 元数据采集类型：Table View Index
注意：此字段可能返回 null，表示取不到有效值。
        :type MetaCrawlType: str
        :param _ProjectId: 数据资产归属的项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _LifeTime: 生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeTime: int
        :param _IsPartitionTable: 判断是否是分区表1 是 0否
注意：此字段可能返回 null，表示取不到有效值。
        :type IsPartitionTable: int
        :param _TableRecordFieldSet: 表字段集合
注意：此字段可能返回 null，表示取不到有效值。
        :type TableRecordFieldSet: list of SearchColumnDocVO
        :param _TablePropertyScore: 表属性评分
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePropertyScore: :class:`tencentcloud.wedata.v20210820.models.TablePropertyScore`
        :param _MsType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MsType: str
        :param _StorageSize: 数据存储大小
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSize: int
        :param _AssetLevel: 数据资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetLevel: int
        :param _AssetStatus: 数据资产状态
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetStatus: int
        :param _BizCatalogIds: 数据目录ID
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogIds: list of str
        :param _BizCatalogNames: 数据目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogNames: list of str
        :param _DatasourceId: 数据源 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: int
        :param _DatabaseId: 数据库 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _TableId: 表 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _OperateOption: 数据资产操作选项
注意：此字段可能返回 null，表示取不到有效值。
        :type OperateOption: :class:`tencentcloud.wedata.v20210820.models.DataAssetOption`
        :param _Schema: 数据库模式
注意：此字段可能返回 null，表示取不到有效值。
        :type Schema: str
        :param _Environment: 环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :type Environment: str
        :param _IsView: 是否为视图
注意：此字段可能返回 null，表示取不到有效值。
        :type IsView: bool
        :param _TechnologyType: 数据来源技术类型
取值： HIVE/MYSQL/HBASE/KAFKA等
注意：此字段可能返回 null，表示取不到有效值。
        :type TechnologyType: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectDisplayName: 项目展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _ClusterId: 集群 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _StorageSizeWithUnit: 存储大小，已转为如9.31TB:
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSizeWithUnit: str
        :param _CollectDatasourceList: 多数据源信息
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectDatasourceList: list of GovDatasourceInfo
        :param _ClusterName: 集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterName: str
        :param _DataSourceCategory: 数据源Category: 系统源-CLUSTER, DB-自定义源
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceCategory: str
        :param _CollectId: 采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectId: int
        :param _Urn: 采集唯一性urn
注意：此字段可能返回 null，表示取不到有效值。
        :type Urn: str
        :param _AssetName: 数据资产名称
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetName: str
        :param _AssetRunningStatus: 资产运行状态： 任务运行状态
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetRunningStatus: str
        :param _TaskTypeId: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _ExecuteTime: 资产运行时间， 任务最近执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecuteTime: str
        :param _AssetLog: 资产日志，任务资产取 自动转交日志
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetLog: str
        :param _AssetType: 资产类型
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetType: str
        :param _JobName: 任务 Job名称
注意：此字段可能返回 null，表示取不到有效值。
        :type JobName: str
        :param _ExpireTime: 资产失效时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpireTime: str
        :param _LevelRank: 安全等级值范围1-10

注意：此字段可能返回 null，表示取不到有效值。
        :type LevelRank: int
        :param _LevelName: 安全等级名称
注意：此字段可能返回 null，表示取不到有效值。
        :type LevelName: str
        :param _AssetCode: 资产编码
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetCode: str
        :param _OwnerAccount: 责任人 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccount: int
        :param _ModifyTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _LastAccessTime: 最近访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAccessTime: str
        :param _OwnerByEngine: 引擎侧创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerByEngine: str
        :param _DataLayerUuid: 数仓分层 UUID
注意：此字段可能返回 null，表示取不到有效值。
        :type DataLayerUuid: str
        :param _DataLayerName: 数仓分层名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DataLayerName: str
        :param _ColumnCount: 字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnCount: int
        :param _SearchHitColumns: 关键字搜索命中的表字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :type SearchHitColumns: list of SearchColumnDocVO
        :param _LabelTagList: 标签对象集合
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelTagList: list of LabelTag
        :param _Aliases: 模型别名
注意：此字段可能返回 null，表示取不到有效值。
        :type Aliases: list of RegisteredModelAlias
        :param _IsDeployed: 是否已经部署服务
注意：此字段可能返回 null，表示取不到有效值。
        :type IsDeployed: bool
        :param _Tags: 模型标签
注意：此字段可能返回 null，表示取不到有效值。
        :type Tags: list of RegisteredModelTag
        :param _ModelType: 模型类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ModelType: str
        :param _FullName: 资产全称
注意：此字段可能返回 null，表示取不到有效值。
        :type FullName: str
        :param _Namespace: Catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Namespace: str
        :param _MetaFrom: Catalog来源
注意：此字段可能返回 null，表示取不到有效值。
        :type MetaFrom: str
        :param _EngineOwner: 引擎侧责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineOwner: str
        """
        self._AssetId = None
        self._DatasourceName = None
        self._DatabaseName = None
        self._TableName = None
        self._TableNameCn = None
        self._TableNameEn = None
        self._Description = None
        self._HeatValue = None
        self._LabelNames = None
        self._InCharge = None
        self._MetaCrawlType = None
        self._ProjectId = None
        self._LifeTime = None
        self._IsPartitionTable = None
        self._TableRecordFieldSet = None
        self._TablePropertyScore = None
        self._MsType = None
        self._StorageSize = None
        self._AssetLevel = None
        self._AssetStatus = None
        self._BizCatalogIds = None
        self._BizCatalogNames = None
        self._DatasourceId = None
        self._DatabaseId = None
        self._CreateTime = None
        self._TableId = None
        self._OperateOption = None
        self._Schema = None
        self._Environment = None
        self._IsView = None
        self._TechnologyType = None
        self._ProjectName = None
        self._ProjectDisplayName = None
        self._ClusterId = None
        self._StorageSizeWithUnit = None
        self._CollectDatasourceList = None
        self._ClusterName = None
        self._DataSourceCategory = None
        self._CollectId = None
        self._Urn = None
        self._AssetName = None
        self._AssetRunningStatus = None
        self._TaskTypeId = None
        self._ExecuteTime = None
        self._AssetLog = None
        self._AssetType = None
        self._JobName = None
        self._ExpireTime = None
        self._LevelRank = None
        self._LevelName = None
        self._AssetCode = None
        self._OwnerAccount = None
        self._ModifyTime = None
        self._LastAccessTime = None
        self._OwnerByEngine = None
        self._DataLayerUuid = None
        self._DataLayerName = None
        self._ColumnCount = None
        self._SearchHitColumns = None
        self._LabelTagList = None
        self._Aliases = None
        self._IsDeployed = None
        self._Tags = None
        self._ModelType = None
        self._FullName = None
        self._Namespace = None
        self._MetaFrom = None
        self._EngineOwner = None

    @property
    def AssetId(self):
        r"""资产 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetId

    @AssetId.setter
    def AssetId(self, AssetId):
        self._AssetId = AssetId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableNameCn(self):
        r"""数据资产名称展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableNameCn

    @TableNameCn.setter
    def TableNameCn(self, TableNameCn):
        self._TableNameCn = TableNameCn

    @property
    def TableNameEn(self):
        r"""数据资产名称展示名称EN
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableNameEn

    @TableNameEn.setter
    def TableNameEn(self, TableNameEn):
        self._TableNameEn = TableNameEn

    @property
    def Description(self):
        r"""资产描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def HeatValue(self):
        r"""资产热度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._HeatValue

    @HeatValue.setter
    def HeatValue(self, HeatValue):
        self._HeatValue = HeatValue

    @property
    def LabelNames(self):
        r"""标签列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._LabelNames

    @LabelNames.setter
    def LabelNames(self, LabelNames):
        self._LabelNames = LabelNames

    @property
    def InCharge(self):
        r"""负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def MetaCrawlType(self):
        r"""元数据采集类型：Table View Index
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetaCrawlType

    @MetaCrawlType.setter
    def MetaCrawlType(self, MetaCrawlType):
        self._MetaCrawlType = MetaCrawlType

    @property
    def ProjectId(self):
        r"""数据资产归属的项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def LifeTime(self):
        r"""生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeTime

    @LifeTime.setter
    def LifeTime(self, LifeTime):
        self._LifeTime = LifeTime

    @property
    def IsPartitionTable(self):
        r"""判断是否是分区表1 是 0否
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IsPartitionTable

    @IsPartitionTable.setter
    def IsPartitionTable(self, IsPartitionTable):
        self._IsPartitionTable = IsPartitionTable

    @property
    def TableRecordFieldSet(self):
        r"""表字段集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SearchColumnDocVO
        """
        return self._TableRecordFieldSet

    @TableRecordFieldSet.setter
    def TableRecordFieldSet(self, TableRecordFieldSet):
        self._TableRecordFieldSet = TableRecordFieldSet

    @property
    def TablePropertyScore(self):
        r"""表属性评分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TablePropertyScore`
        """
        return self._TablePropertyScore

    @TablePropertyScore.setter
    def TablePropertyScore(self, TablePropertyScore):
        self._TablePropertyScore = TablePropertyScore

    @property
    def MsType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MsType

    @MsType.setter
    def MsType(self, MsType):
        self._MsType = MsType

    @property
    def StorageSize(self):
        r"""数据存储大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def AssetLevel(self):
        r"""数据资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetLevel

    @AssetLevel.setter
    def AssetLevel(self, AssetLevel):
        self._AssetLevel = AssetLevel

    @property
    def AssetStatus(self):
        r"""数据资产状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetStatus

    @AssetStatus.setter
    def AssetStatus(self, AssetStatus):
        self._AssetStatus = AssetStatus

    @property
    def BizCatalogIds(self):
        r"""数据目录ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._BizCatalogIds

    @BizCatalogIds.setter
    def BizCatalogIds(self, BizCatalogIds):
        self._BizCatalogIds = BizCatalogIds

    @property
    def BizCatalogNames(self):
        r"""数据目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._BizCatalogNames

    @BizCatalogNames.setter
    def BizCatalogNames(self, BizCatalogNames):
        self._BizCatalogNames = BizCatalogNames

    @property
    def DatasourceId(self):
        r"""数据源 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseId(self):
        r"""数据库 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def TableId(self):
        r"""表 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def OperateOption(self):
        r"""数据资产操作选项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataAssetOption`
        """
        return self._OperateOption

    @OperateOption.setter
    def OperateOption(self, OperateOption):
        self._OperateOption = OperateOption

    @property
    def Schema(self):
        r"""数据库模式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Schema

    @Schema.setter
    def Schema(self, Schema):
        self._Schema = Schema

    @property
    def Environment(self):
        r"""环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Environment

    @Environment.setter
    def Environment(self, Environment):
        self._Environment = Environment

    @property
    def IsView(self):
        r"""是否为视图
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsView

    @IsView.setter
    def IsView(self, IsView):
        self._IsView = IsView

    @property
    def TechnologyType(self):
        r"""数据来源技术类型
取值： HIVE/MYSQL/HBASE/KAFKA等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TechnologyType

    @TechnologyType.setter
    def TechnologyType(self, TechnologyType):
        self._TechnologyType = TechnologyType

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectDisplayName(self):
        r"""项目展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def ClusterId(self):
        r"""集群 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def StorageSizeWithUnit(self):
        r"""存储大小，已转为如9.31TB:
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageSizeWithUnit

    @StorageSizeWithUnit.setter
    def StorageSizeWithUnit(self, StorageSizeWithUnit):
        self._StorageSizeWithUnit = StorageSizeWithUnit

    @property
    def CollectDatasourceList(self):
        r"""多数据源信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of GovDatasourceInfo
        """
        return self._CollectDatasourceList

    @CollectDatasourceList.setter
    def CollectDatasourceList(self, CollectDatasourceList):
        self._CollectDatasourceList = CollectDatasourceList

    @property
    def ClusterName(self):
        r"""集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterName

    @ClusterName.setter
    def ClusterName(self, ClusterName):
        self._ClusterName = ClusterName

    @property
    def DataSourceCategory(self):
        r"""数据源Category: 系统源-CLUSTER, DB-自定义源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceCategory

    @DataSourceCategory.setter
    def DataSourceCategory(self, DataSourceCategory):
        self._DataSourceCategory = DataSourceCategory

    @property
    def CollectId(self):
        r"""采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CollectId

    @CollectId.setter
    def CollectId(self, CollectId):
        self._CollectId = CollectId

    @property
    def Urn(self):
        r"""采集唯一性urn
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Urn

    @Urn.setter
    def Urn(self, Urn):
        self._Urn = Urn

    @property
    def AssetName(self):
        r"""数据资产名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetName

    @AssetName.setter
    def AssetName(self, AssetName):
        self._AssetName = AssetName

    @property
    def AssetRunningStatus(self):
        r"""资产运行状态： 任务运行状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetRunningStatus

    @AssetRunningStatus.setter
    def AssetRunningStatus(self, AssetRunningStatus):
        self._AssetRunningStatus = AssetRunningStatus

    @property
    def TaskTypeId(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def ExecuteTime(self):
        r"""资产运行时间， 任务最近执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecuteTime

    @ExecuteTime.setter
    def ExecuteTime(self, ExecuteTime):
        self._ExecuteTime = ExecuteTime

    @property
    def AssetLog(self):
        r"""资产日志，任务资产取 自动转交日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetLog

    @AssetLog.setter
    def AssetLog(self, AssetLog):
        self._AssetLog = AssetLog

    @property
    def AssetType(self):
        r"""资产类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetType

    @AssetType.setter
    def AssetType(self, AssetType):
        self._AssetType = AssetType

    @property
    def JobName(self):
        r"""任务 Job名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobName

    @JobName.setter
    def JobName(self, JobName):
        self._JobName = JobName

    @property
    def ExpireTime(self):
        r"""资产失效时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExpireTime

    @ExpireTime.setter
    def ExpireTime(self, ExpireTime):
        self._ExpireTime = ExpireTime

    @property
    def LevelRank(self):
        r"""安全等级值范围1-10

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LevelRank

    @LevelRank.setter
    def LevelRank(self, LevelRank):
        self._LevelRank = LevelRank

    @property
    def LevelName(self):
        r"""安全等级名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LevelName

    @LevelName.setter
    def LevelName(self, LevelName):
        self._LevelName = LevelName

    @property
    def AssetCode(self):
        r"""资产编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetCode

    @AssetCode.setter
    def AssetCode(self, AssetCode):
        self._AssetCode = AssetCode

    @property
    def OwnerAccount(self):
        r"""责任人 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OwnerAccount

    @OwnerAccount.setter
    def OwnerAccount(self, OwnerAccount):
        self._OwnerAccount = OwnerAccount

    @property
    def ModifyTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def LastAccessTime(self):
        r"""最近访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastAccessTime

    @LastAccessTime.setter
    def LastAccessTime(self, LastAccessTime):
        self._LastAccessTime = LastAccessTime

    @property
    def OwnerByEngine(self):
        r"""引擎侧创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerByEngine

    @OwnerByEngine.setter
    def OwnerByEngine(self, OwnerByEngine):
        self._OwnerByEngine = OwnerByEngine

    @property
    def DataLayerUuid(self):
        r"""数仓分层 UUID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataLayerUuid

    @DataLayerUuid.setter
    def DataLayerUuid(self, DataLayerUuid):
        self._DataLayerUuid = DataLayerUuid

    @property
    def DataLayerName(self):
        r"""数仓分层名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataLayerName

    @DataLayerName.setter
    def DataLayerName(self, DataLayerName):
        self._DataLayerName = DataLayerName

    @property
    def ColumnCount(self):
        r"""字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ColumnCount

    @ColumnCount.setter
    def ColumnCount(self, ColumnCount):
        self._ColumnCount = ColumnCount

    @property
    def SearchHitColumns(self):
        r"""关键字搜索命中的表字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SearchColumnDocVO
        """
        return self._SearchHitColumns

    @SearchHitColumns.setter
    def SearchHitColumns(self, SearchHitColumns):
        self._SearchHitColumns = SearchHitColumns

    @property
    def LabelTagList(self):
        r"""标签对象集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LabelTag
        """
        return self._LabelTagList

    @LabelTagList.setter
    def LabelTagList(self, LabelTagList):
        self._LabelTagList = LabelTagList

    @property
    def Aliases(self):
        r"""模型别名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RegisteredModelAlias
        """
        return self._Aliases

    @Aliases.setter
    def Aliases(self, Aliases):
        self._Aliases = Aliases

    @property
    def IsDeployed(self):
        r"""是否已经部署服务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsDeployed

    @IsDeployed.setter
    def IsDeployed(self, IsDeployed):
        self._IsDeployed = IsDeployed

    @property
    def Tags(self):
        r"""模型标签
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RegisteredModelTag
        """
        return self._Tags

    @Tags.setter
    def Tags(self, Tags):
        self._Tags = Tags

    @property
    def ModelType(self):
        r"""模型类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModelType

    @ModelType.setter
    def ModelType(self, ModelType):
        self._ModelType = ModelType

    @property
    def FullName(self):
        r"""资产全称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FullName

    @FullName.setter
    def FullName(self, FullName):
        self._FullName = FullName

    @property
    def Namespace(self):
        r"""Catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Namespace

    @Namespace.setter
    def Namespace(self, Namespace):
        self._Namespace = Namespace

    @property
    def MetaFrom(self):
        r"""Catalog来源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetaFrom

    @MetaFrom.setter
    def MetaFrom(self, MetaFrom):
        self._MetaFrom = MetaFrom

    @property
    def EngineOwner(self):
        r"""引擎侧责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineOwner

    @EngineOwner.setter
    def EngineOwner(self, EngineOwner):
        self._EngineOwner = EngineOwner


    def _deserialize(self, params):
        self._AssetId = params.get("AssetId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._TableNameCn = params.get("TableNameCn")
        self._TableNameEn = params.get("TableNameEn")
        self._Description = params.get("Description")
        self._HeatValue = params.get("HeatValue")
        self._LabelNames = params.get("LabelNames")
        self._InCharge = params.get("InCharge")
        self._MetaCrawlType = params.get("MetaCrawlType")
        self._ProjectId = params.get("ProjectId")
        self._LifeTime = params.get("LifeTime")
        self._IsPartitionTable = params.get("IsPartitionTable")
        if params.get("TableRecordFieldSet") is not None:
            self._TableRecordFieldSet = []
            for item in params.get("TableRecordFieldSet"):
                obj = SearchColumnDocVO()
                obj._deserialize(item)
                self._TableRecordFieldSet.append(obj)
        if params.get("TablePropertyScore") is not None:
            self._TablePropertyScore = TablePropertyScore()
            self._TablePropertyScore._deserialize(params.get("TablePropertyScore"))
        self._MsType = params.get("MsType")
        self._StorageSize = params.get("StorageSize")
        self._AssetLevel = params.get("AssetLevel")
        self._AssetStatus = params.get("AssetStatus")
        self._BizCatalogIds = params.get("BizCatalogIds")
        self._BizCatalogNames = params.get("BizCatalogNames")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseId = params.get("DatabaseId")
        self._CreateTime = params.get("CreateTime")
        self._TableId = params.get("TableId")
        if params.get("OperateOption") is not None:
            self._OperateOption = DataAssetOption()
            self._OperateOption._deserialize(params.get("OperateOption"))
        self._Schema = params.get("Schema")
        self._Environment = params.get("Environment")
        self._IsView = params.get("IsView")
        self._TechnologyType = params.get("TechnologyType")
        self._ProjectName = params.get("ProjectName")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._ClusterId = params.get("ClusterId")
        self._StorageSizeWithUnit = params.get("StorageSizeWithUnit")
        if params.get("CollectDatasourceList") is not None:
            self._CollectDatasourceList = []
            for item in params.get("CollectDatasourceList"):
                obj = GovDatasourceInfo()
                obj._deserialize(item)
                self._CollectDatasourceList.append(obj)
        self._ClusterName = params.get("ClusterName")
        self._DataSourceCategory = params.get("DataSourceCategory")
        self._CollectId = params.get("CollectId")
        self._Urn = params.get("Urn")
        self._AssetName = params.get("AssetName")
        self._AssetRunningStatus = params.get("AssetRunningStatus")
        self._TaskTypeId = params.get("TaskTypeId")
        self._ExecuteTime = params.get("ExecuteTime")
        self._AssetLog = params.get("AssetLog")
        self._AssetType = params.get("AssetType")
        self._JobName = params.get("JobName")
        self._ExpireTime = params.get("ExpireTime")
        self._LevelRank = params.get("LevelRank")
        self._LevelName = params.get("LevelName")
        self._AssetCode = params.get("AssetCode")
        self._OwnerAccount = params.get("OwnerAccount")
        self._ModifyTime = params.get("ModifyTime")
        self._LastAccessTime = params.get("LastAccessTime")
        self._OwnerByEngine = params.get("OwnerByEngine")
        self._DataLayerUuid = params.get("DataLayerUuid")
        self._DataLayerName = params.get("DataLayerName")
        self._ColumnCount = params.get("ColumnCount")
        if params.get("SearchHitColumns") is not None:
            self._SearchHitColumns = []
            for item in params.get("SearchHitColumns"):
                obj = SearchColumnDocVO()
                obj._deserialize(item)
                self._SearchHitColumns.append(obj)
        if params.get("LabelTagList") is not None:
            self._LabelTagList = []
            for item in params.get("LabelTagList"):
                obj = LabelTag()
                obj._deserialize(item)
                self._LabelTagList.append(obj)
        if params.get("Aliases") is not None:
            self._Aliases = []
            for item in params.get("Aliases"):
                obj = RegisteredModelAlias()
                obj._deserialize(item)
                self._Aliases.append(obj)
        self._IsDeployed = params.get("IsDeployed")
        if params.get("Tags") is not None:
            self._Tags = []
            for item in params.get("Tags"):
                obj = RegisteredModelTag()
                obj._deserialize(item)
                self._Tags.append(obj)
        self._ModelType = params.get("ModelType")
        self._FullName = params.get("FullName")
        self._Namespace = params.get("Namespace")
        self._MetaFrom = params.get("MetaFrom")
        self._EngineOwner = params.get("EngineOwner")
        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 DataSourceConnectStatus(AbstractModel):
    r"""数据源云梯连接状态

    """

    def __init__(self):
        r"""
        :param _Id: id
        :type Id: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _ConnectResult: 连接结果
        :type ConnectResult: int
        :param _ConnectError: 错误信息
        :type ConnectError: str
        :param _Timestamp: 时间戳
        :type Timestamp: int
        """
        self._Id = None
        self._ProjectId = None
        self._DatasourceId = None
        self._ConnectResult = None
        self._ConnectError = None
        self._Timestamp = None

    @property
    def Id(self):
        r"""id
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ConnectResult(self):
        r"""连接结果
        :rtype: int
        """
        return self._ConnectResult

    @ConnectResult.setter
    def ConnectResult(self, ConnectResult):
        self._ConnectResult = ConnectResult

    @property
    def ConnectError(self):
        r"""错误信息
        :rtype: str
        """
        return self._ConnectError

    @ConnectError.setter
    def ConnectError(self, ConnectError):
        self._ConnectError = ConnectError

    @property
    def Timestamp(self):
        r"""时间戳
        :rtype: int
        """
        return self._Timestamp

    @Timestamp.setter
    def Timestamp(self, Timestamp):
        self._Timestamp = Timestamp


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._ConnectResult = params.get("ConnectResult")
        self._ConnectError = params.get("ConnectError")
        self._Timestamp = params.get("Timestamp")
        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 DataSourceEnvInfo(AbstractModel):
    r"""数据源环境信息

    """

    def __init__(self):
        r"""
        :param _Env: 环境
注意：此字段可能返回 null，表示取不到有效值。
        :type Env: str
        :param _DataSourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceType: str
        :param _ClusterId: 集群id
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _Params: 配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _DataSourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceId: str
        :param _EnvDataSourceId: env环境的数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type EnvDataSourceId: str
        :param _BizParams: 配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BizParams: str
        :param _TcCatalogOpen: 是否支持tccatalog
        :type TcCatalogOpen: bool
        """
        self._Env = None
        self._DataSourceType = None
        self._ClusterId = None
        self._Params = None
        self._ProjectId = None
        self._DataSourceId = None
        self._EnvDataSourceId = None
        self._BizParams = None
        self._TcCatalogOpen = None

    @property
    def Env(self):
        r"""环境
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env

    @property
    def DataSourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def ClusterId(self):
        r"""集群id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def Params(self):
        r"""配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DataSourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceId

    @DataSourceId.setter
    def DataSourceId(self, DataSourceId):
        self._DataSourceId = DataSourceId

    @property
    def EnvDataSourceId(self):
        r"""env环境的数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EnvDataSourceId

    @EnvDataSourceId.setter
    def EnvDataSourceId(self, EnvDataSourceId):
        self._EnvDataSourceId = EnvDataSourceId

    @property
    def BizParams(self):
        r"""配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizParams

    @BizParams.setter
    def BizParams(self, BizParams):
        self._BizParams = BizParams

    @property
    def TcCatalogOpen(self):
        r"""是否支持tccatalog
        :rtype: bool
        """
        return self._TcCatalogOpen

    @TcCatalogOpen.setter
    def TcCatalogOpen(self, TcCatalogOpen):
        self._TcCatalogOpen = TcCatalogOpen


    def _deserialize(self, params):
        self._Env = params.get("Env")
        self._DataSourceType = params.get("DataSourceType")
        self._ClusterId = params.get("ClusterId")
        self._Params = params.get("Params")
        self._ProjectId = params.get("ProjectId")
        self._DataSourceId = params.get("DataSourceId")
        self._EnvDataSourceId = params.get("EnvDataSourceId")
        self._BizParams = params.get("BizParams")
        self._TcCatalogOpen = params.get("TcCatalogOpen")
        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 DataSourceInfo(AbstractModel):
    r"""数据源对象

    """

    def __init__(self):
        r"""
        :param _DatabaseName: 若数据源列表为绑定数据库，则为db名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _Description: 数据源描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ID: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ID: int
        :param _Instance: 数据源引擎的实例ID，如CDB实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Instance: str
        :param _Name: 数据源名称，在相同SpaceName下，数据源名称不能为空
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Region: 数据源引擎所属区域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _Type: 数据源类型:枚举值
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _ClusterId: 数据源所属的集群id
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _AppId: 应用ID AppId
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: int
        :param _BizParams: 业务侧数据源的配置信息扩展
注意：此字段可能返回 null，表示取不到有效值。
        :type BizParams: str
        :param _Category: 数据源类别：绑定引擎、绑定数据库
注意：此字段可能返回 null，表示取不到有效值。
        :type Category: str
        :param _Display: 数据源展示名，为了可视化查看
注意：此字段可能返回 null，表示取不到有效值。
        :type Display: str
        :param _OwnerAccount: 数据源责任人账号ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccount: str
        :param _Params: 数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _Status: 数据源数据源的可见性，1为可见、0为不可见。默认为1
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _OwnerAccountName: 数据源责任人账号名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccountName: str
        :param _ClusterName: 集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterName: str
        :param _OwnerProjectId: 归属项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerProjectId: str
        :param _OwnerProjectName: 归属项目Name
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerProjectName: str
        :param _OwnerProjectIdent: 归属项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerProjectIdent: str
        :param _AuthorityProjectName: 授权项目
注意：此字段可能返回 null，表示取不到有效值。
        :type AuthorityProjectName: str
        :param _AuthorityUserName: 授权用户
注意：此字段可能返回 null，表示取不到有效值。
        :type AuthorityUserName: str
        :param _Edit: 是否有编辑权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Edit: bool
        :param _Author: 是否有授权权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Author: bool
        :param _Deliver: 是否有转交权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Deliver: bool
        :param _DataSourceStatus: 数据源状态
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceStatus: str
        :param _CreateTime: 时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: int
        :param _ParamsString: Params json字符串
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamsString: str
        :param _BizParamsString: BizParams json字符串
注意：此字段可能返回 null，表示取不到有效值。
        :type BizParamsString: str
        :param _ModifiedTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedTime: int
        :param _ShowType: 数据源页面展示类型，与Type对应
注意：此字段可能返回 null，表示取不到有效值。
        :type ShowType: str
        :param _ProductId: 当前数据源生产源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductId: int
        :param _DevelopmentId: 当前数据源开发源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DevelopmentId: int
        :param _DevelopmentParams: 同params 内容为开发数据源的数据
注意：此字段可能返回 null，表示取不到有效值。
        :type DevelopmentParams: str
        :param _ConnectStatus: 数据源连接状态
注意：此字段可能返回 null，表示取不到有效值。
        :type ConnectStatus: :class:`tencentcloud.wedata.v20210820.models.DataSourceConnectStatus`
        :param _DisplayType: 数据源展示类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayType: str
        :param _Env: 数据源环境
注意：此字段可能返回 null，表示取不到有效值。
        :type Env: str
        :param _DatasourceUrn: 数据源唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceUrn: str
        :param _Model: 是否标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :type Model: str
        :param _DataSourceEnvInfos:  数据源环境信息
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceEnvInfos: list of DataSourceEnvInfo
        :param _ForbidProbe: 禁止数据探查
        :type ForbidProbe: bool
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: str
        :param _TcCatalogOpen: 是否开通tccatalog,默认没有开启
        :type TcCatalogOpen: bool
        """
        self._DatabaseName = None
        self._Description = None
        self._ID = None
        self._Instance = None
        self._Name = None
        self._Region = None
        self._Type = None
        self._ClusterId = None
        self._AppId = None
        self._BizParams = None
        self._Category = None
        self._Display = None
        self._OwnerAccount = None
        self._Params = None
        self._Status = None
        self._OwnerAccountName = None
        self._ClusterName = None
        self._OwnerProjectId = None
        self._OwnerProjectName = None
        self._OwnerProjectIdent = None
        self._AuthorityProjectName = None
        self._AuthorityUserName = None
        self._Edit = None
        self._Author = None
        self._Deliver = None
        self._DataSourceStatus = None
        self._CreateTime = None
        self._ParamsString = None
        self._BizParamsString = None
        self._ModifiedTime = None
        self._ShowType = None
        self._ProductId = None
        self._DevelopmentId = None
        self._DevelopmentParams = None
        self._ConnectStatus = None
        self._DisplayType = None
        self._Env = None
        self._DatasourceUrn = None
        self._Model = None
        self._DataSourceEnvInfos = None
        self._ForbidProbe = None
        self._DatasourceType = None
        self._TcCatalogOpen = None

    @property
    def DatabaseName(self):
        r"""若数据源列表为绑定数据库，则为db名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def Description(self):
        r"""数据源描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ID(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ID

    @ID.setter
    def ID(self, ID):
        self._ID = ID

    @property
    def Instance(self):
        r"""数据源引擎的实例ID，如CDB实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Name(self):
        r"""数据源名称，在相同SpaceName下，数据源名称不能为空
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Region(self):
        r"""数据源引擎所属区域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def Type(self):
        r"""数据源类型:枚举值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ClusterId(self):
        r"""数据源所属的集群id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def AppId(self):
        r"""应用ID AppId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def BizParams(self):
        r"""业务侧数据源的配置信息扩展
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizParams

    @BizParams.setter
    def BizParams(self, BizParams):
        self._BizParams = BizParams

    @property
    def Category(self):
        r"""数据源类别：绑定引擎、绑定数据库
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Display(self):
        r"""数据源展示名，为了可视化查看
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Display

    @Display.setter
    def Display(self, Display):
        self._Display = Display

    @property
    def OwnerAccount(self):
        r"""数据源责任人账号ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerAccount

    @OwnerAccount.setter
    def OwnerAccount(self, OwnerAccount):
        self._OwnerAccount = OwnerAccount

    @property
    def Params(self):
        r"""数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def Status(self):
        r"""数据源数据源的可见性，1为可见、0为不可见。默认为1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def OwnerAccountName(self):
        r"""数据源责任人账号名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerAccountName

    @OwnerAccountName.setter
    def OwnerAccountName(self, OwnerAccountName):
        self._OwnerAccountName = OwnerAccountName

    @property
    def ClusterName(self):
        r"""集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterName

    @ClusterName.setter
    def ClusterName(self, ClusterName):
        self._ClusterName = ClusterName

    @property
    def OwnerProjectId(self):
        r"""归属项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerProjectId

    @OwnerProjectId.setter
    def OwnerProjectId(self, OwnerProjectId):
        self._OwnerProjectId = OwnerProjectId

    @property
    def OwnerProjectName(self):
        r"""归属项目Name
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerProjectName

    @OwnerProjectName.setter
    def OwnerProjectName(self, OwnerProjectName):
        self._OwnerProjectName = OwnerProjectName

    @property
    def OwnerProjectIdent(self):
        r"""归属项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerProjectIdent

    @OwnerProjectIdent.setter
    def OwnerProjectIdent(self, OwnerProjectIdent):
        self._OwnerProjectIdent = OwnerProjectIdent

    @property
    def AuthorityProjectName(self):
        r"""授权项目
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AuthorityProjectName

    @AuthorityProjectName.setter
    def AuthorityProjectName(self, AuthorityProjectName):
        self._AuthorityProjectName = AuthorityProjectName

    @property
    def AuthorityUserName(self):
        r"""授权用户
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AuthorityUserName

    @AuthorityUserName.setter
    def AuthorityUserName(self, AuthorityUserName):
        self._AuthorityUserName = AuthorityUserName

    @property
    def Edit(self):
        r"""是否有编辑权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Edit

    @Edit.setter
    def Edit(self, Edit):
        self._Edit = Edit

    @property
    def Author(self):
        r"""是否有授权权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Author

    @Author.setter
    def Author(self, Author):
        self._Author = Author

    @property
    def Deliver(self):
        r"""是否有转交权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Deliver

    @Deliver.setter
    def Deliver(self, Deliver):
        self._Deliver = Deliver

    @property
    def DataSourceStatus(self):
        r"""数据源状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceStatus

    @DataSourceStatus.setter
    def DataSourceStatus(self, DataSourceStatus):
        self._DataSourceStatus = DataSourceStatus

    @property
    def CreateTime(self):
        r"""时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ParamsString(self):
        r"""Params json字符串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamsString

    @ParamsString.setter
    def ParamsString(self, ParamsString):
        self._ParamsString = ParamsString

    @property
    def BizParamsString(self):
        r"""BizParams json字符串
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizParamsString

    @BizParamsString.setter
    def BizParamsString(self, BizParamsString):
        self._BizParamsString = BizParamsString

    @property
    def ModifiedTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def ShowType(self):
        r"""数据源页面展示类型，与Type对应
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ShowType

    @ShowType.setter
    def ShowType(self, ShowType):
        self._ShowType = ShowType

    @property
    def ProductId(self):
        r"""当前数据源生产源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProductId

    @ProductId.setter
    def ProductId(self, ProductId):
        self._ProductId = ProductId

    @property
    def DevelopmentId(self):
        r"""当前数据源开发源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DevelopmentId

    @DevelopmentId.setter
    def DevelopmentId(self, DevelopmentId):
        self._DevelopmentId = DevelopmentId

    @property
    def DevelopmentParams(self):
        r"""同params 内容为开发数据源的数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DevelopmentParams

    @DevelopmentParams.setter
    def DevelopmentParams(self, DevelopmentParams):
        self._DevelopmentParams = DevelopmentParams

    @property
    def ConnectStatus(self):
        r"""数据源连接状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataSourceConnectStatus`
        """
        return self._ConnectStatus

    @ConnectStatus.setter
    def ConnectStatus(self, ConnectStatus):
        self._ConnectStatus = ConnectStatus

    @property
    def DisplayType(self):
        r"""数据源展示类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayType

    @DisplayType.setter
    def DisplayType(self, DisplayType):
        self._DisplayType = DisplayType

    @property
    def Env(self):
        r"""数据源环境
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env

    @property
    def DatasourceUrn(self):
        r"""数据源唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceUrn

    @DatasourceUrn.setter
    def DatasourceUrn(self, DatasourceUrn):
        self._DatasourceUrn = DatasourceUrn

    @property
    def Model(self):
        r"""是否标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def DataSourceEnvInfos(self):
        r""" 数据源环境信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DataSourceEnvInfo
        """
        return self._DataSourceEnvInfos

    @DataSourceEnvInfos.setter
    def DataSourceEnvInfos(self, DataSourceEnvInfos):
        self._DataSourceEnvInfos = DataSourceEnvInfos

    @property
    def ForbidProbe(self):
        r"""禁止数据探查
        :rtype: bool
        """
        return self._ForbidProbe

    @ForbidProbe.setter
    def ForbidProbe(self, ForbidProbe):
        self._ForbidProbe = ForbidProbe

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def TcCatalogOpen(self):
        r"""是否开通tccatalog,默认没有开启
        :rtype: bool
        """
        return self._TcCatalogOpen

    @TcCatalogOpen.setter
    def TcCatalogOpen(self, TcCatalogOpen):
        self._TcCatalogOpen = TcCatalogOpen


    def _deserialize(self, params):
        self._DatabaseName = params.get("DatabaseName")
        self._Description = params.get("Description")
        self._ID = params.get("ID")
        self._Instance = params.get("Instance")
        self._Name = params.get("Name")
        self._Region = params.get("Region")
        self._Type = params.get("Type")
        self._ClusterId = params.get("ClusterId")
        self._AppId = params.get("AppId")
        self._BizParams = params.get("BizParams")
        self._Category = params.get("Category")
        self._Display = params.get("Display")
        self._OwnerAccount = params.get("OwnerAccount")
        self._Params = params.get("Params")
        self._Status = params.get("Status")
        self._OwnerAccountName = params.get("OwnerAccountName")
        self._ClusterName = params.get("ClusterName")
        self._OwnerProjectId = params.get("OwnerProjectId")
        self._OwnerProjectName = params.get("OwnerProjectName")
        self._OwnerProjectIdent = params.get("OwnerProjectIdent")
        self._AuthorityProjectName = params.get("AuthorityProjectName")
        self._AuthorityUserName = params.get("AuthorityUserName")
        self._Edit = params.get("Edit")
        self._Author = params.get("Author")
        self._Deliver = params.get("Deliver")
        self._DataSourceStatus = params.get("DataSourceStatus")
        self._CreateTime = params.get("CreateTime")
        self._ParamsString = params.get("ParamsString")
        self._BizParamsString = params.get("BizParamsString")
        self._ModifiedTime = params.get("ModifiedTime")
        self._ShowType = params.get("ShowType")
        self._ProductId = params.get("ProductId")
        self._DevelopmentId = params.get("DevelopmentId")
        self._DevelopmentParams = params.get("DevelopmentParams")
        if params.get("ConnectStatus") is not None:
            self._ConnectStatus = DataSourceConnectStatus()
            self._ConnectStatus._deserialize(params.get("ConnectStatus"))
        self._DisplayType = params.get("DisplayType")
        self._Env = params.get("Env")
        self._DatasourceUrn = params.get("DatasourceUrn")
        self._Model = params.get("Model")
        if params.get("DataSourceEnvInfos") is not None:
            self._DataSourceEnvInfos = []
            for item in params.get("DataSourceEnvInfos"):
                obj = DataSourceEnvInfo()
                obj._deserialize(item)
                self._DataSourceEnvInfos.append(obj)
        self._ForbidProbe = params.get("ForbidProbe")
        self._DatasourceType = params.get("DatasourceType")
        self._TcCatalogOpen = params.get("TcCatalogOpen")
        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 DataSourceInfoPage(AbstractModel):
    r"""查询数据源分页列表

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Rows: 数据源列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of DataSourceInfo
        :param _TotalCount: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        :param _SnapshotId: 快照Id
注意：此字段可能返回 null，表示取不到有效值。
        :type SnapshotId: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._Rows = None
        self._TotalCount = None
        self._TotalPageNumber = None
        self._SnapshotId = None

    @property
    def PageNumber(self):
        r"""分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Rows(self):
        r"""数据源列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DataSourceInfo
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def TotalCount(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber

    @property
    def SnapshotId(self):
        r"""快照Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SnapshotId

    @SnapshotId.setter
    def SnapshotId(self, SnapshotId):
        self._SnapshotId = SnapshotId


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = DataSourceInfo()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        self._SnapshotId = params.get("SnapshotId")
        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 DatabaseInfo(AbstractModel):
    r"""数据质量数据来源数据库

    """

    def __init__(self):
        r"""
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatasourceId: 数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _DatabaseId: 数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _InstanceId: 实例Id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _OriginDatabaseName: 数据库原始名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginDatabaseName: str
        :param _OriginSchemaName: schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginSchemaName: str
        :param _DsEnvType: 0或者未返回.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :type DsEnvType: int
        :param _ClusterDeployType: EMR引擎部署方式：CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterDeployType: str
        :param _SchemaName: 模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _ShowEnableCatalog: 是否展示目录
注意：此字段可能返回 null，表示取不到有效值。
        :type ShowEnableCatalog: bool
        """
        self._DatasourceName = None
        self._DatasourceId = None
        self._DatabaseName = None
        self._DatabaseId = None
        self._InstanceId = None
        self._DatasourceType = None
        self._OriginDatabaseName = None
        self._OriginSchemaName = None
        self._DsEnvType = None
        self._ClusterDeployType = None
        self._SchemaName = None
        self._ShowEnableCatalog = None

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatasourceId(self):
        r"""数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def DatabaseId(self):
        r"""数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def InstanceId(self):
        r"""实例Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def OriginDatabaseName(self):
        r"""数据库原始名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginDatabaseName

    @OriginDatabaseName.setter
    def OriginDatabaseName(self, OriginDatabaseName):
        self._OriginDatabaseName = OriginDatabaseName

    @property
    def OriginSchemaName(self):
        r"""schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginSchemaName

    @OriginSchemaName.setter
    def OriginSchemaName(self, OriginSchemaName):
        self._OriginSchemaName = OriginSchemaName

    @property
    def DsEnvType(self):
        r"""0或者未返回.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DsEnvType

    @DsEnvType.setter
    def DsEnvType(self, DsEnvType):
        self._DsEnvType = DsEnvType

    @property
    def ClusterDeployType(self):
        r"""EMR引擎部署方式：CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterDeployType

    @ClusterDeployType.setter
    def ClusterDeployType(self, ClusterDeployType):
        self._ClusterDeployType = ClusterDeployType

    @property
    def SchemaName(self):
        r"""模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def ShowEnableCatalog(self):
        r"""是否展示目录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ShowEnableCatalog

    @ShowEnableCatalog.setter
    def ShowEnableCatalog(self, ShowEnableCatalog):
        self._ShowEnableCatalog = ShowEnableCatalog


    def _deserialize(self, params):
        self._DatasourceName = params.get("DatasourceName")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._DatabaseId = params.get("DatabaseId")
        self._InstanceId = params.get("InstanceId")
        self._DatasourceType = params.get("DatasourceType")
        self._OriginDatabaseName = params.get("OriginDatabaseName")
        self._OriginSchemaName = params.get("OriginSchemaName")
        self._DsEnvType = params.get("DsEnvType")
        self._ClusterDeployType = params.get("ClusterDeployType")
        self._SchemaName = params.get("SchemaName")
        self._ShowEnableCatalog = params.get("ShowEnableCatalog")
        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 DatabaseMeta(AbstractModel):
    r"""数据源元数据

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _MetastoreType: 技术类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatasourceId: 数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: int
        :param _ProjectName: 项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _Category: 数据源类别：绑定引擎、绑定数据库,可用值:DB,ENGINE
注意：此字段可能返回 null，表示取不到有效值。
        :type Category: str
        :param _Description: 数据源描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Instance: 数据源引擎的实例ID，如CDB实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Instance: str
        :param _Region: 数据源引擎所属区域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _Status: 数据源数据源的可见性，1为可见、0为不可见。默认为1
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _DatabaseName: db名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _ProjectDisplayName: 项目中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _OwnerAccountName: 责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccountName: str
        :param _DisplayName: 数据来源展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _DatabaseId: 数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _Catalog: 数据来源类型：hive/mysql/hbase等
注意：此字段可能返回 null，表示取不到有效值。
        :type Catalog: str
        :param _StorageSize: 存储量大小,单位为 byte
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSize: int
        :param _StorageSizeWithUnit: 格式化后的存储量大小，带单位，如 12B
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSizeWithUnit: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _TableCount: 总表数
注意：此字段可能返回 null，表示取不到有效值。
        :type TableCount: int
        :param _DatasourceList: 数据源信息
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceList: list of GovDatasourceInfo
        :param _CollectJobId: 采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectJobId: str
        :param _CollectJobName: 采集任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectJobName: str
        :param _ClusterId: 引擎id
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _ClusterName: 引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterName: str
        :param _ModifiedTimeByTables: 库下表的最新更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedTimeByTables: int
        :param _LastAccessTimeByTables: 库下表的最新访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAccessTimeByTables: int
        :param _DatabaseGuid: 库guid
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseGuid: str
        :param _Environment: 环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :type Environment: str
        :param _OwnerAccount: Owner的账户信息：账号信息
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccount: int
        :param _OperateOption: 操作权限
注意：此字段可能返回 null，表示取不到有效值。
        :type OperateOption: :class:`tencentcloud.wedata.v20210820.models.OperateOption`
        """
        self._ProjectId = None
        self._MetastoreType = None
        self._DatasourceName = None
        self._DatasourceId = None
        self._ProjectName = None
        self._Category = None
        self._Description = None
        self._Instance = None
        self._Region = None
        self._Status = None
        self._DatabaseName = None
        self._ProjectDisplayName = None
        self._OwnerAccountName = None
        self._DisplayName = None
        self._DatabaseId = None
        self._Catalog = None
        self._StorageSize = None
        self._StorageSizeWithUnit = None
        self._CreateTime = None
        self._TableCount = None
        self._DatasourceList = None
        self._CollectJobId = None
        self._CollectJobName = None
        self._ClusterId = None
        self._ClusterName = None
        self._ModifiedTimeByTables = None
        self._LastAccessTimeByTables = None
        self._DatabaseGuid = None
        self._Environment = None
        self._OwnerAccount = None
        self._OperateOption = None

    @property
    def ProjectId(self):
        r"""项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def MetastoreType(self):
        r"""技术类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatasourceId(self):
        r"""数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ProjectName(self):
        r"""项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def Category(self):
        r"""数据源类别：绑定引擎、绑定数据库,可用值:DB,ENGINE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Description(self):
        r"""数据源描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Instance(self):
        r"""数据源引擎的实例ID，如CDB实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Region(self):
        r"""数据源引擎所属区域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def Status(self):
        r"""数据源数据源的可见性，1为可见、0为不可见。默认为1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def DatabaseName(self):
        r"""db名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def ProjectDisplayName(self):
        r"""项目中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def OwnerAccountName(self):
        r"""责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerAccountName

    @OwnerAccountName.setter
    def OwnerAccountName(self, OwnerAccountName):
        self._OwnerAccountName = OwnerAccountName

    @property
    def DisplayName(self):
        r"""数据来源展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def DatabaseId(self):
        r"""数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def Catalog(self):
        r"""数据来源类型：hive/mysql/hbase等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Catalog

    @Catalog.setter
    def Catalog(self, Catalog):
        self._Catalog = Catalog

    @property
    def StorageSize(self):
        r"""存储量大小,单位为 byte
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def StorageSizeWithUnit(self):
        r"""格式化后的存储量大小，带单位，如 12B
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageSizeWithUnit

    @StorageSizeWithUnit.setter
    def StorageSizeWithUnit(self, StorageSizeWithUnit):
        self._StorageSizeWithUnit = StorageSizeWithUnit

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def TableCount(self):
        r"""总表数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TableCount

    @TableCount.setter
    def TableCount(self, TableCount):
        self._TableCount = TableCount

    @property
    def DatasourceList(self):
        r"""数据源信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of GovDatasourceInfo
        """
        return self._DatasourceList

    @DatasourceList.setter
    def DatasourceList(self, DatasourceList):
        self._DatasourceList = DatasourceList

    @property
    def CollectJobId(self):
        r"""采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CollectJobId

    @CollectJobId.setter
    def CollectJobId(self, CollectJobId):
        self._CollectJobId = CollectJobId

    @property
    def CollectJobName(self):
        r"""采集任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CollectJobName

    @CollectJobName.setter
    def CollectJobName(self, CollectJobName):
        self._CollectJobName = CollectJobName

    @property
    def ClusterId(self):
        r"""引擎id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def ClusterName(self):
        r"""引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterName

    @ClusterName.setter
    def ClusterName(self, ClusterName):
        self._ClusterName = ClusterName

    @property
    def ModifiedTimeByTables(self):
        r"""库下表的最新更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ModifiedTimeByTables

    @ModifiedTimeByTables.setter
    def ModifiedTimeByTables(self, ModifiedTimeByTables):
        self._ModifiedTimeByTables = ModifiedTimeByTables

    @property
    def LastAccessTimeByTables(self):
        r"""库下表的最新访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastAccessTimeByTables

    @LastAccessTimeByTables.setter
    def LastAccessTimeByTables(self, LastAccessTimeByTables):
        self._LastAccessTimeByTables = LastAccessTimeByTables

    @property
    def DatabaseGuid(self):
        r"""库guid
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseGuid

    @DatabaseGuid.setter
    def DatabaseGuid(self, DatabaseGuid):
        self._DatabaseGuid = DatabaseGuid

    @property
    def Environment(self):
        r"""环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Environment

    @Environment.setter
    def Environment(self, Environment):
        self._Environment = Environment

    @property
    def OwnerAccount(self):
        r"""Owner的账户信息：账号信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OwnerAccount

    @OwnerAccount.setter
    def OwnerAccount(self, OwnerAccount):
        self._OwnerAccount = OwnerAccount

    @property
    def OperateOption(self):
        r"""操作权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OperateOption`
        """
        return self._OperateOption

    @OperateOption.setter
    def OperateOption(self, OperateOption):
        self._OperateOption = OperateOption


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._MetastoreType = params.get("MetastoreType")
        self._DatasourceName = params.get("DatasourceName")
        self._DatasourceId = params.get("DatasourceId")
        self._ProjectName = params.get("ProjectName")
        self._Category = params.get("Category")
        self._Description = params.get("Description")
        self._Instance = params.get("Instance")
        self._Region = params.get("Region")
        self._Status = params.get("Status")
        self._DatabaseName = params.get("DatabaseName")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._OwnerAccountName = params.get("OwnerAccountName")
        self._DisplayName = params.get("DisplayName")
        self._DatabaseId = params.get("DatabaseId")
        self._Catalog = params.get("Catalog")
        self._StorageSize = params.get("StorageSize")
        self._StorageSizeWithUnit = params.get("StorageSizeWithUnit")
        self._CreateTime = params.get("CreateTime")
        self._TableCount = params.get("TableCount")
        if params.get("DatasourceList") is not None:
            self._DatasourceList = []
            for item in params.get("DatasourceList"):
                obj = GovDatasourceInfo()
                obj._deserialize(item)
                self._DatasourceList.append(obj)
        self._CollectJobId = params.get("CollectJobId")
        self._CollectJobName = params.get("CollectJobName")
        self._ClusterId = params.get("ClusterId")
        self._ClusterName = params.get("ClusterName")
        self._ModifiedTimeByTables = params.get("ModifiedTimeByTables")
        self._LastAccessTimeByTables = params.get("LastAccessTimeByTables")
        self._DatabaseGuid = params.get("DatabaseGuid")
        self._Environment = params.get("Environment")
        self._OwnerAccount = params.get("OwnerAccount")
        if params.get("OperateOption") is not None:
            self._OperateOption = OperateOption()
            self._OperateOption._deserialize(params.get("OperateOption"))
        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 DatabaseRealViewVO(AbstractModel):
    r"""实时获取数据库列表信息

    """

    def __init__(self):
        r"""
        :param _CatalogName: CatalogName: 如dlc数据默认为DataLakeCatalog
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        :param _DataSourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceId: int
        :param _DataSourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceName: str
        :param _DataSourceInstance: 数据源实例
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceInstance: str
        :param _DataSourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceType: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Owner: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _OwnerAccount: 责任人账号
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerAccount: int
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: int
        :param _ModifiedTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedTime: int
        :param _Location: 数据库地址
注意：此字段可能返回 null，表示取不到有效值。
        :type Location: str
        :param _BizParams: 业务额外属性
注意：此字段可能返回 null，表示取不到有效值。
        :type BizParams: :class:`tencentcloud.wedata.v20210820.models.BizParams`
        :param _NextLevel: 下一级元数据:CATALOG,DATABASE,SCHEMA,TABLE
注意：此字段可能返回 null，表示取不到有效值。
        :type NextLevel: str
        """
        self._CatalogName = None
        self._DataSourceId = None
        self._DataSourceName = None
        self._DataSourceInstance = None
        self._DataSourceType = None
        self._DatabaseName = None
        self._Description = None
        self._Owner = None
        self._OwnerAccount = None
        self._CreateTime = None
        self._ModifiedTime = None
        self._Location = None
        self._BizParams = None
        self._NextLevel = None

    @property
    def CatalogName(self):
        r"""CatalogName: 如dlc数据默认为DataLakeCatalog
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def DataSourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataSourceId

    @DataSourceId.setter
    def DataSourceId(self, DataSourceId):
        self._DataSourceId = DataSourceId

    @property
    def DataSourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceName

    @DataSourceName.setter
    def DataSourceName(self, DataSourceName):
        self._DataSourceName = DataSourceName

    @property
    def DataSourceInstance(self):
        r"""数据源实例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceInstance

    @DataSourceInstance.setter
    def DataSourceInstance(self, DataSourceInstance):
        self._DataSourceInstance = DataSourceInstance

    @property
    def DataSourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Owner(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerAccount(self):
        r"""责任人账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OwnerAccount

    @OwnerAccount.setter
    def OwnerAccount(self, OwnerAccount):
        self._OwnerAccount = OwnerAccount

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def Location(self):
        r"""数据库地址
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Location

    @Location.setter
    def Location(self, Location):
        self._Location = Location

    @property
    def BizParams(self):
        r"""业务额外属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BizParams`
        """
        return self._BizParams

    @BizParams.setter
    def BizParams(self, BizParams):
        self._BizParams = BizParams

    @property
    def NextLevel(self):
        r"""下一级元数据:CATALOG,DATABASE,SCHEMA,TABLE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NextLevel

    @NextLevel.setter
    def NextLevel(self, NextLevel):
        self._NextLevel = NextLevel


    def _deserialize(self, params):
        self._CatalogName = params.get("CatalogName")
        self._DataSourceId = params.get("DataSourceId")
        self._DataSourceName = params.get("DataSourceName")
        self._DataSourceInstance = params.get("DataSourceInstance")
        self._DataSourceType = params.get("DataSourceType")
        self._DatabaseName = params.get("DatabaseName")
        self._Description = params.get("Description")
        self._Owner = params.get("Owner")
        self._OwnerAccount = params.get("OwnerAccount")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        self._Location = params.get("Location")
        if params.get("BizParams") is not None:
            self._BizParams = BizParams()
            self._BizParams._deserialize(params.get("BizParams"))
        self._NextLevel = params.get("NextLevel")
        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 DatabaseRealViewVOPageVO(AbstractModel):
    r"""实时获取数据库列表 分页参数

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _TotalCount: 总个数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        :param _Rows: 记录
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of DatabaseRealViewVO
        :param _SnapshotId: 分页快照id
注意：此字段可能返回 null，表示取不到有效值。
        :type SnapshotId: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._TotalCount = None
        self._TotalPageNumber = None
        self._Rows = None
        self._SnapshotId = None

    @property
    def PageNumber(self):
        r"""分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalCount(self):
        r"""总个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber

    @property
    def Rows(self):
        r"""记录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DatabaseRealViewVO
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def SnapshotId(self):
        r"""分页快照id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SnapshotId

    @SnapshotId.setter
    def SnapshotId(self, SnapshotId):
        self._SnapshotId = SnapshotId


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = DatabaseRealViewVO()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._SnapshotId = params.get("SnapshotId")
        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 DatabaseSchemaIInfo(AbstractModel):
    r"""数据库Schema信息

    """

    def __init__(self):
        r"""
        :param _SchemaName: schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _OriginDatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginDatabaseName: str
        """
        self._SchemaName = None
        self._OriginDatabaseName = None

    @property
    def SchemaName(self):
        r"""schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def OriginDatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginDatabaseName

    @OriginDatabaseName.setter
    def OriginDatabaseName(self, OriginDatabaseName):
        self._OriginDatabaseName = OriginDatabaseName


    def _deserialize(self, params):
        self._SchemaName = params.get("SchemaName")
        self._OriginDatabaseName = params.get("OriginDatabaseName")
        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 DatasourceBaseInfo(AbstractModel):
    r"""数据源对象

    """

    def __init__(self):
        r"""
        :param _DatabaseNames: <p>若数据源列表为绑定数据库，则为db名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseNames: list of str
        :param _Description: <p>数据源描述信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ID: <p>数据源ID</p>
        :type ID: int
        :param _Instance: <p>数据源引擎的实例ID，如CDB实例ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Instance: str
        :param _Name: <p>数据源名称，在相同SpaceName下，数据源名称不能为空</p>
        :type Name: str
        :param _Region: <p>数据源引擎所属区域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _Type: <p>数据源类型:枚举值</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _ClusterId: <p>数据源所属的集群id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _Version: <p>数据源版本信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Version: str
        :param _ParamsString: <p>数据源附带参数信息Params json字符串</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamsString: str
        :param _Category: <p>区分数据源类型自定义源还是系统源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Category: str
        :param _Ip: <p>数据实例ip</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Ip: str
        :param _Port: <p>数据实例port</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Port: str
        """
        self._DatabaseNames = None
        self._Description = None
        self._ID = None
        self._Instance = None
        self._Name = None
        self._Region = None
        self._Type = None
        self._ClusterId = None
        self._Version = None
        self._ParamsString = None
        self._Category = None
        self._Ip = None
        self._Port = None

    @property
    def DatabaseNames(self):
        r"""<p>若数据源列表为绑定数据库，则为db名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._DatabaseNames

    @DatabaseNames.setter
    def DatabaseNames(self, DatabaseNames):
        self._DatabaseNames = DatabaseNames

    @property
    def Description(self):
        r"""<p>数据源描述信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ID(self):
        r"""<p>数据源ID</p>
        :rtype: int
        """
        return self._ID

    @ID.setter
    def ID(self, ID):
        self._ID = ID

    @property
    def Instance(self):
        r"""<p>数据源引擎的实例ID，如CDB实例ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Name(self):
        r"""<p>数据源名称，在相同SpaceName下，数据源名称不能为空</p>
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Region(self):
        r"""<p>数据源引擎所属区域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def Type(self):
        r"""<p>数据源类型:枚举值</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ClusterId(self):
        r"""<p>数据源所属的集群id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def Version(self):
        r"""<p>数据源版本信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Version

    @Version.setter
    def Version(self, Version):
        self._Version = Version

    @property
    def ParamsString(self):
        r"""<p>数据源附带参数信息Params json字符串</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamsString

    @ParamsString.setter
    def ParamsString(self, ParamsString):
        self._ParamsString = ParamsString

    @property
    def Category(self):
        r"""<p>区分数据源类型自定义源还是系统源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Ip(self):
        r"""<p>数据实例ip</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Ip

    @Ip.setter
    def Ip(self, Ip):
        self._Ip = Ip

    @property
    def Port(self):
        r"""<p>数据实例port</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Port

    @Port.setter
    def Port(self, Port):
        self._Port = Port


    def _deserialize(self, params):
        self._DatabaseNames = params.get("DatabaseNames")
        self._Description = params.get("Description")
        self._ID = params.get("ID")
        self._Instance = params.get("Instance")
        self._Name = params.get("Name")
        self._Region = params.get("Region")
        self._Type = params.get("Type")
        self._ClusterId = params.get("ClusterId")
        self._Version = params.get("Version")
        self._ParamsString = params.get("ParamsString")
        self._Category = params.get("Category")
        self._Ip = params.get("Ip")
        self._Port = params.get("Port")
        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 DeleteCodeTemplateRequest(AbstractModel):
    r"""DeleteCodeTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _CodeTemplateId: 模版ID
        :type CodeTemplateId: str
        """
        self._ProjectId = None
        self._CodeTemplateId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateId(self):
        r"""模版ID
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateId = params.get("CodeTemplateId")
        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 DeleteCodeTemplateResponse(AbstractModel):
    r"""DeleteCodeTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteCustomFunctionRequest(AbstractModel):
    r"""DeleteCustomFunction请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ClusterIdentifier: 集群实例 ID
        :type ClusterIdentifier: str
        :param _FunctionId: 函数 ID
        :type FunctionId: str
        :param _ProjectId: 项目ID，必须填
        :type ProjectId: str
        :param _FunctionName: 函数名称
        :type FunctionName: str
        :param _FunctionType: 函数类型，HIVE，SPARK，DLC，CDW_POSTGRESQL
        :type FunctionType: str
        :param _DatabaseName: 数据库名
        :type DatabaseName: str
        :param _SchemaName: 模式名
        :type SchemaName: str
        :param _CommandFormat: 函数命令格式
        :type CommandFormat: str
        """
        self._ClusterIdentifier = None
        self._FunctionId = None
        self._ProjectId = None
        self._FunctionName = None
        self._FunctionType = None
        self._DatabaseName = None
        self._SchemaName = None
        self._CommandFormat = None

    @property
    def ClusterIdentifier(self):
        r"""集群实例 ID
        :rtype: str
        """
        return self._ClusterIdentifier

    @ClusterIdentifier.setter
    def ClusterIdentifier(self, ClusterIdentifier):
        self._ClusterIdentifier = ClusterIdentifier

    @property
    def FunctionId(self):
        r"""函数 ID
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ProjectId(self):
        r"""项目ID，必须填
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FunctionName(self):
        r"""函数名称
        :rtype: str
        """
        return self._FunctionName

    @FunctionName.setter
    def FunctionName(self, FunctionName):
        self._FunctionName = FunctionName

    @property
    def FunctionType(self):
        r"""函数类型，HIVE，SPARK，DLC，CDW_POSTGRESQL
        :rtype: str
        """
        return self._FunctionType

    @FunctionType.setter
    def FunctionType(self, FunctionType):
        self._FunctionType = FunctionType

    @property
    def DatabaseName(self):
        r"""数据库名
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""模式名
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def CommandFormat(self):
        r"""函数命令格式
        :rtype: str
        """
        return self._CommandFormat

    @CommandFormat.setter
    def CommandFormat(self, CommandFormat):
        self._CommandFormat = CommandFormat


    def _deserialize(self, params):
        self._ClusterIdentifier = params.get("ClusterIdentifier")
        self._FunctionId = params.get("FunctionId")
        self._ProjectId = params.get("ProjectId")
        self._FunctionName = params.get("FunctionName")
        self._FunctionType = params.get("FunctionType")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._CommandFormat = params.get("CommandFormat")
        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 DeleteCustomFunctionResponse(AbstractModel):
    r"""DeleteCustomFunction返回参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FunctionId: str
        :param _ErrorMessage: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._FunctionId = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def FunctionId(self):
        r"""函数 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ErrorMessage(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class DeleteDataModelRequest(AbstractModel):
    r"""DeleteDataModel请求参数结构体

    """

    def __init__(self):
        r"""
        :param _CloudappId: 云应用的实例id
        :type CloudappId: str
        :param _DataModelId: 数据建模的实例id
        :type DataModelId: str
        :param _UserId: 用户的子账号id
        :type UserId: str
        """
        self._CloudappId = None
        self._DataModelId = None
        self._UserId = None

    @property
    def CloudappId(self):
        r"""云应用的实例id
        :rtype: str
        """
        return self._CloudappId

    @CloudappId.setter
    def CloudappId(self, CloudappId):
        self._CloudappId = CloudappId

    @property
    def DataModelId(self):
        r"""数据建模的实例id
        :rtype: str
        """
        return self._DataModelId

    @DataModelId.setter
    def DataModelId(self, DataModelId):
        self._DataModelId = DataModelId

    @property
    def UserId(self):
        r"""用户的子账号id
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId


    def _deserialize(self, params):
        self._CloudappId = params.get("CloudappId")
        self._DataModelId = params.get("DataModelId")
        self._UserId = params.get("UserId")
        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 DeleteDataModelResponse(AbstractModel):
    r"""DeleteDataModel返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否销毁成功
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否销毁成功
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteDataSourcesRequest(AbstractModel):
    r"""DeleteDataSources请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Ids: id列表
        :type Ids: list of int non-negative
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._Ids = None
        self._ProjectId = None

    @property
    def Ids(self):
        r"""id列表
        :rtype: list of int non-negative
        """
        return self._Ids

    @Ids.setter
    def Ids(self, Ids):
        self._Ids = Ids

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Ids = params.get("Ids")
        self._ProjectId = params.get("ProjectId")
        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 DeleteDataSourcesResponse(AbstractModel):
    r"""DeleteDataSources返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteDsFolderRequest(AbstractModel):
    r"""DeleteDsFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _FolderId: 文件夹ID
        :type FolderId: str
        """
        self._ProjectId = None
        self._FolderId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderId(self):
        r"""文件夹ID
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderId = params.get("FolderId")
        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 DeleteDsFolderResponse(AbstractModel):
    r"""DeleteDsFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true代表删除成功，false代表删除失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true代表删除成功，false代表删除失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteFilePathRequest(AbstractModel):
    r"""DeleteFilePath请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _ResourceIds: 资源ID
        :type ResourceIds: list of str
        :param _UseStatus: 使用状态
- true
- false
        :type UseStatus: str
        :param _FilePaths: 文件路径
        :type FilePaths: list of str
        """
        self._ProjectId = None
        self._ResourceIds = None
        self._UseStatus = None
        self._FilePaths = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ResourceIds(self):
        r"""资源ID
        :rtype: list of str
        """
        return self._ResourceIds

    @ResourceIds.setter
    def ResourceIds(self, ResourceIds):
        self._ResourceIds = ResourceIds

    @property
    def UseStatus(self):
        r"""使用状态
- true
- false
        :rtype: str
        """
        return self._UseStatus

    @UseStatus.setter
    def UseStatus(self, UseStatus):
        self._UseStatus = UseStatus

    @property
    def FilePaths(self):
        r"""文件路径
        :rtype: list of str
        """
        return self._FilePaths

    @FilePaths.setter
    def FilePaths(self, FilePaths):
        self._FilePaths = FilePaths


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ResourceIds = params.get("ResourceIds")
        self._UseStatus = params.get("UseStatus")
        self._FilePaths = params.get("FilePaths")
        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 DeleteFilePathResponse(AbstractModel):
    r"""DeleteFilePath返回参数结构体

    """

    def __init__(self):
        r"""
        :param _UserFileList: 文件列表
注意：此字段可能返回 null，表示取不到有效值。
        :type UserFileList: list of UserFileInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._UserFileList = None
        self._RequestId = None

    @property
    def UserFileList(self):
        r"""文件列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of UserFileInfo
        """
        return self._UserFileList

    @UserFileList.setter
    def UserFileList(self, UserFileList):
        self._UserFileList = UserFileList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("UserFileList") is not None:
            self._UserFileList = []
            for item in params.get("UserFileList"):
                obj = UserFileInfo()
                obj._deserialize(item)
                self._UserFileList.append(obj)
        self._RequestId = params.get("RequestId")


class DeleteFileRequest(AbstractModel):
    r"""DeleteFile请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ResourceId: 资源id
        :type ResourceId: str
        """
        self._ProjectId = None
        self._ResourceId = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ResourceId(self):
        r"""资源id
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ResourceId = params.get("ResourceId")
        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 DeleteFileResponse(AbstractModel):
    r"""DeleteFile返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Result: 删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Result: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Result = None
        self._RequestId = None

    @property
    def Result(self):
        r"""删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Result = params.get("Result")
        self._RequestId = params.get("RequestId")


class DeleteIntegrationNodeRequest(AbstractModel):
    r"""DeleteIntegrationNode请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 节点id
        :type Id: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._Id = None
        self._ProjectId = None

    @property
    def Id(self):
        r"""节点id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ProjectId = params.get("ProjectId")
        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 DeleteIntegrationNodeResponse(AbstractModel):
    r"""DeleteIntegrationNode返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 删除返回是否成功标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""删除返回是否成功标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteIntegrationTaskRequest(AbstractModel):
    r"""DeleteIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 DeleteIntegrationTaskResponse(AbstractModel):
    r"""DeleteIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务删除成功与否标识
        :type Data: bool
        :param _DeleteFlag: 任务删除成功与否标识
0表示删除成功
1 表示失败，失败原因见 DeleteErrInfo
100 表示running or suspend task can't be deleted失败，失败原因也会写到DeleteErrInfo里面
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteFlag: int
        :param _DeleteErrInfo: 删除失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteErrInfo: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._DeleteFlag = None
        self._DeleteErrInfo = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务删除成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def DeleteFlag(self):
        r"""任务删除成功与否标识
0表示删除成功
1 表示失败，失败原因见 DeleteErrInfo
100 表示running or suspend task can't be deleted失败，失败原因也会写到DeleteErrInfo里面
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DeleteFlag

    @DeleteFlag.setter
    def DeleteFlag(self, DeleteFlag):
        self._DeleteFlag = DeleteFlag

    @property
    def DeleteErrInfo(self):
        r"""删除失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DeleteErrInfo

    @DeleteErrInfo.setter
    def DeleteErrInfo(self, DeleteErrInfo):
        self._DeleteErrInfo = DeleteErrInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._DeleteFlag = params.get("DeleteFlag")
        self._DeleteErrInfo = params.get("DeleteErrInfo")
        self._RequestId = params.get("RequestId")


class DeleteLinkRequest(AbstractModel):
    r"""DeleteLink请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 当前项目Id
        :type ProjectId: str
        :param _TaskFrom: 边的源节点
        :type TaskFrom: str
        :param _TaskTo: 边的目标节点
        :type TaskTo: str
        :param _WorkflowId: 当前工作流Id
        :type WorkflowId: str
        :param _Id: 边Id
        :type Id: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        """
        self._ProjectId = None
        self._TaskFrom = None
        self._TaskTo = None
        self._WorkflowId = None
        self._Id = None
        self._RequestFromSource = None

    @property
    def ProjectId(self):
        r"""当前项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskFrom(self):
        r"""边的源节点
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def TaskTo(self):
        r"""边的目标节点
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def WorkflowId(self):
        r"""当前工作流Id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Id(self):
        r"""边Id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskFrom = params.get("TaskFrom")
        self._TaskTo = params.get("TaskTo")
        self._WorkflowId = params.get("WorkflowId")
        self._Id = params.get("Id")
        self._RequestFromSource = params.get("RequestFromSource")
        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 DeleteLinkResponse(AbstractModel):
    r"""DeleteLink返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteOfflineTaskRequest(AbstractModel):
    r"""DeleteOfflineTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _OperatorName: 操作者name
        :type OperatorName: str
        :param _ProjectId: 项目/工作空间id
        :type ProjectId: str
        :param _TaskId: 任务id
        :type TaskId: str
        :param _VirtualFlag: 虚拟任务标记(跟之前调度接口保持一致默认false)
        :type VirtualFlag: bool
        """
        self._OperatorName = None
        self._ProjectId = None
        self._TaskId = None
        self._VirtualFlag = None

    @property
    def OperatorName(self):
        r"""操作者name
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def ProjectId(self):
        r"""项目/工作空间id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VirtualFlag(self):
        r"""虚拟任务标记(跟之前调度接口保持一致默认false)
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag


    def _deserialize(self, params):
        self._OperatorName = params.get("OperatorName")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._VirtualFlag = params.get("VirtualFlag")
        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 DeleteOfflineTaskResponse(AbstractModel):
    r"""DeleteOfflineTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteProjectParamDsRequest(AbstractModel):
    r"""DeleteProjectParamDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ParamKey: 参数名
        :type ParamKey: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._ParamKey = None
        self._ProjectId = None

    @property
    def ParamKey(self):
        r"""参数名
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._ParamKey = params.get("ParamKey")
        self._ProjectId = params.get("ProjectId")
        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 DeleteProjectParamDsResponse(AbstractModel):
    r"""DeleteProjectParamDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果 true 删除成功
false 删除失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果 true 删除成功
false 删除失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteProjectUsersRequest(AbstractModel):
    r"""DeleteProjectUsers请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _UserIds: 用户ID列表
        :type UserIds: list of str
        """
        self._ProjectId = None
        self._UserIds = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UserIds(self):
        r"""用户ID列表
        :rtype: list of str
        """
        return self._UserIds

    @UserIds.setter
    def UserIds(self, UserIds):
        self._UserIds = UserIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._UserIds = params.get("UserIds")
        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 DeleteProjectUsersResponse(AbstractModel):
    r"""DeleteProjectUsers返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestId = None

    @property
    def RequestId(self):
        r"""唯一请求 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 DeleteResourceFileRequest(AbstractModel):
    r"""DeleteResourceFile请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ResourceId: 资源id
        :type ResourceId: str
        """
        self._ProjectId = None
        self._ResourceId = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ResourceId(self):
        r"""资源id
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ResourceId = params.get("ResourceId")
        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 DeleteResourceFileResponse(AbstractModel):
    r"""DeleteResourceFile返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 资源删除结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""资源删除结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteResourceFilesRequest(AbstractModel):
    r"""DeleteResourceFiles请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _UseStatus: 使用状态， 为ture 判断资源的使用状态，如果使用中则不能删除
        :type UseStatus: bool
        :param _ResourceIds: 资源id列表
        :type ResourceIds: list of str
        :param _FilePaths: 需要删除的资源路径列表 即资源管理中的目录结构
        :type FilePaths: list of str
        """
        self._ProjectId = None
        self._UseStatus = None
        self._ResourceIds = None
        self._FilePaths = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UseStatus(self):
        r"""使用状态， 为ture 判断资源的使用状态，如果使用中则不能删除
        :rtype: bool
        """
        return self._UseStatus

    @UseStatus.setter
    def UseStatus(self, UseStatus):
        self._UseStatus = UseStatus

    @property
    def ResourceIds(self):
        r"""资源id列表
        :rtype: list of str
        """
        return self._ResourceIds

    @ResourceIds.setter
    def ResourceIds(self, ResourceIds):
        self._ResourceIds = ResourceIds

    @property
    def FilePaths(self):
        r"""需要删除的资源路径列表 即资源管理中的目录结构
        :rtype: list of str
        """
        return self._FilePaths

    @FilePaths.setter
    def FilePaths(self, FilePaths):
        self._FilePaths = FilePaths


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._UseStatus = params.get("UseStatus")
        self._ResourceIds = params.get("ResourceIds")
        self._FilePaths = params.get("FilePaths")
        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 DeleteResourceFilesResponse(AbstractModel):
    r"""DeleteResourceFiles返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 资源批量删除结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""资源批量删除结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteResourceRequest(AbstractModel):
    r"""DeleteResource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _ResourceId: 资源ID
        :type ResourceId: str
        """
        self._ProjectId = None
        self._ResourceId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ResourceId(self):
        r"""资源ID
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ResourceId = params.get("ResourceId")
        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 DeleteResourceResponse(AbstractModel):
    r"""DeleteResource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteRuleRequest(AbstractModel):
    r"""DeleteRule请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleId: 质量规则ID
        :type RuleId: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._RuleId = None
        self._ProjectId = None

    @property
    def RuleId(self):
        r"""质量规则ID
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._RuleId = params.get("RuleId")
        self._ProjectId = params.get("ProjectId")
        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 DeleteRuleResponse(AbstractModel):
    r"""DeleteRule返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteRuleTemplateRequest(AbstractModel):
    r"""DeleteRuleTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Ids: 模板Id列表
        :type Ids: list of int non-negative
        """
        self._ProjectId = None
        self._Ids = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Ids(self):
        r"""模板Id列表
        :rtype: list of int non-negative
        """
        return self._Ids

    @Ids.setter
    def Ids(self, Ids):
        self._Ids = Ids


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Ids = params.get("Ids")
        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 DeleteRuleTemplateResponse(AbstractModel):
    r"""DeleteRuleTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteTaskAlarmRegularRequest(AbstractModel):
    r"""DeleteTaskAlarmRegular请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 主键ID
        :type Id: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _TaskType: 任务类型(201表示实时任务，202表示离线任务)
        :type TaskType: int
        """
        self._Id = None
        self._ProjectId = None
        self._TaskId = None
        self._TaskType = None

    @property
    def Id(self):
        r"""主键ID
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskType(self):
        r"""任务类型(201表示实时任务，202表示离线任务)
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._TaskType = params.get("TaskType")
        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 DeleteTaskAlarmRegularResponse(AbstractModel):
    r"""DeleteTaskAlarmRegular返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 删除结果(true表示删除成功，false表示删除失败)
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""删除结果(true表示删除成功，false表示删除失败)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteTaskDsRequest(AbstractModel):
    r"""DeleteTaskDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _DeleteScript: 是否删除脚本
true：删除
false：不删除
不传默认false
        :type DeleteScript: bool
        :param _OperateInform: 任务操作是否消息通知下游任务责任人true：通知
false：不通知
不传默认false
        :type OperateInform: bool
        :param _TaskId: 任务ID
和VirtualTaskId选填一个
        :type TaskId: str
        :param _VirtualTaskId: 虚拟任务id
和TaskId选填一个

        :type VirtualTaskId: str
        :param _VirtualFlag: 虚拟任务标记
true：是虚拟任务
false：不是虚拟任务
不传默认false
        :type VirtualFlag: bool
        :param _DeleteMode: 任务删除方式
true：不针对下游任务实例进行强制失败
false：针对下游任务实例进行强制失败
不传默认false

        :type DeleteMode: bool
        """
        self._ProjectId = None
        self._DeleteScript = None
        self._OperateInform = None
        self._TaskId = None
        self._VirtualTaskId = None
        self._VirtualFlag = None
        self._DeleteMode = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DeleteScript(self):
        r"""是否删除脚本
true：删除
false：不删除
不传默认false
        :rtype: bool
        """
        return self._DeleteScript

    @DeleteScript.setter
    def DeleteScript(self, DeleteScript):
        self._DeleteScript = DeleteScript

    @property
    def OperateInform(self):
        r"""任务操作是否消息通知下游任务责任人true：通知
false：不通知
不传默认false
        :rtype: bool
        """
        return self._OperateInform

    @OperateInform.setter
    def OperateInform(self, OperateInform):
        self._OperateInform = OperateInform

    @property
    def TaskId(self):
        r"""任务ID
和VirtualTaskId选填一个
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VirtualTaskId(self):
        r"""虚拟任务id
和TaskId选填一个

        :rtype: str
        """
        return self._VirtualTaskId

    @VirtualTaskId.setter
    def VirtualTaskId(self, VirtualTaskId):
        self._VirtualTaskId = VirtualTaskId

    @property
    def VirtualFlag(self):
        r"""虚拟任务标记
true：是虚拟任务
false：不是虚拟任务
不传默认false
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def DeleteMode(self):
        r"""任务删除方式
true：不针对下游任务实例进行强制失败
false：针对下游任务实例进行强制失败
不传默认false

        :rtype: bool
        """
        return self._DeleteMode

    @DeleteMode.setter
    def DeleteMode(self, DeleteMode):
        self._DeleteMode = DeleteMode


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._DeleteScript = params.get("DeleteScript")
        self._OperateInform = params.get("OperateInform")
        self._TaskId = params.get("TaskId")
        self._VirtualTaskId = params.get("VirtualTaskId")
        self._VirtualFlag = params.get("VirtualFlag")
        self._DeleteMode = params.get("DeleteMode")
        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 DeleteTaskDsResponse(AbstractModel):
    r"""DeleteTaskDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否删除成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteTaskLineageRequest(AbstractModel):
    r"""DeleteTaskLineage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Task: 任务信息
        :type Task: :class:`tencentcloud.wedata.v20210820.models.LineageTask`
        :param _ChannelType: wedata内部任务默认SQL
        :type ChannelType: str
        """
        self._Task = None
        self._ChannelType = None

    @property
    def Task(self):
        r"""任务信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageTask`
        """
        return self._Task

    @Task.setter
    def Task(self, Task):
        self._Task = Task

    @property
    def ChannelType(self):
        r"""wedata内部任务默认SQL
        :rtype: str
        """
        return self._ChannelType

    @ChannelType.setter
    def ChannelType(self, ChannelType):
        self._ChannelType = ChannelType


    def _deserialize(self, params):
        if params.get("Task") is not None:
            self._Task = LineageTask()
            self._Task._deserialize(params.get("Task"))
        self._ChannelType = params.get("ChannelType")
        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 DeleteTaskLineageResponse(AbstractModel):
    r"""DeleteTaskLineage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DeleteWorkflowByIdRequest(AbstractModel):
    r"""DeleteWorkflowById请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DeleteMode: 删除后下游任务的处理方式，true:下游任务均正常运行 false:下游任务均运行失败
        :type DeleteMode: bool
        :param _EnableNotify: 删除任务后是否通知下游任务责任人, true:通知 false:不通知
        :type EnableNotify: bool
        """
        self._WorkflowId = None
        self._ProjectId = None
        self._DeleteMode = None
        self._EnableNotify = None

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DeleteMode(self):
        r"""删除后下游任务的处理方式，true:下游任务均正常运行 false:下游任务均运行失败
        :rtype: bool
        """
        return self._DeleteMode

    @DeleteMode.setter
    def DeleteMode(self, DeleteMode):
        self._DeleteMode = DeleteMode

    @property
    def EnableNotify(self):
        r"""删除任务后是否通知下游任务责任人, true:通知 false:不通知
        :rtype: bool
        """
        return self._EnableNotify

    @EnableNotify.setter
    def EnableNotify(self, EnableNotify):
        self._EnableNotify = EnableNotify


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectId = params.get("ProjectId")
        self._DeleteMode = params.get("DeleteMode")
        self._EnableNotify = params.get("EnableNotify")
        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 DeleteWorkflowByIdResponse(AbstractModel):
    r"""DeleteWorkflowById返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DependencyConfig(AbstractModel):
    r"""依赖配置

    """

    def __init__(self):
        r"""
        :param _DependConfType: 周期运行依赖配置： HOUR,DAY,WEEK,MONTH,YEAR,CRONTAB,MINUTE,RANGE_DAY,RANGE_HOUR,RANGE_MINUTE,LIST_DAY,LIST_HOUR,LIST_MINUTE;
        :type DependConfType: str
        :param _SubordinateCyclicType: 依赖配置从属周期类型，CURRENT_HOUR，PREVIOUS_HOUR，CURRENT_DAY，PREVIOUS_DAY，PREVIOUS_WEEK，PREVIOUS_FRIDAY，PREVIOUS_WEEKEND，CURRENT_MONTH，PREVIOUS_MONTH，PREVIOUS_END_OF_MONTH，PREVIOUS_BEGIN_OF_MONTH，ALL_MONTH_OF_YEAR，ALL_DAY_OF_YEAR，CURRENT_YEAR，CURRENT，CURRENT_MINUTE，PREVIOUS_MINUTE_CYCLE，PREVIOUS_HOUR_CYCLE
        :type SubordinateCyclicType: str
        :param _DependencyStrategy: WAITING，等待（默认策略）EXECUTING:执行
        :type DependencyStrategy: str
        :param _ParentTask: 父任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentTask: :class:`tencentcloud.wedata.v20210820.models.TaskInnerInfo`
        :param _SonTask: 子任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type SonTask: :class:`tencentcloud.wedata.v20210820.models.TaskInnerInfo`
        :param _Offset: 偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :type Offset: str
        """
        self._DependConfType = None
        self._SubordinateCyclicType = None
        self._DependencyStrategy = None
        self._ParentTask = None
        self._SonTask = None
        self._Offset = None

    @property
    def DependConfType(self):
        r"""周期运行依赖配置： HOUR,DAY,WEEK,MONTH,YEAR,CRONTAB,MINUTE,RANGE_DAY,RANGE_HOUR,RANGE_MINUTE,LIST_DAY,LIST_HOUR,LIST_MINUTE;
        :rtype: str
        """
        return self._DependConfType

    @DependConfType.setter
    def DependConfType(self, DependConfType):
        self._DependConfType = DependConfType

    @property
    def SubordinateCyclicType(self):
        r"""依赖配置从属周期类型，CURRENT_HOUR，PREVIOUS_HOUR，CURRENT_DAY，PREVIOUS_DAY，PREVIOUS_WEEK，PREVIOUS_FRIDAY，PREVIOUS_WEEKEND，CURRENT_MONTH，PREVIOUS_MONTH，PREVIOUS_END_OF_MONTH，PREVIOUS_BEGIN_OF_MONTH，ALL_MONTH_OF_YEAR，ALL_DAY_OF_YEAR，CURRENT_YEAR，CURRENT，CURRENT_MINUTE，PREVIOUS_MINUTE_CYCLE，PREVIOUS_HOUR_CYCLE
        :rtype: str
        """
        return self._SubordinateCyclicType

    @SubordinateCyclicType.setter
    def SubordinateCyclicType(self, SubordinateCyclicType):
        self._SubordinateCyclicType = SubordinateCyclicType

    @property
    def DependencyStrategy(self):
        r"""WAITING，等待（默认策略）EXECUTING:执行
        :rtype: str
        """
        return self._DependencyStrategy

    @DependencyStrategy.setter
    def DependencyStrategy(self, DependencyStrategy):
        self._DependencyStrategy = DependencyStrategy

    @property
    def ParentTask(self):
        r"""父任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskInnerInfo`
        """
        return self._ParentTask

    @ParentTask.setter
    def ParentTask(self, ParentTask):
        self._ParentTask = ParentTask

    @property
    def SonTask(self):
        r"""子任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskInnerInfo`
        """
        return self._SonTask

    @SonTask.setter
    def SonTask(self, SonTask):
        self._SonTask = SonTask

    @property
    def Offset(self):
        r"""偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Offset

    @Offset.setter
    def Offset(self, Offset):
        self._Offset = Offset


    def _deserialize(self, params):
        self._DependConfType = params.get("DependConfType")
        self._SubordinateCyclicType = params.get("SubordinateCyclicType")
        self._DependencyStrategy = params.get("DependencyStrategy")
        if params.get("ParentTask") is not None:
            self._ParentTask = TaskInnerInfo()
            self._ParentTask._deserialize(params.get("ParentTask"))
        if params.get("SonTask") is not None:
            self._SonTask = TaskInnerInfo()
            self._SonTask._deserialize(params.get("SonTask"))
        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 DependencyConfigDsDTO(AbstractModel):
    r"""依赖配置

    """

    def __init__(self):
        r"""
        :param _ParentTask: ParentTask任务
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentTask: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        :param _SonTask: SonTask任务
注意：此字段可能返回 null，表示取不到有效值。
        :type SonTask: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        :param _MainCyclicConfig: the dependency config
注意：此字段可能返回 null，表示取不到有效值。
        :type MainCyclicConfig: str
        :param _SubordinateCyclicConfig: SubordinateCyclicConfig配置
注意：此字段可能返回 null，表示取不到有效值。
        :type SubordinateCyclicConfig: str
        :param _DependencyStrategy: DependencyStrategy策略
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyStrategy: :class:`tencentcloud.wedata.v20210820.models.DependencyStrategyDs`
        :param _Offset: 偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :type Offset: str
        """
        self._ParentTask = None
        self._SonTask = None
        self._MainCyclicConfig = None
        self._SubordinateCyclicConfig = None
        self._DependencyStrategy = None
        self._Offset = None

    @property
    def ParentTask(self):
        r"""ParentTask任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        """
        return self._ParentTask

    @ParentTask.setter
    def ParentTask(self, ParentTask):
        self._ParentTask = ParentTask

    @property
    def SonTask(self):
        r"""SonTask任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        """
        return self._SonTask

    @SonTask.setter
    def SonTask(self, SonTask):
        self._SonTask = SonTask

    @property
    def MainCyclicConfig(self):
        r"""the dependency config
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MainCyclicConfig

    @MainCyclicConfig.setter
    def MainCyclicConfig(self, MainCyclicConfig):
        self._MainCyclicConfig = MainCyclicConfig

    @property
    def SubordinateCyclicConfig(self):
        r"""SubordinateCyclicConfig配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubordinateCyclicConfig

    @SubordinateCyclicConfig.setter
    def SubordinateCyclicConfig(self, SubordinateCyclicConfig):
        self._SubordinateCyclicConfig = SubordinateCyclicConfig

    @property
    def DependencyStrategy(self):
        r"""DependencyStrategy策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DependencyStrategyDs`
        """
        return self._DependencyStrategy

    @DependencyStrategy.setter
    def DependencyStrategy(self, DependencyStrategy):
        self._DependencyStrategy = DependencyStrategy

    @property
    def Offset(self):
        r"""偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Offset

    @Offset.setter
    def Offset(self, Offset):
        self._Offset = Offset


    def _deserialize(self, params):
        if params.get("ParentTask") is not None:
            self._ParentTask = TaskDsDTO()
            self._ParentTask._deserialize(params.get("ParentTask"))
        if params.get("SonTask") is not None:
            self._SonTask = TaskDsDTO()
            self._SonTask._deserialize(params.get("SonTask"))
        self._MainCyclicConfig = params.get("MainCyclicConfig")
        self._SubordinateCyclicConfig = params.get("SubordinateCyclicConfig")
        if params.get("DependencyStrategy") is not None:
            self._DependencyStrategy = DependencyStrategyDs()
            self._DependencyStrategy._deserialize(params.get("DependencyStrategy"))
        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 DependencyConfigTimeoutDTO(AbstractModel):
    r"""超时弱依赖配置

    """

    def __init__(self):
        r"""
        :param _TimeoutType: 超时类型
WAIT_TOTAL_TIMEOUT 等待总时长

RUNNING_TIMEOUT 运行时长

WAIT_TIME_POINT_TIMEOUT 等待超过配置时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeoutType: str
        :param _TimeoutValue: 超时时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeoutValue: int
        :param _TimeoutPoint: 固定时间点
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeoutPoint: str
        """
        self._TimeoutType = None
        self._TimeoutValue = None
        self._TimeoutPoint = None

    @property
    def TimeoutType(self):
        r"""超时类型
WAIT_TOTAL_TIMEOUT 等待总时长

RUNNING_TIMEOUT 运行时长

WAIT_TIME_POINT_TIMEOUT 等待超过配置时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeoutType

    @TimeoutType.setter
    def TimeoutType(self, TimeoutType):
        self._TimeoutType = TimeoutType

    @property
    def TimeoutValue(self):
        r"""超时时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TimeoutValue

    @TimeoutValue.setter
    def TimeoutValue(self, TimeoutValue):
        self._TimeoutValue = TimeoutValue

    @property
    def TimeoutPoint(self):
        r"""固定时间点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeoutPoint

    @TimeoutPoint.setter
    def TimeoutPoint(self, TimeoutPoint):
        self._TimeoutPoint = TimeoutPoint


    def _deserialize(self, params):
        self._TimeoutType = params.get("TimeoutType")
        self._TimeoutValue = params.get("TimeoutValue")
        self._TimeoutPoint = params.get("TimeoutPoint")
        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 DependencyStrategyDs(AbstractModel):
    r"""依赖配置策略

    """

    def __init__(self):
        r"""
        :param _PollingNullStrategy: 等待上游任务实例策略：EXECUTING（执行）；WAITING（等待）

注意：此字段可能返回 null，表示取不到有效值。
        :type PollingNullStrategy: str
        :param _TaskDependencyExecutingStrategies: 仅当PollingNullStrategy为EXECUTING时才需要填本字段，List类型：NOT_EXIST（默认，在分钟依赖分钟/小时依赖小时的情况下，父实例不在下游实例调度时间范围内）；PARENT_EXPIRED（父实例失败）；PARENT_TIMEOUT（父实例超时）。以上场景满足任一条件即可通过该父任务实例依赖判断，除以上场景外均需等待父实例。

注意：此字段可能返回 null，表示取不到有效值。
        :type TaskDependencyExecutingStrategies: list of str
        :param _TaskDependencyExecutingTimeoutValue: 仅当TaskDependencyExecutingStrategies中包含PARENT_TIMEOUT时才需要填本字段，下游任务依赖父实例执行超时时间，单位：分钟。

注意：此字段可能返回 null，表示取不到有效值。
        :type TaskDependencyExecutingTimeoutValue: int
        :param _DependencyConfigTimeoutTypeList: 超时依赖策略
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyConfigTimeoutTypeList: list of DependencyConfigTimeoutDTO
        """
        self._PollingNullStrategy = None
        self._TaskDependencyExecutingStrategies = None
        self._TaskDependencyExecutingTimeoutValue = None
        self._DependencyConfigTimeoutTypeList = None

    @property
    def PollingNullStrategy(self):
        r"""等待上游任务实例策略：EXECUTING（执行）；WAITING（等待）

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PollingNullStrategy

    @PollingNullStrategy.setter
    def PollingNullStrategy(self, PollingNullStrategy):
        self._PollingNullStrategy = PollingNullStrategy

    @property
    def TaskDependencyExecutingStrategies(self):
        r"""仅当PollingNullStrategy为EXECUTING时才需要填本字段，List类型：NOT_EXIST（默认，在分钟依赖分钟/小时依赖小时的情况下，父实例不在下游实例调度时间范围内）；PARENT_EXPIRED（父实例失败）；PARENT_TIMEOUT（父实例超时）。以上场景满足任一条件即可通过该父任务实例依赖判断，除以上场景外均需等待父实例。

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskDependencyExecutingStrategies

    @TaskDependencyExecutingStrategies.setter
    def TaskDependencyExecutingStrategies(self, TaskDependencyExecutingStrategies):
        self._TaskDependencyExecutingStrategies = TaskDependencyExecutingStrategies

    @property
    def TaskDependencyExecutingTimeoutValue(self):
        r"""仅当TaskDependencyExecutingStrategies中包含PARENT_TIMEOUT时才需要填本字段，下游任务依赖父实例执行超时时间，单位：分钟。

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskDependencyExecutingTimeoutValue

    @TaskDependencyExecutingTimeoutValue.setter
    def TaskDependencyExecutingTimeoutValue(self, TaskDependencyExecutingTimeoutValue):
        self._TaskDependencyExecutingTimeoutValue = TaskDependencyExecutingTimeoutValue

    @property
    def DependencyConfigTimeoutTypeList(self):
        r"""超时依赖策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DependencyConfigTimeoutDTO
        """
        return self._DependencyConfigTimeoutTypeList

    @DependencyConfigTimeoutTypeList.setter
    def DependencyConfigTimeoutTypeList(self, DependencyConfigTimeoutTypeList):
        self._DependencyConfigTimeoutTypeList = DependencyConfigTimeoutTypeList


    def _deserialize(self, params):
        self._PollingNullStrategy = params.get("PollingNullStrategy")
        self._TaskDependencyExecutingStrategies = params.get("TaskDependencyExecutingStrategies")
        self._TaskDependencyExecutingTimeoutValue = params.get("TaskDependencyExecutingTimeoutValue")
        if params.get("DependencyConfigTimeoutTypeList") is not None:
            self._DependencyConfigTimeoutTypeList = []
            for item in params.get("DependencyConfigTimeoutTypeList"):
                obj = DependencyConfigTimeoutDTO()
                obj._deserialize(item)
                self._DependencyConfigTimeoutTypeList.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 DescribeAlarmEventsRequest(AbstractModel):
    r"""DescribeAlarmEvents请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PageNumber: 当前页
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _Filters: 过滤条件(key可以是：AlarmLevel,AlarmIndicator,KeyWord)
        :type Filters: list of Filter
        :param _OrderFields: 排序字段（AlarmTime）
        :type OrderFields: list of OrderField
        :param _TaskType: 类型(201表示实时，202表示离线)
        :type TaskType: int
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :type MonitorType: int
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._TaskType = None
        self._StartTime = None
        self._EndTime = None
        self._MonitorType = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""当前页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件(key可以是：AlarmLevel,AlarmIndicator,KeyWord)
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段（AlarmTime）
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def TaskType(self):
        r"""类型(201表示实时，202表示离线)
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def MonitorType(self):
        r"""监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._TaskType = params.get("TaskType")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._MonitorType = params.get("MonitorType")
        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 DescribeAlarmEventsResponse(AbstractModel):
    r"""DescribeAlarmEvents返回参数结构体

    """

    def __init__(self):
        r"""
        :param _AlarmEventInfoList: 告警事件列表
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmEventInfoList: list of AlarmEventInfo
        :param _TotalCount: 总记录数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._AlarmEventInfoList = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def AlarmEventInfoList(self):
        r"""告警事件列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmEventInfo
        """
        return self._AlarmEventInfoList

    @AlarmEventInfoList.setter
    def AlarmEventInfoList(self, AlarmEventInfoList):
        self._AlarmEventInfoList = AlarmEventInfoList

    @property
    def TotalCount(self):
        r"""总记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("AlarmEventInfoList") is not None:
            self._AlarmEventInfoList = []
            for item in params.get("AlarmEventInfoList"):
                obj = AlarmEventInfo()
                obj._deserialize(item)
                self._AlarmEventInfoList.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeAlarmReceiverRequest(AbstractModel):
    r"""DescribeAlarmReceiver请求参数结构体

    """

    def __init__(self):
        r"""
        :param _AlarmId: 告警ID
        :type AlarmId: str
        :param _PageNumber: 当前页
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskType: 类型
        :type TaskType: int
        :param _AlarmRecipient: 告警接收人ID(逗号分隔)
        :type AlarmRecipient: str
        :param _AlarmRecipientName: 告警接收人姓名(逗号分隔)
        :type AlarmRecipientName: str
        :param _AlarmTime: 告警时间
        :type AlarmTime: str
        :param _MessageId: 消息ID
        :type MessageId: str
        :param _RecordId: 告警记录id
        :type RecordId: int
        :param _MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :type MonitorType: int
        """
        self._AlarmId = None
        self._PageNumber = None
        self._PageSize = None
        self._ProjectId = None
        self._TaskType = None
        self._AlarmRecipient = None
        self._AlarmRecipientName = None
        self._AlarmTime = None
        self._MessageId = None
        self._RecordId = None
        self._MonitorType = None

    @property
    def AlarmId(self):
        r"""告警ID
        :rtype: str
        """
        return self._AlarmId

    @AlarmId.setter
    def AlarmId(self, AlarmId):
        self._AlarmId = AlarmId

    @property
    def PageNumber(self):
        r"""当前页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""类型
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def AlarmRecipient(self):
        r"""告警接收人ID(逗号分隔)
        :rtype: str
        """
        return self._AlarmRecipient

    @AlarmRecipient.setter
    def AlarmRecipient(self, AlarmRecipient):
        self._AlarmRecipient = AlarmRecipient

    @property
    def AlarmRecipientName(self):
        r"""告警接收人姓名(逗号分隔)
        :rtype: str
        """
        return self._AlarmRecipientName

    @AlarmRecipientName.setter
    def AlarmRecipientName(self, AlarmRecipientName):
        self._AlarmRecipientName = AlarmRecipientName

    @property
    def AlarmTime(self):
        r"""告警时间
        :rtype: str
        """
        return self._AlarmTime

    @AlarmTime.setter
    def AlarmTime(self, AlarmTime):
        self._AlarmTime = AlarmTime

    @property
    def MessageId(self):
        r"""消息ID
        :rtype: str
        """
        return self._MessageId

    @MessageId.setter
    def MessageId(self, MessageId):
        self._MessageId = MessageId

    @property
    def RecordId(self):
        r"""告警记录id
        :rtype: int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def MonitorType(self):
        r"""监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType


    def _deserialize(self, params):
        self._AlarmId = params.get("AlarmId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        self._AlarmRecipient = params.get("AlarmRecipient")
        self._AlarmRecipientName = params.get("AlarmRecipientName")
        self._AlarmTime = params.get("AlarmTime")
        self._MessageId = params.get("MessageId")
        self._RecordId = params.get("RecordId")
        self._MonitorType = params.get("MonitorType")
        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 DescribeAlarmReceiverResponse(AbstractModel):
    r"""DescribeAlarmReceiver返回参数结构体

    """

    def __init__(self):
        r"""
        :param _AlarmReceiverInfoList: 告警接收人列表
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmReceiverInfoList: list of AlarmReceiverInfo
        :param _TotalCount: 总记录数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._AlarmReceiverInfoList = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def AlarmReceiverInfoList(self):
        r"""告警接收人列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmReceiverInfo
        """
        return self._AlarmReceiverInfoList

    @AlarmReceiverInfoList.setter
    def AlarmReceiverInfoList(self, AlarmReceiverInfoList):
        self._AlarmReceiverInfoList = AlarmReceiverInfoList

    @property
    def TotalCount(self):
        r"""总记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("AlarmReceiverInfoList") is not None:
            self._AlarmReceiverInfoList = []
            for item in params.get("AlarmReceiverInfoList"):
                obj = AlarmReceiverInfo()
                obj._deserialize(item)
                self._AlarmReceiverInfoList.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeAllByFolderNewRequest(AbstractModel):
    r"""DescribeAllByFolderNew请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Folder: 文件夹属性
        :type Folder: :class:`tencentcloud.wedata.v20210820.models.FolderOpsDto`
        :param _Workflows: 工作流列表
        :type Workflows: list of WorkflowCanvasOpsDto
        :param _TargetFolderId: 目标文件id
        :type TargetFolderId: str
        :param _KeyWords: 关键字
        :type KeyWords: str
        :param _ParentsFolderId: 父文件id
        :type ParentsFolderId: str
        :param _IsAddWorkflow: 拉取文件夹列表
        :type IsAddWorkflow: str
        :param _TaskStates: 任务状态
        :type TaskStates: list of str
        :param _FindType: 搜索类型
        :type FindType: str
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        """
        self._Folder = None
        self._Workflows = None
        self._TargetFolderId = None
        self._KeyWords = None
        self._ParentsFolderId = None
        self._IsAddWorkflow = None
        self._TaskStates = None
        self._FindType = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None

    @property
    def Folder(self):
        r"""文件夹属性
        :rtype: :class:`tencentcloud.wedata.v20210820.models.FolderOpsDto`
        """
        return self._Folder

    @Folder.setter
    def Folder(self, Folder):
        self._Folder = Folder

    @property
    def Workflows(self):
        r"""工作流列表
        :rtype: list of WorkflowCanvasOpsDto
        """
        return self._Workflows

    @Workflows.setter
    def Workflows(self, Workflows):
        self._Workflows = Workflows

    @property
    def TargetFolderId(self):
        r"""目标文件id
        :rtype: str
        """
        return self._TargetFolderId

    @TargetFolderId.setter
    def TargetFolderId(self, TargetFolderId):
        self._TargetFolderId = TargetFolderId

    @property
    def KeyWords(self):
        r"""关键字
        :rtype: str
        """
        return self._KeyWords

    @KeyWords.setter
    def KeyWords(self, KeyWords):
        self._KeyWords = KeyWords

    @property
    def ParentsFolderId(self):
        r"""父文件id
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId

    @property
    def IsAddWorkflow(self):
        r"""拉取文件夹列表
        :rtype: str
        """
        return self._IsAddWorkflow

    @IsAddWorkflow.setter
    def IsAddWorkflow(self, IsAddWorkflow):
        self._IsAddWorkflow = IsAddWorkflow

    @property
    def TaskStates(self):
        r"""任务状态
        :rtype: list of str
        """
        return self._TaskStates

    @TaskStates.setter
    def TaskStates(self, TaskStates):
        self._TaskStates = TaskStates

    @property
    def FindType(self):
        r"""搜索类型
        :rtype: str
        """
        return self._FindType

    @FindType.setter
    def FindType(self, FindType):
        self._FindType = FindType

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount


    def _deserialize(self, params):
        if params.get("Folder") is not None:
            self._Folder = FolderOpsDto()
            self._Folder._deserialize(params.get("Folder"))
        if params.get("Workflows") is not None:
            self._Workflows = []
            for item in params.get("Workflows"):
                obj = WorkflowCanvasOpsDto()
                obj._deserialize(item)
                self._Workflows.append(obj)
        self._TargetFolderId = params.get("TargetFolderId")
        self._KeyWords = params.get("KeyWords")
        self._ParentsFolderId = params.get("ParentsFolderId")
        self._IsAddWorkflow = params.get("IsAddWorkflow")
        self._TaskStates = params.get("TaskStates")
        self._FindType = params.get("FindType")
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        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 DescribeAllByFolderNewResponse(AbstractModel):
    r"""DescribeAllByFolderNew返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果集
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CollectionFolderOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果集
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CollectionFolderOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CollectionFolderOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeApply(AbstractModel):
    r"""申请列表

    """

    def __init__(self):
        r"""
        :param _Rows: 申请列表详情
        :type Rows: list of Apply
        :param _TotalPageNumber: 总分页页码
        :type TotalPageNumber: int
        :param _TotalCount: 总个数
        :type TotalCount: int
        :param _PageNumber: 分页页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        """
        self._Rows = None
        self._TotalPageNumber = None
        self._TotalCount = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def Rows(self):
        r"""申请列表详情
        :rtype: list of Apply
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def TotalPageNumber(self):
        r"""总分页页码
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber

    @property
    def TotalCount(self):
        r"""总个数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = Apply()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._TotalPageNumber = params.get("TotalPageNumber")
        self._TotalCount = params.get("TotalCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeApproveListRequest(AbstractModel):
    r"""DescribeApproveList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ApproveClassification: 审批分类key
        :type ApproveClassification: str
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _PageNumber: 分页数
        :type PageNumber: int
        :param _Filters: 自定义条件查询
        :type Filters: list of FilterOptional
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderFieldOptional
        """
        self._ApproveClassification = None
        self._PageSize = None
        self._PageNumber = None
        self._Filters = None
        self._OrderFields = None

    @property
    def ApproveClassification(self):
        r"""审批分类key
        :rtype: str
        """
        return self._ApproveClassification

    @ApproveClassification.setter
    def ApproveClassification(self, ApproveClassification):
        self._ApproveClassification = ApproveClassification

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageNumber(self):
        r"""分页数
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def Filters(self):
        r"""自定义条件查询
        :rtype: list of FilterOptional
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderFieldOptional
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._ApproveClassification = params.get("ApproveClassification")
        self._PageSize = params.get("PageSize")
        self._PageNumber = params.get("PageNumber")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = FilterOptional()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderFieldOptional()
                obj._deserialize(item)
                self._OrderFields.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 DescribeApproveListResponse(AbstractModel):
    r"""DescribeApproveList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 待审批列表详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeApply`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""待审批列表详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeApply`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeApply()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeApproveTypeListRequest(AbstractModel):
    r"""DescribeApproveTypeList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Classification: 类型key
        :type Classification: str
        """
        self._Classification = None

    @property
    def Classification(self):
        r"""类型key
        :rtype: str
        """
        return self._Classification

    @Classification.setter
    def Classification(self, Classification):
        self._Classification = Classification


    def _deserialize(self, params):
        self._Classification = params.get("Classification")
        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 DescribeApproveTypeListResponse(AbstractModel):
    r"""DescribeApproveTypeList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 获取审批分类列表
        :type Data: list of ApproveType
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""获取审批分类列表
        :rtype: list of ApproveType
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ApproveType()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeBaseBizCatalogsRequest(AbstractModel):
    r"""DescribeBaseBizCatalogs请求参数结构体

    """


class DescribeBaseBizCatalogsResponse(AbstractModel):
    r"""DescribeBaseBizCatalogs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 类目列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of BizCatalogsInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""类目列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of BizCatalogsInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = BizCatalogsInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeBatchOperateTaskDTO(AbstractModel):
    r"""批量操作任务列表

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: 工作流Id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _Status: 状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _TaskTypeId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _TaskTypeDesc: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeDesc: str
        :param _FolderName: 文件夹名
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _InCharge: 负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _Submit: 是否提交
注意：此字段可能返回 null，表示取不到有效值。
        :type Submit: int
        :param _DataEngine: 引擎：
presto\SparkJob\SparkSql
注意：此字段可能返回 null，表示取不到有效值。
        :type DataEngine: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _CreateTime: 创造时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _CycleUnit: 周期类型D天周期
H小时
Ccrontab类型
I分钟
O一次性
Y年
R用户驱动
W周
M月
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _ScheduleDesc: 调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleDesc: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: str
        :param _ComputeResource: 引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ComputeResource: str
        :param _DlcRegion: dlc地域
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcRegion: str
        :param _IsInherit: 资源组或自定义
注意：此字段可能返回 null，表示取不到有效值。
        :type IsInherit: str
        """
        self._TaskId = None
        self._TaskName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._Status = None
        self._TaskTypeId = None
        self._TaskTypeDesc = None
        self._FolderName = None
        self._FolderId = None
        self._InCharge = None
        self._Submit = None
        self._DataEngine = None
        self._UpdateTime = None
        self._CreateTime = None
        self._CycleUnit = None
        self._ScheduleDesc = None
        self._DatasourceId = None
        self._DatasourceType = None
        self._ComputeResource = None
        self._DlcRegion = None
        self._IsInherit = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""工作流Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def Status(self):
        r"""状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TaskTypeId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def TaskTypeDesc(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTypeDesc

    @TaskTypeDesc.setter
    def TaskTypeDesc(self, TaskTypeDesc):
        self._TaskTypeDesc = TaskTypeDesc

    @property
    def FolderName(self):
        r"""文件夹名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def InCharge(self):
        r"""负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def Submit(self):
        r"""是否提交
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Submit

    @Submit.setter
    def Submit(self, Submit):
        self._Submit = Submit

    @property
    def DataEngine(self):
        r"""引擎：
presto\SparkJob\SparkSql
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataEngine

    @DataEngine.setter
    def DataEngine(self, DataEngine):
        self._DataEngine = DataEngine

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def CreateTime(self):
        r"""创造时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def CycleUnit(self):
        r"""周期类型D天周期
H小时
Ccrontab类型
I分钟
O一次性
Y年
R用户驱动
W周
M月
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def ScheduleDesc(self):
        r"""调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleDesc

    @ScheduleDesc.setter
    def ScheduleDesc(self, ScheduleDesc):
        self._ScheduleDesc = ScheduleDesc

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def ComputeResource(self):
        r"""引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComputeResource

    @ComputeResource.setter
    def ComputeResource(self, ComputeResource):
        self._ComputeResource = ComputeResource

    @property
    def DlcRegion(self):
        r"""dlc地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcRegion

    @DlcRegion.setter
    def DlcRegion(self, DlcRegion):
        self._DlcRegion = DlcRegion

    @property
    def IsInherit(self):
        r"""资源组或自定义
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IsInherit

    @IsInherit.setter
    def IsInherit(self, IsInherit):
        self._IsInherit = IsInherit


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._Status = params.get("Status")
        self._TaskTypeId = params.get("TaskTypeId")
        self._TaskTypeDesc = params.get("TaskTypeDesc")
        self._FolderName = params.get("FolderName")
        self._FolderId = params.get("FolderId")
        self._InCharge = params.get("InCharge")
        self._Submit = params.get("Submit")
        self._DataEngine = params.get("DataEngine")
        self._UpdateTime = params.get("UpdateTime")
        self._CreateTime = params.get("CreateTime")
        self._CycleUnit = params.get("CycleUnit")
        self._ScheduleDesc = params.get("ScheduleDesc")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceType = params.get("DatasourceType")
        self._ComputeResource = params.get("ComputeResource")
        self._DlcRegion = params.get("DlcRegion")
        self._IsInherit = params.get("IsInherit")
        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 DescribeBatchOperateTaskPage(AbstractModel):
    r"""批量操作任务列表分页

    """

    def __init__(self):
        r"""
        :param _PageCount: 总页码数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _Items: 内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of DescribeBatchOperateTaskDTO
        :param _TotalCount: 总个数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        """
        self._PageCount = None
        self._Items = None
        self._TotalCount = None

    @property
    def PageCount(self):
        r"""总页码数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def Items(self):
        r"""内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DescribeBatchOperateTaskDTO
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalCount(self):
        r"""总个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount


    def _deserialize(self, params):
        self._PageCount = params.get("PageCount")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = DescribeBatchOperateTaskDTO()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalCount = params.get("TotalCount")
        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 DescribeBatchOperateTaskRequest(AbstractModel):
    r"""DescribeBatchOperateTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Page: 页码
        :type Page: str
        :param _Size: 页号
        :type Size: str
        :param _StatusList: 状态列表
草稿：'NS'，'N','P','R'
运行：''Y'
停止：'F'
冻结：'O'
停止中：'T'
        :type StatusList: list of str
        :param _OwnerNameList: 责任人名列表
        :type OwnerNameList: list of str
        :param _WorkflowIdList: 工作流列表
        :type WorkflowIdList: list of str
        :param _TaskNameFilter: 任务名称搜索
        :type TaskNameFilter: str
        :param _TaskTypeList: 任务类型列表
        :type TaskTypeList: list of str
        :param _FordIdList: 文件夹列表
        :type FordIdList: list of str
        :param _TaskIdFilter: 任务Id搜索
        :type TaskIdFilter: str
        :param _OwnerNameFilter: 责任人搜索
        :type OwnerNameFilter: str
        :param _SortItem: 排序字段：
UpdateTime
CreateTime
        :type SortItem: str
        :param _SortType: asc:升序
desc:降序
        :type SortType: str
        :param _DataEngineList: 引擎类型列表：三种
SparkJob
SparkSql
presto
        :type DataEngineList: list of str
        :param _UserId: 操作人名
        :type UserId: str
        :param _OwnerId: 1
        :type OwnerId: str
        :param _TenantId: 1
        :type TenantId: str
        :param _DatasourceIdList: 数据源ID列表
        :type DatasourceIdList: list of str
        :param _DatasourceTypeList: 数据源类型列表
        :type DatasourceTypeList: list of str
        :param _CycleUnitList: 调度单位类型列表
        :type CycleUnitList: list of str
        :param _CanSubmit: 是否筛选出可提交的任务
        :type CanSubmit: bool
        :param _TimeZone: 返回时间字段需要转换的时区
        :type TimeZone: str
        :param _MinUpdateTime: 任务最后更新时间最小值，ISO8601格式，如2025-07-16T15:00:00+08:00
        :type MinUpdateTime: str
        :param _MaxUpdateTime: 任务最后更新时间最大值，ISO8601格式，如2025-07-17T15:00:00+08:00
        :type MaxUpdateTime: str
        """
        self._ProjectId = None
        self._Page = None
        self._Size = None
        self._StatusList = None
        self._OwnerNameList = None
        self._WorkflowIdList = None
        self._TaskNameFilter = None
        self._TaskTypeList = None
        self._FordIdList = None
        self._TaskIdFilter = None
        self._OwnerNameFilter = None
        self._SortItem = None
        self._SortType = None
        self._DataEngineList = None
        self._UserId = None
        self._OwnerId = None
        self._TenantId = None
        self._DatasourceIdList = None
        self._DatasourceTypeList = None
        self._CycleUnitList = None
        self._CanSubmit = None
        self._TimeZone = None
        self._MinUpdateTime = None
        self._MaxUpdateTime = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Page(self):
        r"""页码
        :rtype: str
        """
        return self._Page

    @Page.setter
    def Page(self, Page):
        self._Page = Page

    @property
    def Size(self):
        r"""页号
        :rtype: str
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def StatusList(self):
        r"""状态列表
草稿：'NS'，'N','P','R'
运行：''Y'
停止：'F'
冻结：'O'
停止中：'T'
        :rtype: list of str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def OwnerNameList(self):
        r"""责任人名列表
        :rtype: list of str
        """
        return self._OwnerNameList

    @OwnerNameList.setter
    def OwnerNameList(self, OwnerNameList):
        self._OwnerNameList = OwnerNameList

    @property
    def WorkflowIdList(self):
        r"""工作流列表
        :rtype: list of str
        """
        return self._WorkflowIdList

    @WorkflowIdList.setter
    def WorkflowIdList(self, WorkflowIdList):
        self._WorkflowIdList = WorkflowIdList

    @property
    def TaskNameFilter(self):
        r"""任务名称搜索
        :rtype: str
        """
        return self._TaskNameFilter

    @TaskNameFilter.setter
    def TaskNameFilter(self, TaskNameFilter):
        self._TaskNameFilter = TaskNameFilter

    @property
    def TaskTypeList(self):
        r"""任务类型列表
        :rtype: list of str
        """
        return self._TaskTypeList

    @TaskTypeList.setter
    def TaskTypeList(self, TaskTypeList):
        self._TaskTypeList = TaskTypeList

    @property
    def FordIdList(self):
        r"""文件夹列表
        :rtype: list of str
        """
        return self._FordIdList

    @FordIdList.setter
    def FordIdList(self, FordIdList):
        self._FordIdList = FordIdList

    @property
    def TaskIdFilter(self):
        r"""任务Id搜索
        :rtype: str
        """
        return self._TaskIdFilter

    @TaskIdFilter.setter
    def TaskIdFilter(self, TaskIdFilter):
        self._TaskIdFilter = TaskIdFilter

    @property
    def OwnerNameFilter(self):
        r"""责任人搜索
        :rtype: str
        """
        return self._OwnerNameFilter

    @OwnerNameFilter.setter
    def OwnerNameFilter(self, OwnerNameFilter):
        self._OwnerNameFilter = OwnerNameFilter

    @property
    def SortItem(self):
        r"""排序字段：
UpdateTime
CreateTime
        :rtype: str
        """
        return self._SortItem

    @SortItem.setter
    def SortItem(self, SortItem):
        self._SortItem = SortItem

    @property
    def SortType(self):
        r"""asc:升序
desc:降序
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def DataEngineList(self):
        r"""引擎类型列表：三种
SparkJob
SparkSql
presto
        :rtype: list of str
        """
        return self._DataEngineList

    @DataEngineList.setter
    def DataEngineList(self, DataEngineList):
        self._DataEngineList = DataEngineList

    @property
    def UserId(self):
        r"""操作人名
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def OwnerId(self):
        r"""1
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def TenantId(self):
        r"""1
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def DatasourceIdList(self):
        r"""数据源ID列表
        :rtype: list of str
        """
        return self._DatasourceIdList

    @DatasourceIdList.setter
    def DatasourceIdList(self, DatasourceIdList):
        self._DatasourceIdList = DatasourceIdList

    @property
    def DatasourceTypeList(self):
        r"""数据源类型列表
        :rtype: list of str
        """
        return self._DatasourceTypeList

    @DatasourceTypeList.setter
    def DatasourceTypeList(self, DatasourceTypeList):
        self._DatasourceTypeList = DatasourceTypeList

    @property
    def CycleUnitList(self):
        r"""调度单位类型列表
        :rtype: list of str
        """
        return self._CycleUnitList

    @CycleUnitList.setter
    def CycleUnitList(self, CycleUnitList):
        self._CycleUnitList = CycleUnitList

    @property
    def CanSubmit(self):
        r"""是否筛选出可提交的任务
        :rtype: bool
        """
        return self._CanSubmit

    @CanSubmit.setter
    def CanSubmit(self, CanSubmit):
        self._CanSubmit = CanSubmit

    @property
    def TimeZone(self):
        r"""返回时间字段需要转换的时区
        :rtype: str
        """
        return self._TimeZone

    @TimeZone.setter
    def TimeZone(self, TimeZone):
        self._TimeZone = TimeZone

    @property
    def MinUpdateTime(self):
        r"""任务最后更新时间最小值，ISO8601格式，如2025-07-16T15:00:00+08:00
        :rtype: str
        """
        return self._MinUpdateTime

    @MinUpdateTime.setter
    def MinUpdateTime(self, MinUpdateTime):
        self._MinUpdateTime = MinUpdateTime

    @property
    def MaxUpdateTime(self):
        r"""任务最后更新时间最大值，ISO8601格式，如2025-07-17T15:00:00+08:00
        :rtype: str
        """
        return self._MaxUpdateTime

    @MaxUpdateTime.setter
    def MaxUpdateTime(self, MaxUpdateTime):
        self._MaxUpdateTime = MaxUpdateTime


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Page = params.get("Page")
        self._Size = params.get("Size")
        self._StatusList = params.get("StatusList")
        self._OwnerNameList = params.get("OwnerNameList")
        self._WorkflowIdList = params.get("WorkflowIdList")
        self._TaskNameFilter = params.get("TaskNameFilter")
        self._TaskTypeList = params.get("TaskTypeList")
        self._FordIdList = params.get("FordIdList")
        self._TaskIdFilter = params.get("TaskIdFilter")
        self._OwnerNameFilter = params.get("OwnerNameFilter")
        self._SortItem = params.get("SortItem")
        self._SortType = params.get("SortType")
        self._DataEngineList = params.get("DataEngineList")
        self._UserId = params.get("UserId")
        self._OwnerId = params.get("OwnerId")
        self._TenantId = params.get("TenantId")
        self._DatasourceIdList = params.get("DatasourceIdList")
        self._DatasourceTypeList = params.get("DatasourceTypeList")
        self._CycleUnitList = params.get("CycleUnitList")
        self._CanSubmit = params.get("CanSubmit")
        self._TimeZone = params.get("TimeZone")
        self._MinUpdateTime = params.get("MinUpdateTime")
        self._MaxUpdateTime = params.get("MaxUpdateTime")
        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 DescribeBatchOperateTaskResponse(AbstractModel):
    r"""DescribeBatchOperateTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeBatchOperateTaskPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeBatchOperateTaskPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeBatchOperateTaskPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeCodeTemplateDetailRequest(AbstractModel):
    r"""DescribeCodeTemplateDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _CodeTemplateId: 模版Id
        :type CodeTemplateId: str
        :param _NeedReturnScriptContent: 是否需要返回脚本内容，默认false。
        :type NeedReturnScriptContent: bool
        """
        self._ProjectId = None
        self._CodeTemplateId = None
        self._NeedReturnScriptContent = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateId(self):
        r"""模版Id
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId

    @property
    def NeedReturnScriptContent(self):
        r"""是否需要返回脚本内容，默认false。
        :rtype: bool
        """
        return self._NeedReturnScriptContent

    @NeedReturnScriptContent.setter
    def NeedReturnScriptContent(self, NeedReturnScriptContent):
        self._NeedReturnScriptContent = NeedReturnScriptContent


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateId = params.get("CodeTemplateId")
        self._NeedReturnScriptContent = params.get("NeedReturnScriptContent")
        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 DescribeCodeTemplateDetailResponse(AbstractModel):
    r"""DescribeCodeTemplateDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 代码详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CodeTemplateDetail`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""代码详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CodeTemplateDetail`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CodeTemplateDetail()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeColumnLineageRequest(AbstractModel):
    r"""DescribeColumnLineage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Direction: 查询方向枚举值

- INPUT
- OUTPUT
- BOTH
        :type Direction: str
        :param _Data: 字段信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ColumnLineageInfo`
        :param _InputDepth: 单次查询入度
        :type InputDepth: int
        :param _OutputDepth: 单次查询出度
        :type OutputDepth: int
        :param _ExtParams: 额外参数（传递调用方信息）
        :type ExtParams: list of RecordField
        :param _IgnoreTemp: 是否过滤临时表 默认值为true
        :type IgnoreTemp: bool
        """
        self._Direction = None
        self._Data = None
        self._InputDepth = None
        self._OutputDepth = None
        self._ExtParams = None
        self._IgnoreTemp = None

    @property
    def Direction(self):
        r"""查询方向枚举值

- INPUT
- OUTPUT
- BOTH
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction

    @property
    def Data(self):
        r"""字段信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ColumnLineageInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InputDepth(self):
        r"""单次查询入度
        :rtype: int
        """
        return self._InputDepth

    @InputDepth.setter
    def InputDepth(self, InputDepth):
        self._InputDepth = InputDepth

    @property
    def OutputDepth(self):
        r"""单次查询出度
        :rtype: int
        """
        return self._OutputDepth

    @OutputDepth.setter
    def OutputDepth(self, OutputDepth):
        self._OutputDepth = OutputDepth

    @property
    def ExtParams(self):
        r"""额外参数（传递调用方信息）
        :rtype: list of RecordField
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def IgnoreTemp(self):
        r"""是否过滤临时表 默认值为true
        :rtype: bool
        """
        return self._IgnoreTemp

    @IgnoreTemp.setter
    def IgnoreTemp(self, IgnoreTemp):
        self._IgnoreTemp = IgnoreTemp


    def _deserialize(self, params):
        self._Direction = params.get("Direction")
        if params.get("Data") is not None:
            self._Data = ColumnLineageInfo()
            self._Data._deserialize(params.get("Data"))
        self._InputDepth = params.get("InputDepth")
        self._OutputDepth = params.get("OutputDepth")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._IgnoreTemp = params.get("IgnoreTemp")
        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 DescribeColumnLineageResponse(AbstractModel):
    r"""DescribeColumnLineage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ColumnAggregationLineage: 字段血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnAggregationLineage: :class:`tencentcloud.wedata.v20210820.models.ColumnAggregationLineage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ColumnAggregationLineage = None
        self._RequestId = None

    @property
    def ColumnAggregationLineage(self):
        r"""字段血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ColumnAggregationLineage`
        """
        return self._ColumnAggregationLineage

    @ColumnAggregationLineage.setter
    def ColumnAggregationLineage(self, ColumnAggregationLineage):
        self._ColumnAggregationLineage = ColumnAggregationLineage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("ColumnAggregationLineage") is not None:
            self._ColumnAggregationLineage = ColumnAggregationLineage()
            self._ColumnAggregationLineage._deserialize(params.get("ColumnAggregationLineage"))
        self._RequestId = params.get("RequestId")


class DescribeColumnsMetaRequest(AbstractModel):
    r"""DescribeColumnsMeta请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页大小
        :type PageSize: int
        :param _FilterSet: 过滤器
        :type FilterSet: list of Filter
        :param _OrderFieldSet: 排序字段
        :type OrderFieldSet: list of OrderField
        :param _IsPartitionQuery: 是否查询分区字段，默认false
        :type IsPartitionQuery: bool
        :param _ComplianceId: 合规组ID
        :type ComplianceId: int
        """
        self._TableId = None
        self._PageNumber = None
        self._PageSize = None
        self._FilterSet = None
        self._OrderFieldSet = None
        self._IsPartitionQuery = None
        self._ComplianceId = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def FilterSet(self):
        r"""过滤器
        :rtype: list of Filter
        """
        return self._FilterSet

    @FilterSet.setter
    def FilterSet(self, FilterSet):
        self._FilterSet = FilterSet

    @property
    def OrderFieldSet(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFieldSet

    @OrderFieldSet.setter
    def OrderFieldSet(self, OrderFieldSet):
        self._OrderFieldSet = OrderFieldSet

    @property
    def IsPartitionQuery(self):
        r"""是否查询分区字段，默认false
        :rtype: bool
        """
        return self._IsPartitionQuery

    @IsPartitionQuery.setter
    def IsPartitionQuery(self, IsPartitionQuery):
        self._IsPartitionQuery = IsPartitionQuery

    @property
    def ComplianceId(self):
        r"""合规组ID
        :rtype: int
        """
        return self._ComplianceId

    @ComplianceId.setter
    def ComplianceId(self, ComplianceId):
        self._ComplianceId = ComplianceId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("FilterSet") is not None:
            self._FilterSet = []
            for item in params.get("FilterSet"):
                obj = Filter()
                obj._deserialize(item)
                self._FilterSet.append(obj)
        if params.get("OrderFieldSet") is not None:
            self._OrderFieldSet = []
            for item in params.get("OrderFieldSet"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFieldSet.append(obj)
        self._IsPartitionQuery = params.get("IsPartitionQuery")
        self._ComplianceId = params.get("ComplianceId")
        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 DescribeColumnsMetaResponse(AbstractModel):
    r"""DescribeColumnsMeta返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ColumnMetaSet: 分页返回的
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnMetaSet: list of ColumnMeta
        :param _TotalCount: 总记录数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ColumnMetaSet = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def ColumnMetaSet(self):
        r"""分页返回的
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ColumnMeta
        """
        return self._ColumnMetaSet

    @ColumnMetaSet.setter
    def ColumnMetaSet(self, ColumnMetaSet):
        self._ColumnMetaSet = ColumnMetaSet

    @property
    def TotalCount(self):
        r"""总记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("ColumnMetaSet") is not None:
            self._ColumnMetaSet = []
            for item in params.get("ColumnMetaSet"):
                obj = ColumnMeta()
                obj._deserialize(item)
                self._ColumnMetaSet.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeDataAssetsRequest(AbstractModel):
    r"""DescribeDataAssets请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _Filters: 过滤字段名称
Name 取值如下
      keyword 搜索关键字
      bizCatalogIds 表示目录分类取值
      DataAssetType 数据资产类型枚举取值：ALL-全部类型、TABLE-数据表
      DatasourceType 数据源类型
      datasourceIds 数据源ID列表
      DatabaseName 数据库名称
      InCharge 负责人
      ProjectId 项目ID
      Label 标签
      ProjectId 数据资产归属的项目ID
      AssetLevel 等级 取值：ALL-全部，40-核心，30-重要，20-一般，10-临时
      OwnerMe 我负责的
      PermissionMe 我有权限的
      MyFavorite 我收藏的
        :type Filters: list of Filter
        :param _OrderFields: 排序字段列表
取值：
     Name： Table-按表名，LikeCount-按热度
     Direction： ASC, DESC
        :type OrderFields: list of OrderField
        :param _PageNumber: 页码，配合pageSize使用
        :type PageNumber: int
        :param _PageSize: 每页数目，配合pageNumber使用
        :type PageSize: int
        """
        self._RequestFromSource = None
        self._Filters = None
        self._OrderFields = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Filters(self):
        r"""过滤字段名称
Name 取值如下
      keyword 搜索关键字
      bizCatalogIds 表示目录分类取值
      DataAssetType 数据资产类型枚举取值：ALL-全部类型、TABLE-数据表
      DatasourceType 数据源类型
      datasourceIds 数据源ID列表
      DatabaseName 数据库名称
      InCharge 负责人
      ProjectId 项目ID
      Label 标签
      ProjectId 数据资产归属的项目ID
      AssetLevel 等级 取值：ALL-全部，40-核心，30-重要，20-一般，10-临时
      OwnerMe 我负责的
      PermissionMe 我有权限的
      MyFavorite 我收藏的
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段列表
取值：
     Name： Table-按表名，LikeCount-按热度
     Direction： ASC, DESC
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def PageNumber(self):
        r"""页码，配合pageSize使用
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数目，配合pageNumber使用
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeDataAssetsResponse(AbstractModel):
    r"""DescribeDataAssets返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DataSetRecords: 数据资产记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSetRecords: list of DataSetRecord
        :param _TotalCount: 总数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 每页数目
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _IndicatorRecords: 指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorRecords: list of IndicatorBaseInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DataSetRecords = None
        self._TotalCount = None
        self._PageNumber = None
        self._PageSize = None
        self._IndicatorRecords = None
        self._RequestId = None

    @property
    def DataSetRecords(self):
        r"""数据资产记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DataSetRecord
        """
        return self._DataSetRecords

    @DataSetRecords.setter
    def DataSetRecords(self, DataSetRecords):
        self._DataSetRecords = DataSetRecords

    @property
    def TotalCount(self):
        r"""总数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数目
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def IndicatorRecords(self):
        r"""指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IndicatorBaseInfo
        """
        return self._IndicatorRecords

    @IndicatorRecords.setter
    def IndicatorRecords(self, IndicatorRecords):
        self._IndicatorRecords = IndicatorRecords

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("DataSetRecords") is not None:
            self._DataSetRecords = []
            for item in params.get("DataSetRecords"):
                obj = DataSetRecord()
                obj._deserialize(item)
                self._DataSetRecords.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("IndicatorRecords") is not None:
            self._IndicatorRecords = []
            for item in params.get("IndicatorRecords"):
                obj = IndicatorBaseInfo()
                obj._deserialize(item)
                self._IndicatorRecords.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDataCheckStatRequest(AbstractModel):
    r"""DescribeDataCheckStat请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _BeginDate: 开始时间，时间戳到秒
        :type BeginDate: str
        :param _EndDate: 结束时间，时间戳到秒
        :type EndDate: str
        """
        self._ProjectId = None
        self._BeginDate = None
        self._EndDate = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BeginDate(self):
        r"""开始时间，时间戳到秒
        :rtype: str
        """
        return self._BeginDate

    @BeginDate.setter
    def BeginDate(self, BeginDate):
        self._BeginDate = BeginDate

    @property
    def EndDate(self):
        r"""结束时间，时间戳到秒
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._BeginDate = params.get("BeginDate")
        self._EndDate = params.get("EndDate")
        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 DescribeDataCheckStatResponse(AbstractModel):
    r"""DescribeDataCheckStat返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DataCheckStat`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataCheckStat`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DataCheckStat()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDataServicePublishedApiDetailRequest(AbstractModel):
    r"""DescribeDataServicePublishedApiDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 服务Id
        :type Id: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._Id = None
        self._ProjectId = None

    @property
    def Id(self):
        r"""服务Id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ProjectId = params.get("ProjectId")
        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 DescribeDataServicePublishedApiDetailResp(AbstractModel):
    r"""查询数据服务API的发布态信息详情出参

    """

    def __init__(self):
        r"""
        :param _ApiName: 服务Api名称
        :type ApiName: str
        :param _PathUrl: 服务请求Path
        :type PathUrl: str
        :param _OwnerName: 服务责任人名称
        :type OwnerName: str
        :param _RequestType: 服务请求方式
        :type RequestType: str
        :param _ApiTagNames: 服务标签名称集合
注意：此字段可能返回 null，表示取不到有效值。
        :type ApiTagNames: str
        :param _ApiDescription: 服务描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ApiDescription: str
        :param _RequestExample: 服务请求返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestExample: str
        :param _RequestSuccess: 服务请求成功返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestSuccess: str
        :param _RequestError: 服务请求失败返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestError: str
        :param _RequestParam: 服务请求参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestParam: list of DataServiceRequestParam
        :param _ResponseParam: 服务响应参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ResponseParam: list of DataServiceResponseParam
        :param _MaxAllowQps: 最大qps
        :type MaxAllowQps: int
        :param _MaxAllowPageSize: 最大记录数
        :type MaxAllowPageSize: int
        :param _TimeoutPeriod: 超时时间，单位ms
        :type TimeoutPeriod: int
        :param _ApiId: ApiId
注意：此字段可能返回 null，表示取不到有效值。
        :type ApiId: str
        :param _AuthType: 0:免认证 1:应用认证
        :type AuthType: int
        :param _GatewayApiUrl: 请求地址
注意：此字段可能返回 null，表示取不到有效值。
        :type GatewayApiUrl: str
        :param _ApiStatus: 服务Api状态 1:已上线  3:已下线
注意：此字段可能返回 null，表示取不到有效值。
        :type ApiStatus: int
        """
        self._ApiName = None
        self._PathUrl = None
        self._OwnerName = None
        self._RequestType = None
        self._ApiTagNames = None
        self._ApiDescription = None
        self._RequestExample = None
        self._RequestSuccess = None
        self._RequestError = None
        self._RequestParam = None
        self._ResponseParam = None
        self._MaxAllowQps = None
        self._MaxAllowPageSize = None
        self._TimeoutPeriod = None
        self._ApiId = None
        self._AuthType = None
        self._GatewayApiUrl = None
        self._ApiStatus = None

    @property
    def ApiName(self):
        r"""服务Api名称
        :rtype: str
        """
        return self._ApiName

    @ApiName.setter
    def ApiName(self, ApiName):
        self._ApiName = ApiName

    @property
    def PathUrl(self):
        r"""服务请求Path
        :rtype: str
        """
        return self._PathUrl

    @PathUrl.setter
    def PathUrl(self, PathUrl):
        self._PathUrl = PathUrl

    @property
    def OwnerName(self):
        r"""服务责任人名称
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def RequestType(self):
        r"""服务请求方式
        :rtype: str
        """
        return self._RequestType

    @RequestType.setter
    def RequestType(self, RequestType):
        self._RequestType = RequestType

    @property
    def ApiTagNames(self):
        r"""服务标签名称集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApiTagNames

    @ApiTagNames.setter
    def ApiTagNames(self, ApiTagNames):
        self._ApiTagNames = ApiTagNames

    @property
    def ApiDescription(self):
        r"""服务描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApiDescription

    @ApiDescription.setter
    def ApiDescription(self, ApiDescription):
        self._ApiDescription = ApiDescription

    @property
    def RequestExample(self):
        r"""服务请求返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestExample

    @RequestExample.setter
    def RequestExample(self, RequestExample):
        self._RequestExample = RequestExample

    @property
    def RequestSuccess(self):
        r"""服务请求成功返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestSuccess

    @RequestSuccess.setter
    def RequestSuccess(self, RequestSuccess):
        self._RequestSuccess = RequestSuccess

    @property
    def RequestError(self):
        r"""服务请求失败返回示例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestError

    @RequestError.setter
    def RequestError(self, RequestError):
        self._RequestError = RequestError

    @property
    def RequestParam(self):
        r"""服务请求参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DataServiceRequestParam
        """
        return self._RequestParam

    @RequestParam.setter
    def RequestParam(self, RequestParam):
        self._RequestParam = RequestParam

    @property
    def ResponseParam(self):
        r"""服务响应参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DataServiceResponseParam
        """
        return self._ResponseParam

    @ResponseParam.setter
    def ResponseParam(self, ResponseParam):
        self._ResponseParam = ResponseParam

    @property
    def MaxAllowQps(self):
        r"""最大qps
        :rtype: int
        """
        return self._MaxAllowQps

    @MaxAllowQps.setter
    def MaxAllowQps(self, MaxAllowQps):
        self._MaxAllowQps = MaxAllowQps

    @property
    def MaxAllowPageSize(self):
        r"""最大记录数
        :rtype: int
        """
        return self._MaxAllowPageSize

    @MaxAllowPageSize.setter
    def MaxAllowPageSize(self, MaxAllowPageSize):
        self._MaxAllowPageSize = MaxAllowPageSize

    @property
    def TimeoutPeriod(self):
        r"""超时时间，单位ms
        :rtype: int
        """
        return self._TimeoutPeriod

    @TimeoutPeriod.setter
    def TimeoutPeriod(self, TimeoutPeriod):
        self._TimeoutPeriod = TimeoutPeriod

    @property
    def ApiId(self):
        r"""ApiId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApiId

    @ApiId.setter
    def ApiId(self, ApiId):
        self._ApiId = ApiId

    @property
    def AuthType(self):
        r"""0:免认证 1:应用认证
        :rtype: int
        """
        return self._AuthType

    @AuthType.setter
    def AuthType(self, AuthType):
        self._AuthType = AuthType

    @property
    def GatewayApiUrl(self):
        r"""请求地址
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GatewayApiUrl

    @GatewayApiUrl.setter
    def GatewayApiUrl(self, GatewayApiUrl):
        self._GatewayApiUrl = GatewayApiUrl

    @property
    def ApiStatus(self):
        r"""服务Api状态 1:已上线  3:已下线
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ApiStatus

    @ApiStatus.setter
    def ApiStatus(self, ApiStatus):
        self._ApiStatus = ApiStatus


    def _deserialize(self, params):
        self._ApiName = params.get("ApiName")
        self._PathUrl = params.get("PathUrl")
        self._OwnerName = params.get("OwnerName")
        self._RequestType = params.get("RequestType")
        self._ApiTagNames = params.get("ApiTagNames")
        self._ApiDescription = params.get("ApiDescription")
        self._RequestExample = params.get("RequestExample")
        self._RequestSuccess = params.get("RequestSuccess")
        self._RequestError = params.get("RequestError")
        if params.get("RequestParam") is not None:
            self._RequestParam = []
            for item in params.get("RequestParam"):
                obj = DataServiceRequestParam()
                obj._deserialize(item)
                self._RequestParam.append(obj)
        if params.get("ResponseParam") is not None:
            self._ResponseParam = []
            for item in params.get("ResponseParam"):
                obj = DataServiceResponseParam()
                obj._deserialize(item)
                self._ResponseParam.append(obj)
        self._MaxAllowQps = params.get("MaxAllowQps")
        self._MaxAllowPageSize = params.get("MaxAllowPageSize")
        self._TimeoutPeriod = params.get("TimeoutPeriod")
        self._ApiId = params.get("ApiId")
        self._AuthType = params.get("AuthType")
        self._GatewayApiUrl = params.get("GatewayApiUrl")
        self._ApiStatus = params.get("ApiStatus")
        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 DescribeDataServicePublishedApiDetailResponse(AbstractModel):
    r"""DescribeDataServicePublishedApiDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 服务详情
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeDataServicePublishedApiDetailResp`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""服务详情
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeDataServicePublishedApiDetailResp`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeDataServicePublishedApiDetailResp()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDataServicePublishedApiListRequest(AbstractModel):
    r"""DescribeDataServicePublishedApiList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页大小
        :type PageSize: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Filters: 查询参数
        :type Filters: :class:`tencentcloud.wedata.v20210820.models.DataServicePublishedApiListFilter`
        :param _OrderFields: 排序配置
        :type OrderFields: list of DataServiceRequestListOrder
        """
        self._PageNumber = None
        self._PageSize = None
        self._ProjectId = None
        self._Filters = None
        self._OrderFields = None

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Filters(self):
        r"""查询参数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataServicePublishedApiListFilter`
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序配置
        :rtype: list of DataServiceRequestListOrder
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        if params.get("Filters") is not None:
            self._Filters = DataServicePublishedApiListFilter()
            self._Filters._deserialize(params.get("Filters"))
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = DataServiceRequestListOrder()
                obj._deserialize(item)
                self._OrderFields.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 DescribeDataServicePublishedApiListResp(AbstractModel):
    r"""获取数据服务API的发布态信息列表响应内容

    """

    def __init__(self):
        r"""
        :param _Id: 服务id
        :type Id: str
        :param _ApiName: 服务Api名称
        :type ApiName: str
        :param _ApiFolderName: 所属目录名称
        :type ApiFolderName: str
        :param _ApiTagNames: 服务Api标签名称集合
        :type ApiTagNames: str
        :param _OwnerName: 服务负责人
        :type OwnerName: str
        :param _CreateTime: 服务创建时间
        :type CreateTime: str
        :param _ApiId: Api的id
        :type ApiId: str
        :param _AuthType: 服务Api认证方式 0:免认证 1:应用认证
        :type AuthType: int
        :param _ApiStatus: 服务Api状态 0:创建 1:已上线 2:已删除 3:已下线
        :type ApiStatus: int
        :param _ConfigType: 配置方式 0:向导、1、脚本、2、注册Api
注意：此字段可能返回 null，表示取不到有效值。
        :type ConfigType: int
        :param _ModifyTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        """
        self._Id = None
        self._ApiName = None
        self._ApiFolderName = None
        self._ApiTagNames = None
        self._OwnerName = None
        self._CreateTime = None
        self._ApiId = None
        self._AuthType = None
        self._ApiStatus = None
        self._ConfigType = None
        self._ModifyTime = None

    @property
    def Id(self):
        r"""服务id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ApiName(self):
        r"""服务Api名称
        :rtype: str
        """
        return self._ApiName

    @ApiName.setter
    def ApiName(self, ApiName):
        self._ApiName = ApiName

    @property
    def ApiFolderName(self):
        r"""所属目录名称
        :rtype: str
        """
        return self._ApiFolderName

    @ApiFolderName.setter
    def ApiFolderName(self, ApiFolderName):
        self._ApiFolderName = ApiFolderName

    @property
    def ApiTagNames(self):
        r"""服务Api标签名称集合
        :rtype: str
        """
        return self._ApiTagNames

    @ApiTagNames.setter
    def ApiTagNames(self, ApiTagNames):
        self._ApiTagNames = ApiTagNames

    @property
    def OwnerName(self):
        r"""服务负责人
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def CreateTime(self):
        r"""服务创建时间
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ApiId(self):
        r"""Api的id
        :rtype: str
        """
        return self._ApiId

    @ApiId.setter
    def ApiId(self, ApiId):
        self._ApiId = ApiId

    @property
    def AuthType(self):
        r"""服务Api认证方式 0:免认证 1:应用认证
        :rtype: int
        """
        return self._AuthType

    @AuthType.setter
    def AuthType(self, AuthType):
        self._AuthType = AuthType

    @property
    def ApiStatus(self):
        r"""服务Api状态 0:创建 1:已上线 2:已删除 3:已下线
        :rtype: int
        """
        return self._ApiStatus

    @ApiStatus.setter
    def ApiStatus(self, ApiStatus):
        self._ApiStatus = ApiStatus

    @property
    def ConfigType(self):
        r"""配置方式 0:向导、1、脚本、2、注册Api
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConfigType

    @ConfigType.setter
    def ConfigType(self, ConfigType):
        self._ConfigType = ConfigType

    @property
    def ModifyTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ApiName = params.get("ApiName")
        self._ApiFolderName = params.get("ApiFolderName")
        self._ApiTagNames = params.get("ApiTagNames")
        self._OwnerName = params.get("OwnerName")
        self._CreateTime = params.get("CreateTime")
        self._ApiId = params.get("ApiId")
        self._AuthType = params.get("AuthType")
        self._ApiStatus = params.get("ApiStatus")
        self._ConfigType = params.get("ConfigType")
        self._ModifyTime = params.get("ModifyTime")
        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 DescribeDataServicePublishedApiListResponse(AbstractModel):
    r"""DescribeDataServicePublishedApiList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总条数
        :type TotalCount: int
        :param _DataSet: 服务列表
        :type DataSet: list of DescribeDataServicePublishedApiListResp
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TotalCount = None
        self._DataSet = None
        self._RequestId = None

    @property
    def TotalCount(self):
        r"""总条数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def DataSet(self):
        r"""服务列表
        :rtype: list of DescribeDataServicePublishedApiListResp
        """
        return self._DataSet

    @DataSet.setter
    def DataSet(self, DataSet):
        self._DataSet = DataSet

    @property
    def RequestId(self):
        r"""唯一请求 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("DataSet") is not None:
            self._DataSet = []
            for item in params.get("DataSet"):
                obj = DescribeDataServicePublishedApiListResp()
                obj._deserialize(item)
                self._DataSet.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDataSourceInfoListRequest(AbstractModel):
    r"""DescribeDataSourceInfoList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 页数
        :type PageSize: int
        :param _Filters: 过滤条件（暂不支持）
        :type Filters: :class:`tencentcloud.wedata.v20210820.models.Filter`
        :param _OrderFields: 排序配置
        :type OrderFields: :class:`tencentcloud.wedata.v20210820.models.OrderField`
        :param _Type: 数据源类型，MYSQL,TENCENT_MYSQL,TDSQL_MYSQL,HIVE,KAFKA,POSTGRE,CDW,ORACLE,SQLSERVER,FTP,HDFS,ICEBERG,HBASE,TDSQL,TDSQLC,SPARK,VIRTUAL,TBASE,DB2,DM,TDENGINE,GAUSSDB,GBASE,IMPALA,ES,TENCENT_ES,S3_DATAINSIGHT,GREENPLUM,PHOENIX,SAP_HANA,SFTP,OCEANBASE,CLICKHOUSE,TCHOUSE_C,KUDU,VERTICA,REDIS,COS,S3,DLC,DORIS,CKAFKA,TDMQ_PULSAR,MONGODB,TENCENT_MONGODB,FTP_FILE,HDFS_FILE,DTS_KAFKA,REST_API,FILE,TIDB,SYBASE,TCHOUSE_X,TDSQL_POSTGRE,TCHOUSE_P,TCHOUSE_D,STARROCKS,EMR_STARROCKS,TBDS_STARROCKS,TRINO,KYUUBI,GDB,INFLUXDB,BIG_QUERY,BLOB,FILESYSTEM,SHAREPOINT,KINGBASEES,HUDI等
        :type Type: str
        :param _DatasourceName: 数据源名称过滤
        :type DatasourceName: str
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._Type = None
        self._DatasourceName = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件（暂不支持）
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Filter`
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序配置
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OrderField`
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def Type(self):
        r"""数据源类型，MYSQL,TENCENT_MYSQL,TDSQL_MYSQL,HIVE,KAFKA,POSTGRE,CDW,ORACLE,SQLSERVER,FTP,HDFS,ICEBERG,HBASE,TDSQL,TDSQLC,SPARK,VIRTUAL,TBASE,DB2,DM,TDENGINE,GAUSSDB,GBASE,IMPALA,ES,TENCENT_ES,S3_DATAINSIGHT,GREENPLUM,PHOENIX,SAP_HANA,SFTP,OCEANBASE,CLICKHOUSE,TCHOUSE_C,KUDU,VERTICA,REDIS,COS,S3,DLC,DORIS,CKAFKA,TDMQ_PULSAR,MONGODB,TENCENT_MONGODB,FTP_FILE,HDFS_FILE,DTS_KAFKA,REST_API,FILE,TIDB,SYBASE,TCHOUSE_X,TDSQL_POSTGRE,TCHOUSE_P,TCHOUSE_D,STARROCKS,EMR_STARROCKS,TBDS_STARROCKS,TRINO,KYUUBI,GDB,INFLUXDB,BIG_QUERY,BLOB,FILESYSTEM,SHAREPOINT,KINGBASEES,HUDI等
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def DatasourceName(self):
        r"""数据源名称过滤
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = Filter()
            self._Filters._deserialize(params.get("Filters"))
        if params.get("OrderFields") is not None:
            self._OrderFields = OrderField()
            self._OrderFields._deserialize(params.get("OrderFields"))
        self._Type = params.get("Type")
        self._DatasourceName = params.get("DatasourceName")
        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 DescribeDataSourceInfoListResponse(AbstractModel):
    r"""DescribeDataSourceInfoList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总条数。
        :type TotalCount: int
        :param _DatasourceSet: 数据源信息列表。
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceSet: list of DatasourceBaseInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TotalCount = None
        self._DatasourceSet = None
        self._RequestId = None

    @property
    def TotalCount(self):
        r"""总条数。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def DatasourceSet(self):
        r"""数据源信息列表。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DatasourceBaseInfo
        """
        return self._DatasourceSet

    @DatasourceSet.setter
    def DatasourceSet(self, DatasourceSet):
        self._DatasourceSet = DatasourceSet

    @property
    def RequestId(self):
        r"""唯一请求 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("DatasourceSet") is not None:
            self._DatasourceSet = []
            for item in params.get("DatasourceSet"):
                obj = DatasourceBaseInfo()
                obj._deserialize(item)
                self._DatasourceSet.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDataSourceListRequest(AbstractModel):
    r"""DescribeDataSourceList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: <p>页码</p>
        :type PageNumber: int
        :param _PageSize: <p>返回数量</p>
        :type PageSize: int
        :param _OrderFields: <p>排序配置</p>
        :type OrderFields: list of OrderField
        :param _Filters: <p>可选过滤条件，Filter可选配置(参考): &quot;Name&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;数据源名称&quot; }, &quot;Type&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;类型&quot; }, &quot;ClusterId&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;集群id&quot; }, &quot;CategoryId&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;分类，项目或空间id&quot; }</p>
        :type Filters: list of Filter
        """
        self._PageNumber = None
        self._PageSize = None
        self._OrderFields = None
        self._Filters = None

    @property
    def PageNumber(self):
        r"""<p>页码</p>
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""<p>返回数量</p>
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def OrderFields(self):
        r"""<p>排序配置</p>
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def Filters(self):
        r"""<p>可选过滤条件，Filter可选配置(参考): &quot;Name&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;数据源名称&quot; }, &quot;Type&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;类型&quot; }, &quot;ClusterId&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;集群id&quot; }, &quot;CategoryId&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;分类，项目或空间id&quot; }</p>
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeDataSourceListResponse(AbstractModel):
    r"""DescribeDataSourceList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: <p>数据源列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DataSourceInfoPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""<p>数据源列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataSourceInfoPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DataSourceInfoPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDatabaseByNameRequest(AbstractModel):
    r"""DescribeDatabaseByName请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseName: 数据库名称
        :type DatabaseName: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _SchemaName: schema名称
        :type SchemaName: str
        :param _ClusterId: 集群id
        :type ClusterId: str
        """
        self._DatabaseName = None
        self._DatasourceId = None
        self._SchemaName = None
        self._ClusterId = None

    @property
    def DatabaseName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def SchemaName(self):
        r"""schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def ClusterId(self):
        r"""集群id
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId


    def _deserialize(self, params):
        self._DatabaseName = params.get("DatabaseName")
        self._DatasourceId = params.get("DatasourceId")
        self._SchemaName = params.get("SchemaName")
        self._ClusterId = params.get("ClusterId")
        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 DescribeDatabaseByNameResponse(AbstractModel):
    r"""DescribeDatabaseByName返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseMeta: 数据库信息
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseMeta: :class:`tencentcloud.wedata.v20210820.models.DatabaseMeta`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DatabaseMeta = None
        self._RequestId = None

    @property
    def DatabaseMeta(self):
        r"""数据库信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DatabaseMeta`
        """
        return self._DatabaseMeta

    @DatabaseMeta.setter
    def DatabaseMeta(self, DatabaseMeta):
        self._DatabaseMeta = DatabaseMeta

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("DatabaseMeta") is not None:
            self._DatabaseMeta = DatabaseMeta()
            self._DatabaseMeta._deserialize(params.get("DatabaseMeta"))
        self._RequestId = params.get("RequestId")


class DescribeDatabaseInfoListRequest(AbstractModel):
    r"""DescribeDatabaseInfoList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Filters: 过滤参数
        :type Filters: list of Filter
        :param _ConnectionType: 连接类型
        :type ConnectionType: str
        """
        self._Filters = None
        self._ConnectionType = None

    @property
    def Filters(self):
        r"""过滤参数
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def ConnectionType(self):
        r"""连接类型
        :rtype: str
        """
        return self._ConnectionType

    @ConnectionType.setter
    def ConnectionType(self, ConnectionType):
        self._ConnectionType = ConnectionType


    def _deserialize(self, params):
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        self._ConnectionType = params.get("ConnectionType")
        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 DescribeDatabaseInfoListResponse(AbstractModel):
    r"""DescribeDatabaseInfoList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseInfo: 数据库列表
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseInfo: list of DatabaseInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DatabaseInfo = None
        self._RequestId = None

    @property
    def DatabaseInfo(self):
        r"""数据库列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DatabaseInfo
        """
        return self._DatabaseInfo

    @DatabaseInfo.setter
    def DatabaseInfo(self, DatabaseInfo):
        self._DatabaseInfo = DatabaseInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("DatabaseInfo") is not None:
            self._DatabaseInfo = []
            for item in params.get("DatabaseInfo"):
                obj = DatabaseInfo()
                obj._deserialize(item)
                self._DatabaseInfo.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDatabaseMetaRequest(AbstractModel):
    r"""DescribeDatabaseMeta请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseId: 数据源唯一Id
        :type DatabaseId: str
        """
        self._DatabaseId = None

    @property
    def DatabaseId(self):
        r"""数据源唯一Id
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId


    def _deserialize(self, params):
        self._DatabaseId = params.get("DatabaseId")
        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 DescribeDatabaseMetaResponse(AbstractModel):
    r"""DescribeDatabaseMeta返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseMeta: 数据库元数据
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseMeta: :class:`tencentcloud.wedata.v20210820.models.DatabaseMeta`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DatabaseMeta = None
        self._RequestId = None

    @property
    def DatabaseMeta(self):
        r"""数据库元数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DatabaseMeta`
        """
        return self._DatabaseMeta

    @DatabaseMeta.setter
    def DatabaseMeta(self, DatabaseMeta):
        self._DatabaseMeta = DatabaseMeta

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("DatabaseMeta") is not None:
            self._DatabaseMeta = DatabaseMeta()
            self._DatabaseMeta._deserialize(params.get("DatabaseMeta"))
        self._RequestId = params.get("RequestId")


class DescribeDatabaseMetasRequest(AbstractModel):
    r"""DescribeDatabaseMetas请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Filters: 过滤字段，projectIds/msTypes/createTime/modifiedTime
        :type Filters: list of Filter
        :param _OrderFields: 排序字段，如name
        :type OrderFields: list of OrderField
        :param _PageSize: pagesize
        :type PageSize: int
        :param _PageNumber: pageNumber
        :type PageNumber: int
        """
        self._Filters = None
        self._OrderFields = None
        self._PageSize = None
        self._PageNumber = None

    @property
    def Filters(self):
        r"""过滤字段，projectIds/msTypes/createTime/modifiedTime
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段，如name
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def PageSize(self):
        r"""pagesize
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageNumber(self):
        r"""pageNumber
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber


    def _deserialize(self, params):
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._PageSize = params.get("PageSize")
        self._PageNumber = params.get("PageNumber")
        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 DescribeDatabaseMetasResponse(AbstractModel):
    r"""DescribeDatabaseMetas返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseMeta: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseMeta: list of DatabaseMeta
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DatabaseMeta = None
        self._RequestId = None

    @property
    def DatabaseMeta(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DatabaseMeta
        """
        return self._DatabaseMeta

    @DatabaseMeta.setter
    def DatabaseMeta(self, DatabaseMeta):
        self._DatabaseMeta = DatabaseMeta

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("DatabaseMeta") is not None:
            self._DatabaseMeta = []
            for item in params.get("DatabaseMeta"):
                obj = DatabaseMeta()
                obj._deserialize(item)
                self._DatabaseMeta.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDatasourceRequest(AbstractModel):
    r"""DescribeDatasource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 对象唯一ID
        :type Id: int
        :param _Env: production：生产，development开发
        :type Env: str
        """
        self._Id = None
        self._Env = None

    @property
    def Id(self):
        r"""对象唯一ID
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Env(self):
        r"""production：生产，development开发
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Env = params.get("Env")
        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 DescribeDatasourceResponse(AbstractModel):
    r"""DescribeDatasource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数据源对象
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DataSourceInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数据源对象
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataSourceInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DataSourceInfo()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDependOpsTasksRequest(AbstractModel):
    r"""DescribeDependOpsTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务Id
        :type TaskId: str
        :param _Deep: 上游/下游层级1-6级
        :type Deep: int
        :param _Up: 1: 表示查询上游节点；0:表示查询下游节点；2：表示查询上游和下游节点
        :type Up: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _WorkflowId: 任务工作流id
        :type WorkflowId: str
        """
        self._TaskId = None
        self._Deep = None
        self._Up = None
        self._ProjectId = None
        self._WorkflowId = None

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Deep(self):
        r"""上游/下游层级1-6级
        :rtype: int
        """
        return self._Deep

    @Deep.setter
    def Deep(self, Deep):
        self._Deep = Deep

    @property
    def Up(self):
        r"""1: 表示查询上游节点；0:表示查询下游节点；2：表示查询上游和下游节点
        :rtype: int
        """
        return self._Up

    @Up.setter
    def Up(self, Up):
        self._Up = Up

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""任务工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._Deep = params.get("Deep")
        self._Up = params.get("Up")
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        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 DescribeDependOpsTasksResponse(AbstractModel):
    r"""DescribeDependOpsTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 画布任务和链接信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OpsTaskCanvasInfoList`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""画布任务和链接信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OpsTaskCanvasInfoList`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OpsTaskCanvasInfoList()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDependTaskListsRequest(AbstractModel):
    r"""DescribeDependTaskLists请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务Id列表
        :type TaskIds: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务Id列表
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._ProjectId = params.get("ProjectId")
        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 DescribeDependTaskListsResponse(AbstractModel):
    r"""DescribeDependTaskLists返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of TaskOpsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""删除结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskOpsDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskOpsDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDimensionScoreRequest(AbstractModel):
    r"""DescribeDimensionScore请求参数结构体

    """

    def __init__(self):
        r"""
        :param _StatisticsDate: 统计日期 时间戳
        :type StatisticsDate: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DatasourceId: 数据来源id
        :type DatasourceId: str
        :param _Filters: 过滤参数
        :type Filters: list of Filter
        """
        self._StatisticsDate = None
        self._ProjectId = None
        self._DatasourceId = None
        self._Filters = None

    @property
    def StatisticsDate(self):
        r"""统计日期 时间戳
        :rtype: int
        """
        return self._StatisticsDate

    @StatisticsDate.setter
    def StatisticsDate(self, StatisticsDate):
        self._StatisticsDate = StatisticsDate

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据来源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Filters(self):
        r"""过滤参数
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._StatisticsDate = params.get("StatisticsDate")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeDimensionScoreResponse(AbstractModel):
    r"""DescribeDimensionScore返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 维度评分
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DimensionScore`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""维度评分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DimensionScore`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DimensionScore()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDsFolderTreeRequest(AbstractModel):
    r"""DescribeDsFolderTree请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _FirstLevelPull: 是否一级拉取 true 是 
false 否
        :type FirstLevelPull: bool
        :param _FolderId: 文件夹ID
        :type FolderId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _Keyword: 关键字搜索
        :type Keyword: str
        :param _IncludeWorkflow: 是否包含工作流 true 是 
false 否
        :type IncludeWorkflow: bool
        :param _IncludeTask: 是否包含任务 true 是 
false 否
        :type IncludeTask: bool
        :param _IncludeVirtualTask: 是否包含虚拟任务，当 IncludeTask 为 true 的时候，该参数才生效，默认为 true
        :type IncludeVirtualTask: bool
        :param _TaskFolderId: 任务目录id
        :type TaskFolderId: str
        :param _DisplayType: classification.分类展示  catalog.目录展示
        :type DisplayType: str
        :param _IncludeTaskFolder: 是否包含任务目录 true 是 
false 否
        :type IncludeTaskFolder: bool
        :param _NewFolderTreeMode: 是否使用最新模式展示目录树
        :type NewFolderTreeMode: bool
        :param _TaskNodeId: 节点分类ID
        :type TaskNodeId: str
        :param _WorkflowType: 工作流类型, 使用场景: 任务复制,选择工作流. 取值范围

- cycle    周期工作流
- manual    手动工作流
        :type WorkflowType: str
        :param _TaskTypeIdList: 任务类型id列表
        :type TaskTypeIdList: list of int
        :param _InChargeIdList: 责任人id列表
        :type InChargeIdList: list of str
        :param _OnlyMe: 自身责任人
        :type OnlyMe: bool
        :param _IncludeCodeTemplate: 是否包含代码模版
        :type IncludeCodeTemplate: bool
        :param _FolderForm: 编排空间 或代码模版 orchestrationSpace 编排空间 template模版管理
        :type FolderForm: str
        """
        self._ProjectId = None
        self._FirstLevelPull = None
        self._FolderId = None
        self._WorkflowId = None
        self._Keyword = None
        self._IncludeWorkflow = None
        self._IncludeTask = None
        self._IncludeVirtualTask = None
        self._TaskFolderId = None
        self._DisplayType = None
        self._IncludeTaskFolder = None
        self._NewFolderTreeMode = None
        self._TaskNodeId = None
        self._WorkflowType = None
        self._TaskTypeIdList = None
        self._InChargeIdList = None
        self._OnlyMe = None
        self._IncludeCodeTemplate = None
        self._FolderForm = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FirstLevelPull(self):
        r"""是否一级拉取 true 是 
false 否
        :rtype: bool
        """
        return self._FirstLevelPull

    @FirstLevelPull.setter
    def FirstLevelPull(self, FirstLevelPull):
        self._FirstLevelPull = FirstLevelPull

    @property
    def FolderId(self):
        r"""文件夹ID
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Keyword(self):
        r"""关键字搜索
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def IncludeWorkflow(self):
        r"""是否包含工作流 true 是 
false 否
        :rtype: bool
        """
        return self._IncludeWorkflow

    @IncludeWorkflow.setter
    def IncludeWorkflow(self, IncludeWorkflow):
        self._IncludeWorkflow = IncludeWorkflow

    @property
    def IncludeTask(self):
        r"""是否包含任务 true 是 
false 否
        :rtype: bool
        """
        return self._IncludeTask

    @IncludeTask.setter
    def IncludeTask(self, IncludeTask):
        self._IncludeTask = IncludeTask

    @property
    def IncludeVirtualTask(self):
        r"""是否包含虚拟任务，当 IncludeTask 为 true 的时候，该参数才生效，默认为 true
        :rtype: bool
        """
        return self._IncludeVirtualTask

    @IncludeVirtualTask.setter
    def IncludeVirtualTask(self, IncludeVirtualTask):
        self._IncludeVirtualTask = IncludeVirtualTask

    @property
    def TaskFolderId(self):
        r"""任务目录id
        :rtype: str
        """
        return self._TaskFolderId

    @TaskFolderId.setter
    def TaskFolderId(self, TaskFolderId):
        self._TaskFolderId = TaskFolderId

    @property
    def DisplayType(self):
        r"""classification.分类展示  catalog.目录展示
        :rtype: str
        """
        return self._DisplayType

    @DisplayType.setter
    def DisplayType(self, DisplayType):
        self._DisplayType = DisplayType

    @property
    def IncludeTaskFolder(self):
        r"""是否包含任务目录 true 是 
false 否
        :rtype: bool
        """
        return self._IncludeTaskFolder

    @IncludeTaskFolder.setter
    def IncludeTaskFolder(self, IncludeTaskFolder):
        self._IncludeTaskFolder = IncludeTaskFolder

    @property
    def NewFolderTreeMode(self):
        r"""是否使用最新模式展示目录树
        :rtype: bool
        """
        return self._NewFolderTreeMode

    @NewFolderTreeMode.setter
    def NewFolderTreeMode(self, NewFolderTreeMode):
        self._NewFolderTreeMode = NewFolderTreeMode

    @property
    def TaskNodeId(self):
        r"""节点分类ID
        :rtype: str
        """
        return self._TaskNodeId

    @TaskNodeId.setter
    def TaskNodeId(self, TaskNodeId):
        self._TaskNodeId = TaskNodeId

    @property
    def WorkflowType(self):
        r"""工作流类型, 使用场景: 任务复制,选择工作流. 取值范围

- cycle    周期工作流
- manual    手动工作流
        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType

    @property
    def TaskTypeIdList(self):
        r"""任务类型id列表
        :rtype: list of int
        """
        return self._TaskTypeIdList

    @TaskTypeIdList.setter
    def TaskTypeIdList(self, TaskTypeIdList):
        self._TaskTypeIdList = TaskTypeIdList

    @property
    def InChargeIdList(self):
        r"""责任人id列表
        :rtype: list of str
        """
        return self._InChargeIdList

    @InChargeIdList.setter
    def InChargeIdList(self, InChargeIdList):
        self._InChargeIdList = InChargeIdList

    @property
    def OnlyMe(self):
        r"""自身责任人
        :rtype: bool
        """
        return self._OnlyMe

    @OnlyMe.setter
    def OnlyMe(self, OnlyMe):
        self._OnlyMe = OnlyMe

    @property
    def IncludeCodeTemplate(self):
        r"""是否包含代码模版
        :rtype: bool
        """
        return self._IncludeCodeTemplate

    @IncludeCodeTemplate.setter
    def IncludeCodeTemplate(self, IncludeCodeTemplate):
        self._IncludeCodeTemplate = IncludeCodeTemplate

    @property
    def FolderForm(self):
        r"""编排空间 或代码模版 orchestrationSpace 编排空间 template模版管理
        :rtype: str
        """
        return self._FolderForm

    @FolderForm.setter
    def FolderForm(self, FolderForm):
        self._FolderForm = FolderForm


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FirstLevelPull = params.get("FirstLevelPull")
        self._FolderId = params.get("FolderId")
        self._WorkflowId = params.get("WorkflowId")
        self._Keyword = params.get("Keyword")
        self._IncludeWorkflow = params.get("IncludeWorkflow")
        self._IncludeTask = params.get("IncludeTask")
        self._IncludeVirtualTask = params.get("IncludeVirtualTask")
        self._TaskFolderId = params.get("TaskFolderId")
        self._DisplayType = params.get("DisplayType")
        self._IncludeTaskFolder = params.get("IncludeTaskFolder")
        self._NewFolderTreeMode = params.get("NewFolderTreeMode")
        self._TaskNodeId = params.get("TaskNodeId")
        self._WorkflowType = params.get("WorkflowType")
        self._TaskTypeIdList = params.get("TaskTypeIdList")
        self._InChargeIdList = params.get("InChargeIdList")
        self._OnlyMe = params.get("OnlyMe")
        self._IncludeCodeTemplate = params.get("IncludeCodeTemplate")
        self._FolderForm = params.get("FolderForm")
        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 DescribeDsFolderTreeResponse(AbstractModel):
    r"""DescribeDsFolderTree返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 统一树结构返回属性列表
        :type Data: list of PathNodeDsVO
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""统一树结构返回属性列表
        :rtype: list of PathNodeDsVO
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = PathNodeDsVO()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDsParentFolderTreeRequest(AbstractModel):
    r"""DescribeDsParentFolderTree请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _FolderId: 文件夹ID
        :type FolderId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _TaskId: 任务id
        :type TaskId: str
        :param _DisplayType: 任务展示形式, 示例取值
-    classification:分类展示
-    catalog:目录展示
        :type DisplayType: str
        :param _NewFolderTreeMode: 是否新模式展示目录树
        :type NewFolderTreeMode: bool
        """
        self._ProjectId = None
        self._FolderId = None
        self._WorkflowId = None
        self._TaskId = None
        self._DisplayType = None
        self._NewFolderTreeMode = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderId(self):
        r"""文件夹ID
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def DisplayType(self):
        r"""任务展示形式, 示例取值
-    classification:分类展示
-    catalog:目录展示
        :rtype: str
        """
        return self._DisplayType

    @DisplayType.setter
    def DisplayType(self, DisplayType):
        self._DisplayType = DisplayType

    @property
    def NewFolderTreeMode(self):
        r"""是否新模式展示目录树
        :rtype: bool
        """
        return self._NewFolderTreeMode

    @NewFolderTreeMode.setter
    def NewFolderTreeMode(self, NewFolderTreeMode):
        self._NewFolderTreeMode = NewFolderTreeMode


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderId = params.get("FolderId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskId = params.get("TaskId")
        self._DisplayType = params.get("DisplayType")
        self._NewFolderTreeMode = params.get("NewFolderTreeMode")
        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 DescribeDsParentFolderTreeResponse(AbstractModel):
    r"""DescribeDsParentFolderTree返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 统一树结构返回属性列表
        :type Data: list of PathNodeDsVO
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""统一树结构返回属性列表
        :rtype: list of PathNodeDsVO
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = PathNodeDsVO()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDsTaskVersionInfoRequest(AbstractModel):
    r"""DescribeDsTaskVersionInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _TaskVersion: 版本
        :type TaskVersion: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._TaskVersion = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskVersion(self):
        r"""版本
        :rtype: str
        """
        return self._TaskVersion

    @TaskVersion.setter
    def TaskVersion(self, TaskVersion):
        self._TaskVersion = TaskVersion

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskVersion = params.get("TaskVersion")
        self._ProjectId = params.get("ProjectId")
        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 DescribeDsTaskVersionInfoResponse(AbstractModel):
    r"""DescribeDsTaskVersionInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务版本详情信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TaskVersionDsDTO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务版本详情信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskVersionDsDTO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TaskVersionDsDTO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeDsTaskVersionListRequest(AbstractModel):
    r"""DescribeDsTaskVersionList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _IsOnlyCurrentEditingVersion: 是否仅返回当前编辑版本
        :type IsOnlyCurrentEditingVersion: bool
        :param _IsOnlyProductVersion: 是否仅只返回生产使用版本
        :type IsOnlyProductVersion: bool
        """
        self._TaskId = None
        self._ProjectId = None
        self._IsOnlyCurrentEditingVersion = None
        self._IsOnlyProductVersion = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def IsOnlyCurrentEditingVersion(self):
        r"""是否仅返回当前编辑版本
        :rtype: bool
        """
        return self._IsOnlyCurrentEditingVersion

    @IsOnlyCurrentEditingVersion.setter
    def IsOnlyCurrentEditingVersion(self, IsOnlyCurrentEditingVersion):
        self._IsOnlyCurrentEditingVersion = IsOnlyCurrentEditingVersion

    @property
    def IsOnlyProductVersion(self):
        r"""是否仅只返回生产使用版本
        :rtype: bool
        """
        return self._IsOnlyProductVersion

    @IsOnlyProductVersion.setter
    def IsOnlyProductVersion(self, IsOnlyProductVersion):
        self._IsOnlyProductVersion = IsOnlyProductVersion


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._IsOnlyCurrentEditingVersion = params.get("IsOnlyCurrentEditingVersion")
        self._IsOnlyProductVersion = params.get("IsOnlyProductVersion")
        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 DescribeDsTaskVersionListResponse(AbstractModel):
    r"""DescribeDsTaskVersionList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 版本列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of TaskVersionDsDTO
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""版本列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskVersionDsDTO
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskVersionDsDTO()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDutyScheduleDetailsRequest(AbstractModel):
    r"""DescribeDutyScheduleDetails请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 值班表id
        :type Id: int
        :param _QueryDate: 查询时间
        :type QueryDate: str
        :param _Filters: 扩展字段
        :type Filters: list of Filter
        """
        self._Id = None
        self._QueryDate = None
        self._Filters = None

    @property
    def Id(self):
        r"""值班表id
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def QueryDate(self):
        r"""查询时间
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate

    @property
    def Filters(self):
        r"""扩展字段
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._QueryDate = params.get("QueryDate")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeDutyScheduleDetailsResponse(AbstractModel):
    r"""DescribeDutyScheduleDetails返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 值班日历信息
        :type Data: list of DutyScheduleDetailsInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""值班日历信息
        :rtype: list of DutyScheduleDetailsInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = DutyScheduleDetailsInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeDutyScheduleListRequest(AbstractModel):
    r"""DescribeDutyScheduleList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页码，默认1
        :type PageNumber: int
        :param _PageSize: 页大小，默认10
        :type PageSize: int
        :param _Name: 值班表名称
        :type Name: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._Name = None

    @property
    def PageNumber(self):
        r"""页码，默认1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小，默认10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Name(self):
        r"""值班表名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeDutyScheduleListResponse(AbstractModel):
    r"""DescribeDutyScheduleList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DutySchedule`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DutySchedule`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DutySchedule()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeEventCasesRequest(AbstractModel):
    r"""DescribeEventCases请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Category: 事件实例目录,示例取值:
- 已过期: expired
- 未过期: consuming
- 全部: all

        :type Category: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页数目
        :type PageSize: int
        :param _EventName: 事件名称
        :type EventName: str
        :param _EventType: 事件类型
        :type EventType: str
        :param _EventSubType: 事件分割类型
        :type EventSubType: str
        :param _EventBroadcastType: 事件广播类型
        :type EventBroadcastType: str
        :param _Status: 事件实例状态,示例取值:
- 已消费: COMSUMED
- 已过期: EXPIRED
- 待消费: ACTIVE
- 消费中: CONSUMING
        :type Status: str
        :param _CreationTimeStart: 事件实例最小创建时间
        :type CreationTimeStart: str
        :param _CreationTimeEnd: 事件实例最大创建时间
        :type CreationTimeEnd: str
        :param _EventTriggeredTimeStart: 事件实例最小触发时间
        :type EventTriggeredTimeStart: str
        :param _EventTriggeredTimeEnd: 事件实例最大触发时间
        :type EventTriggeredTimeEnd: str
        :param _LogTimeStart: 事件实例最小消费时间
        :type LogTimeStart: str
        :param _LogTimeEnd: 事件实例最大消费时间
        :type LogTimeEnd: str
        :param _Dimension: 事件实例数据时间
        :type Dimension: str
        :param _TimeToLive: 事件实例有效时间
        :type TimeToLive: str
        :param _SortItem: 排序字段
        :type SortItem: str
        :param _SortType: 排序顺序
        :type SortType: str
        :param _ConsumeCount: 有效次数
        :type ConsumeCount: str
        """
        self._ProjectId = None
        self._Category = None
        self._PageNumber = None
        self._PageSize = None
        self._EventName = None
        self._EventType = None
        self._EventSubType = None
        self._EventBroadcastType = None
        self._Status = None
        self._CreationTimeStart = None
        self._CreationTimeEnd = None
        self._EventTriggeredTimeStart = None
        self._EventTriggeredTimeEnd = None
        self._LogTimeStart = None
        self._LogTimeEnd = None
        self._Dimension = None
        self._TimeToLive = None
        self._SortItem = None
        self._SortType = None
        self._ConsumeCount = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Category(self):
        r"""事件实例目录,示例取值:
- 已过期: expired
- 未过期: consuming
- 全部: all

        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数目
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def EventName(self):
        r"""事件名称
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def EventType(self):
        warnings.warn("parameter `EventType` is deprecated", DeprecationWarning) 

        r"""事件类型
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        warnings.warn("parameter `EventType` is deprecated", DeprecationWarning) 

        self._EventType = EventType

    @property
    def EventSubType(self):
        r"""事件分割类型
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def EventBroadcastType(self):
        warnings.warn("parameter `EventBroadcastType` is deprecated", DeprecationWarning) 

        r"""事件广播类型
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        warnings.warn("parameter `EventBroadcastType` is deprecated", DeprecationWarning) 

        self._EventBroadcastType = EventBroadcastType

    @property
    def Status(self):
        warnings.warn("parameter `Status` is deprecated", DeprecationWarning) 

        r"""事件实例状态,示例取值:
- 已消费: COMSUMED
- 已过期: EXPIRED
- 待消费: ACTIVE
- 消费中: CONSUMING
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        warnings.warn("parameter `Status` is deprecated", DeprecationWarning) 

        self._Status = Status

    @property
    def CreationTimeStart(self):
        r"""事件实例最小创建时间
        :rtype: str
        """
        return self._CreationTimeStart

    @CreationTimeStart.setter
    def CreationTimeStart(self, CreationTimeStart):
        self._CreationTimeStart = CreationTimeStart

    @property
    def CreationTimeEnd(self):
        r"""事件实例最大创建时间
        :rtype: str
        """
        return self._CreationTimeEnd

    @CreationTimeEnd.setter
    def CreationTimeEnd(self, CreationTimeEnd):
        self._CreationTimeEnd = CreationTimeEnd

    @property
    def EventTriggeredTimeStart(self):
        r"""事件实例最小触发时间
        :rtype: str
        """
        return self._EventTriggeredTimeStart

    @EventTriggeredTimeStart.setter
    def EventTriggeredTimeStart(self, EventTriggeredTimeStart):
        self._EventTriggeredTimeStart = EventTriggeredTimeStart

    @property
    def EventTriggeredTimeEnd(self):
        r"""事件实例最大触发时间
        :rtype: str
        """
        return self._EventTriggeredTimeEnd

    @EventTriggeredTimeEnd.setter
    def EventTriggeredTimeEnd(self, EventTriggeredTimeEnd):
        self._EventTriggeredTimeEnd = EventTriggeredTimeEnd

    @property
    def LogTimeStart(self):
        r"""事件实例最小消费时间
        :rtype: str
        """
        return self._LogTimeStart

    @LogTimeStart.setter
    def LogTimeStart(self, LogTimeStart):
        self._LogTimeStart = LogTimeStart

    @property
    def LogTimeEnd(self):
        r"""事件实例最大消费时间
        :rtype: str
        """
        return self._LogTimeEnd

    @LogTimeEnd.setter
    def LogTimeEnd(self, LogTimeEnd):
        self._LogTimeEnd = LogTimeEnd

    @property
    def Dimension(self):
        r"""事件实例数据时间
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def TimeToLive(self):
        r"""事件实例有效时间
        :rtype: str
        """
        return self._TimeToLive

    @TimeToLive.setter
    def TimeToLive(self, TimeToLive):
        self._TimeToLive = TimeToLive

    @property
    def SortItem(self):
        r"""排序字段
        :rtype: str
        """
        return self._SortItem

    @SortItem.setter
    def SortItem(self, SortItem):
        self._SortItem = SortItem

    @property
    def SortType(self):
        r"""排序顺序
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def ConsumeCount(self):
        r"""有效次数
        :rtype: str
        """
        return self._ConsumeCount

    @ConsumeCount.setter
    def ConsumeCount(self, ConsumeCount):
        self._ConsumeCount = ConsumeCount


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Category = params.get("Category")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._EventName = params.get("EventName")
        self._EventType = params.get("EventType")
        self._EventSubType = params.get("EventSubType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._Status = params.get("Status")
        self._CreationTimeStart = params.get("CreationTimeStart")
        self._CreationTimeEnd = params.get("CreationTimeEnd")
        self._EventTriggeredTimeStart = params.get("EventTriggeredTimeStart")
        self._EventTriggeredTimeEnd = params.get("EventTriggeredTimeEnd")
        self._LogTimeStart = params.get("LogTimeStart")
        self._LogTimeEnd = params.get("LogTimeEnd")
        self._Dimension = params.get("Dimension")
        self._TimeToLive = params.get("TimeToLive")
        self._SortItem = params.get("SortItem")
        self._SortType = params.get("SortType")
        self._ConsumeCount = params.get("ConsumeCount")
        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 DescribeEventCasesResponse(AbstractModel):
    r"""DescribeEventCases返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 事件实例分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.EventCaseAuditLogVOCollection`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""事件实例分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventCaseAuditLogVOCollection`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = EventCaseAuditLogVOCollection()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeEventConsumeTasksRequest(AbstractModel):
    r"""DescribeEventConsumeTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _EventCaseId: 事件实例ID
        :type EventCaseId: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页数目
        :type PageSize: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._EventCaseId = None
        self._PageNumber = None
        self._PageSize = None
        self._ProjectId = None

    @property
    def EventCaseId(self):
        r"""事件实例ID
        :rtype: str
        """
        return self._EventCaseId

    @EventCaseId.setter
    def EventCaseId(self, EventCaseId):
        self._EventCaseId = EventCaseId

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数目
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._EventCaseId = params.get("EventCaseId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        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 DescribeEventConsumeTasksResponse(AbstractModel):
    r"""DescribeEventConsumeTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 事件消费任务记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.EventCaseConsumeLogOptDtoCollection`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""事件消费任务记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventCaseConsumeLogOptDtoCollection`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = EventCaseConsumeLogOptDtoCollection()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeEventRequest(AbstractModel):
    r"""DescribeEvent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _EventName: 事件名称
        :type EventName: str
        """
        self._ProjectId = None
        self._EventName = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def EventName(self):
        r"""事件名称
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._EventName = params.get("EventName")
        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 DescribeEventResponse(AbstractModel):
    r"""DescribeEvent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 事件
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.EventOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""事件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = EventOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeExecStrategyRequest(AbstractModel):
    r"""DescribeExecStrategy请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组Id
        :type RuleGroupId: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._RuleGroupId = None
        self._ProjectId = None

    @property
    def RuleGroupId(self):
        r"""规则组Id
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeExecStrategyResponse(AbstractModel):
    r"""DescribeExecStrategy返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupExecStrategy()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeExecutorGroupMetricRequest(AbstractModel):
    r"""DescribeExecutorGroupMetric请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ExecutorGroupId: 执行资源组id
        :type ExecutorGroupId: str
        :param _TrendStartTime: 使用趋势开始时间(毫秒)
        :type TrendStartTime: int
        :param _TrendEndTime: 使用趋势结束时间(毫秒)
        :type TrendEndTime: int
        :param _ExecutorGroupType: 执行资源组类型
        :type ExecutorGroupType: str
        :param _ExecutorResourceType: 执行资源类型
        :type ExecutorResourceType: str
        :param _LoaderId: 执行机ID
        :type LoaderId: str
        :param _MetricType: 指标维度
        :type MetricType: str
        :param _Granularity: 指标采集粒度
        :type Granularity: int
        """
        self._ExecutorGroupId = None
        self._TrendStartTime = None
        self._TrendEndTime = None
        self._ExecutorGroupType = None
        self._ExecutorResourceType = None
        self._LoaderId = None
        self._MetricType = None
        self._Granularity = None

    @property
    def ExecutorGroupId(self):
        r"""执行资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def TrendStartTime(self):
        r"""使用趋势开始时间(毫秒)
        :rtype: int
        """
        return self._TrendStartTime

    @TrendStartTime.setter
    def TrendStartTime(self, TrendStartTime):
        self._TrendStartTime = TrendStartTime

    @property
    def TrendEndTime(self):
        r"""使用趋势结束时间(毫秒)
        :rtype: int
        """
        return self._TrendEndTime

    @TrendEndTime.setter
    def TrendEndTime(self, TrendEndTime):
        self._TrendEndTime = TrendEndTime

    @property
    def ExecutorGroupType(self):
        r"""执行资源组类型
        :rtype: str
        """
        return self._ExecutorGroupType

    @ExecutorGroupType.setter
    def ExecutorGroupType(self, ExecutorGroupType):
        self._ExecutorGroupType = ExecutorGroupType

    @property
    def ExecutorResourceType(self):
        r"""执行资源类型
        :rtype: str
        """
        return self._ExecutorResourceType

    @ExecutorResourceType.setter
    def ExecutorResourceType(self, ExecutorResourceType):
        self._ExecutorResourceType = ExecutorResourceType

    @property
    def LoaderId(self):
        r"""执行机ID
        :rtype: str
        """
        return self._LoaderId

    @LoaderId.setter
    def LoaderId(self, LoaderId):
        self._LoaderId = LoaderId

    @property
    def MetricType(self):
        r"""指标维度
        :rtype: str
        """
        return self._MetricType

    @MetricType.setter
    def MetricType(self, MetricType):
        self._MetricType = MetricType

    @property
    def Granularity(self):
        r"""指标采集粒度
        :rtype: int
        """
        return self._Granularity

    @Granularity.setter
    def Granularity(self, Granularity):
        self._Granularity = Granularity


    def _deserialize(self, params):
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._TrendStartTime = params.get("TrendStartTime")
        self._TrendEndTime = params.get("TrendEndTime")
        self._ExecutorGroupType = params.get("ExecutorGroupType")
        self._ExecutorResourceType = params.get("ExecutorResourceType")
        self._LoaderId = params.get("LoaderId")
        self._MetricType = params.get("MetricType")
        self._Granularity = params.get("Granularity")
        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 DescribeExecutorGroupMetricResponse(AbstractModel):
    r"""DescribeExecutorGroupMetric返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行组指标信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourceGroupInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行组指标信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourceGroupInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = ExecutorResourceGroupInfo()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeFieldBasicInfoRequest(AbstractModel):
    r"""DescribeFieldBasicInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤字段
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤字段
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.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 DescribeFieldBasicInfoResponse(AbstractModel):
    r"""DescribeFieldBasicInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ColumnBasicInfoList: 字段元数据
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnBasicInfoList: list of ColumnBasicInfo
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ColumnBasicInfoList = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def ColumnBasicInfoList(self):
        r"""字段元数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ColumnBasicInfo
        """
        return self._ColumnBasicInfoList

    @ColumnBasicInfoList.setter
    def ColumnBasicInfoList(self, ColumnBasicInfoList):
        self._ColumnBasicInfoList = ColumnBasicInfoList

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("ColumnBasicInfoList") is not None:
            self._ColumnBasicInfoList = []
            for item in params.get("ColumnBasicInfoList"):
                obj = ColumnBasicInfo()
                obj._deserialize(item)
                self._ColumnBasicInfoList.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeFolderWorkflowListData(AbstractModel):
    r"""文件夹分页信息

    """

    def __init__(self):
        r"""
        :param _Items: 工作流信息列表
        :type Items: list of Workflow
        :param _TotalCount: 总条数
        :type TotalCount: int
        :param _PageNumber: 页号
        :type PageNumber: int
        :param _PageSize: 页大小
        :type PageSize: int
        """
        self._Items = None
        self._TotalCount = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def Items(self):
        r"""工作流信息列表
        :rtype: list of Workflow
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalCount(self):
        r"""总条数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageNumber(self):
        r"""页号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = Workflow()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeFolderWorkflowListRequest(AbstractModel):
    r"""DescribeFolderWorkflowList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _ParentsFolderId: 父文件夹ID
        :type ParentsFolderId: str
        :param _KeyWords: 关键字
        :type KeyWords: str
        :param _PageNumber: 页码，默认1
        :type PageNumber: int
        :param _PageSize: 页大小，默认10
        :type PageSize: int
        """
        self._ProjectId = None
        self._ParentsFolderId = None
        self._KeyWords = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ParentsFolderId(self):
        r"""父文件夹ID
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId

    @property
    def KeyWords(self):
        r"""关键字
        :rtype: str
        """
        return self._KeyWords

    @KeyWords.setter
    def KeyWords(self, KeyWords):
        self._KeyWords = KeyWords

    @property
    def PageNumber(self):
        r"""页码，默认1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小，默认10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ParentsFolderId = params.get("ParentsFolderId")
        self._KeyWords = params.get("KeyWords")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeFolderWorkflowListResponse(AbstractModel):
    r"""DescribeFolderWorkflowList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeFolderWorkflowListData`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeFolderWorkflowListData`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeFolderWorkflowListData()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeFormVersionParamRequest(AbstractModel):
    r"""DescribeFormVersionParam请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _CodeTemplateId: 模版Id
        :type CodeTemplateId: str
        :param _OriginalParams: 脚本中的参数
        :type OriginalParams: list of str
        :param _Page: 页码
        :type Page: int
        :param _Size: 页号
        :type Size: int
        :param _Source: 来源 studio(Studio脚本)/codeTemplate(代码模版)
        :type Source: str
        """
        self._ProjectId = None
        self._CodeTemplateId = None
        self._OriginalParams = None
        self._Page = None
        self._Size = None
        self._Source = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateId(self):
        r"""模版Id
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId

    @property
    def OriginalParams(self):
        r"""脚本中的参数
        :rtype: list of str
        """
        return self._OriginalParams

    @OriginalParams.setter
    def OriginalParams(self, OriginalParams):
        self._OriginalParams = OriginalParams

    @property
    def Page(self):
        r"""页码
        :rtype: int
        """
        return self._Page

    @Page.setter
    def Page(self, Page):
        self._Page = Page

    @property
    def Size(self):
        r"""页号
        :rtype: int
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def Source(self):
        r"""来源 studio(Studio脚本)/codeTemplate(代码模版)
        :rtype: str
        """
        return self._Source

    @Source.setter
    def Source(self, Source):
        self._Source = Source


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateId = params.get("CodeTemplateId")
        self._OriginalParams = params.get("OriginalParams")
        self._Page = params.get("Page")
        self._Size = params.get("Size")
        self._Source = params.get("Source")
        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 DescribeFormVersionParamResponse(AbstractModel):
    r"""DescribeFormVersionParam返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果集
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TaskCollectionParamDTO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果集
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskCollectionParamDTO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TaskCollectionParamDTO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeFunctionKindsRequest(AbstractModel):
    r"""DescribeFunctionKinds请求参数结构体

    """


class DescribeFunctionKindsResponse(AbstractModel):
    r"""DescribeFunctionKinds返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Kinds: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Kinds: list of FunctionTypeOrKind
        :param _ErrorMessage: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Kinds = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def Kinds(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FunctionTypeOrKind
        """
        return self._Kinds

    @Kinds.setter
    def Kinds(self, Kinds):
        self._Kinds = Kinds

    @property
    def ErrorMessage(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Kinds") is not None:
            self._Kinds = []
            for item in params.get("Kinds"):
                obj = FunctionTypeOrKind()
                obj._deserialize(item)
                self._Kinds.append(obj)
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class DescribeFunctionTypesRequest(AbstractModel):
    r"""DescribeFunctionTypes请求参数结构体

    """


class DescribeFunctionTypesResponse(AbstractModel):
    r"""DescribeFunctionTypes返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Types: 类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Types: list of FunctionTypeOrKind
        :param _ErrorMessage: 错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Types = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def Types(self):
        r"""类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FunctionTypeOrKind
        """
        return self._Types

    @Types.setter
    def Types(self, Types):
        self._Types = Types

    @property
    def ErrorMessage(self):
        r"""错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Types") is not None:
            self._Types = []
            for item in params.get("Types"):
                obj = FunctionTypeOrKind()
                obj._deserialize(item)
                self._Types.append(obj)
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class DescribeInstanceByCycleRequest(AbstractModel):
    r"""DescribeInstanceByCycle请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 1
        :type ProjectId: str
        :param _TenantId: 1
        :type TenantId: str
        """
        self._ProjectId = None
        self._TenantId = None

    @property
    def ProjectId(self):
        r"""1
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TenantId(self):
        r"""1
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TenantId = params.get("TenantId")
        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 DescribeInstanceByCycleResponse(AbstractModel):
    r"""DescribeInstanceByCycle返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 统计结果
        :type Data: list of TaskByCycle
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""统计结果
        :rtype: list of TaskByCycle
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskByCycle()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeInstanceDetailInfoRequest(AbstractModel):
    r"""DescribeInstanceDetailInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _CurRunDate: 实例数据时间
        :type CurRunDate: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _LifeRound: 实例的第几次执行
        :type LifeRound: int
        :param _LifeRoundStartIndex: 生命周期查询起始index
        :type LifeRoundStartIndex: int
        :param _LifeRoundSize: 生命周期查询批次数量
        :type LifeRoundSize: int
        :param _TotalLifeRound: 生命周期总数，可省略
        :type TotalLifeRound: str
        :param _Dynamic: 动态加载日志标识
        :type Dynamic: bool
        """
        self._TaskId = None
        self._CurRunDate = None
        self._ProjectId = None
        self._LifeRound = None
        self._LifeRoundStartIndex = None
        self._LifeRoundSize = None
        self._TotalLifeRound = None
        self._Dynamic = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""实例数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def LifeRound(self):
        r"""实例的第几次执行
        :rtype: int
        """
        return self._LifeRound

    @LifeRound.setter
    def LifeRound(self, LifeRound):
        self._LifeRound = LifeRound

    @property
    def LifeRoundStartIndex(self):
        r"""生命周期查询起始index
        :rtype: int
        """
        return self._LifeRoundStartIndex

    @LifeRoundStartIndex.setter
    def LifeRoundStartIndex(self, LifeRoundStartIndex):
        self._LifeRoundStartIndex = LifeRoundStartIndex

    @property
    def LifeRoundSize(self):
        r"""生命周期查询批次数量
        :rtype: int
        """
        return self._LifeRoundSize

    @LifeRoundSize.setter
    def LifeRoundSize(self, LifeRoundSize):
        self._LifeRoundSize = LifeRoundSize

    @property
    def TotalLifeRound(self):
        r"""生命周期总数，可省略
        :rtype: str
        """
        return self._TotalLifeRound

    @TotalLifeRound.setter
    def TotalLifeRound(self, TotalLifeRound):
        self._TotalLifeRound = TotalLifeRound

    @property
    def Dynamic(self):
        r"""动态加载日志标识
        :rtype: bool
        """
        return self._Dynamic

    @Dynamic.setter
    def Dynamic(self, Dynamic):
        self._Dynamic = Dynamic


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._ProjectId = params.get("ProjectId")
        self._LifeRound = params.get("LifeRound")
        self._LifeRoundStartIndex = params.get("LifeRoundStartIndex")
        self._LifeRoundSize = params.get("LifeRoundSize")
        self._TotalLifeRound = params.get("TotalLifeRound")
        self._Dynamic = params.get("Dynamic")
        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 DescribeInstanceDetailInfoResponse(AbstractModel):
    r"""DescribeInstanceDetailInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 生命周期结果
        :type Data: list of InstanceLifeCycleOpsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""生命周期结果
        :rtype: list of InstanceLifeCycleOpsDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = InstanceLifeCycleOpsDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeInstanceLastLogRequest(AbstractModel):
    r"""DescribeInstanceLastLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 数据时间
        :type CurRunDate: str
        """
        self._TaskId = None
        self._CurRunDate = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        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 DescribeInstanceLastLogResponse(AbstractModel):
    r"""DescribeInstanceLastLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 日志
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""日志
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DescribeInstanceListRequest(AbstractModel):
    r"""DescribeInstanceList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目/工作空间id
        :type ProjectId: str
        :param _PageIndex: 页码
        :type PageIndex: int
        :param _PageSize: 一页展示的条数
        :type PageSize: int
        :param _CycleList: 周期列表（如天，一次性），可选
        :type CycleList: list of str
        :param _OwnerList: 责任人
        :type OwnerList: list of str
        :param _InstanceType: 跟之前保持一致
        :type InstanceType: str
        :param _Sort: 排序顺序（asc，desc）
        :type Sort: str
        :param _SortCol: 排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :type SortCol: str
        :param _TaskTypeList: 类型列表（如python任务类型：30
pyspark任务类型：31
hivesql任务类型：34
shell任务类型：35
sparksql任务类型：36 jdbcsql任务类型：21 dlc任务类型：32），可选
        :type TaskTypeList: list of int
        :param _StateList: 状态列表（如成功 2，正在执行 1），可选
        :type StateList: list of int
        :param _Keyword: 任务名称
        :type Keyword: str
        """
        self._ProjectId = None
        self._PageIndex = None
        self._PageSize = None
        self._CycleList = None
        self._OwnerList = None
        self._InstanceType = None
        self._Sort = None
        self._SortCol = None
        self._TaskTypeList = None
        self._StateList = None
        self._Keyword = None

    @property
    def ProjectId(self):
        r"""项目/工作空间id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageIndex(self):
        r"""页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""一页展示的条数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def CycleList(self):
        r"""周期列表（如天，一次性），可选
        :rtype: list of str
        """
        return self._CycleList

    @CycleList.setter
    def CycleList(self, CycleList):
        self._CycleList = CycleList

    @property
    def OwnerList(self):
        r"""责任人
        :rtype: list of str
        """
        return self._OwnerList

    @OwnerList.setter
    def OwnerList(self, OwnerList):
        self._OwnerList = OwnerList

    @property
    def InstanceType(self):
        r"""跟之前保持一致
        :rtype: str
        """
        return self._InstanceType

    @InstanceType.setter
    def InstanceType(self, InstanceType):
        self._InstanceType = InstanceType

    @property
    def Sort(self):
        r"""排序顺序（asc，desc）
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def SortCol(self):
        r"""排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :rtype: str
        """
        return self._SortCol

    @SortCol.setter
    def SortCol(self, SortCol):
        self._SortCol = SortCol

    @property
    def TaskTypeList(self):
        r"""类型列表（如python任务类型：30
pyspark任务类型：31
hivesql任务类型：34
shell任务类型：35
sparksql任务类型：36 jdbcsql任务类型：21 dlc任务类型：32），可选
        :rtype: list of int
        """
        return self._TaskTypeList

    @TaskTypeList.setter
    def TaskTypeList(self, TaskTypeList):
        self._TaskTypeList = TaskTypeList

    @property
    def StateList(self):
        r"""状态列表（如成功 2，正在执行 1），可选
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList

    @property
    def Keyword(self):
        r"""任务名称
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._CycleList = params.get("CycleList")
        self._OwnerList = params.get("OwnerList")
        self._InstanceType = params.get("InstanceType")
        self._Sort = params.get("Sort")
        self._SortCol = params.get("SortCol")
        self._TaskTypeList = params.get("TaskTypeList")
        self._StateList = params.get("StateList")
        self._Keyword = params.get("Keyword")
        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 DescribeInstanceListResponse(AbstractModel):
    r"""DescribeInstanceList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: str
        :param _InstanceList: 实例列表
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceList: list of InstanceList
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._InstanceList = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InstanceList(self):
        r"""实例列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceList
        """
        return self._InstanceList

    @InstanceList.setter
    def InstanceList(self, InstanceList):
        self._InstanceList = InstanceList

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        if params.get("InstanceList") is not None:
            self._InstanceList = []
            for item in params.get("InstanceList"):
                obj = InstanceList()
                obj._deserialize(item)
                self._InstanceList.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeInstanceLogDetailRequest(AbstractModel):
    r"""DescribeInstanceLogDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: <p>项目ID</p>
        :type ProjectId: str
        :param _TaskId: <p>任务id</p>
        :type TaskId: str
        :param _CurRunDate: <p>数据时间</p>
        :type CurRunDate: str
        :param _LogLevelType: <p>日志级别，Info/Debug/Warn/Error/All</p>
        :type LogLevelType: str
        :param _ExecutionFileType: <p>文件类型,Log/Code</p>
        :type ExecutionFileType: str
        :param _ExecutionJobId: <p>统一执行平台执行id, 注意: ExecutionJobId 跟 &quot;BrokerIp+OriginFileName&quot; 必须有一个不为空</p>
        :type ExecutionJobId: str
        :param _BrokerIp: <p>服务器Ip, 注意: &quot;BrokerIp+OriginFileName&quot;跟ExecutionJobId必须有一个不为空</p>
        :type BrokerIp: str
        :param _OriginFileName: <p>文件Name, 注意: &quot;BrokerIp+OriginFileName&quot;跟ExecutionJobId必须有一个不为空</p>
        :type OriginFileName: str
        :param _StartCount: <p>起始行</p>
        :type StartCount: int
        :param _LineCount: <p>每次查询行数</p>
        :type LineCount: int
        :param _ExtInfo: <p>查询日志扩展信息,通过统一执行平台接口分页查询日志时需要带上,第一页时为null</p>
        :type ExtInfo: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _InstanceLifeDetailDtoList: <p>生命周期为基础数据进行日志匹配</p>
        :type InstanceLifeDetailDtoList: list of InstanceLifeDetailDto
        :param _CurrentLifeRound: <p>当前生命周期</p>
        :type CurrentLifeRound: int
        :param _MaxLifeRound: <p>生命周期总数</p>
        :type MaxLifeRound: int
        :param _Tries: <p>当前生命周期重试次数</p>
        :type Tries: int
        :param _Dynamic: <p>动态加载日志</p>
        :type Dynamic: bool
        """
        self._ProjectId = None
        self._TaskId = None
        self._CurRunDate = None
        self._LogLevelType = None
        self._ExecutionFileType = None
        self._ExecutionJobId = None
        self._BrokerIp = None
        self._OriginFileName = None
        self._StartCount = None
        self._LineCount = None
        self._ExtInfo = None
        self._RequestFromSource = None
        self._InstanceLifeDetailDtoList = None
        self._CurrentLifeRound = None
        self._MaxLifeRound = None
        self._Tries = None
        self._Dynamic = None

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""<p>任务id</p>
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""<p>数据时间</p>
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def LogLevelType(self):
        r"""<p>日志级别，Info/Debug/Warn/Error/All</p>
        :rtype: str
        """
        return self._LogLevelType

    @LogLevelType.setter
    def LogLevelType(self, LogLevelType):
        self._LogLevelType = LogLevelType

    @property
    def ExecutionFileType(self):
        r"""<p>文件类型,Log/Code</p>
        :rtype: str
        """
        return self._ExecutionFileType

    @ExecutionFileType.setter
    def ExecutionFileType(self, ExecutionFileType):
        self._ExecutionFileType = ExecutionFileType

    @property
    def ExecutionJobId(self):
        r"""<p>统一执行平台执行id, 注意: ExecutionJobId 跟 &quot;BrokerIp+OriginFileName&quot; 必须有一个不为空</p>
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def BrokerIp(self):
        r"""<p>服务器Ip, 注意: &quot;BrokerIp+OriginFileName&quot;跟ExecutionJobId必须有一个不为空</p>
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def OriginFileName(self):
        r"""<p>文件Name, 注意: &quot;BrokerIp+OriginFileName&quot;跟ExecutionJobId必须有一个不为空</p>
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def StartCount(self):
        r"""<p>起始行</p>
        :rtype: int
        """
        return self._StartCount

    @StartCount.setter
    def StartCount(self, StartCount):
        self._StartCount = StartCount

    @property
    def LineCount(self):
        r"""<p>每次查询行数</p>
        :rtype: int
        """
        return self._LineCount

    @LineCount.setter
    def LineCount(self, LineCount):
        self._LineCount = LineCount

    @property
    def ExtInfo(self):
        r"""<p>查询日志扩展信息,通过统一执行平台接口分页查询日志时需要带上,第一页时为null</p>
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def InstanceLifeDetailDtoList(self):
        r"""<p>生命周期为基础数据进行日志匹配</p>
        :rtype: list of InstanceLifeDetailDto
        """
        return self._InstanceLifeDetailDtoList

    @InstanceLifeDetailDtoList.setter
    def InstanceLifeDetailDtoList(self, InstanceLifeDetailDtoList):
        self._InstanceLifeDetailDtoList = InstanceLifeDetailDtoList

    @property
    def CurrentLifeRound(self):
        r"""<p>当前生命周期</p>
        :rtype: int
        """
        return self._CurrentLifeRound

    @CurrentLifeRound.setter
    def CurrentLifeRound(self, CurrentLifeRound):
        self._CurrentLifeRound = CurrentLifeRound

    @property
    def MaxLifeRound(self):
        r"""<p>生命周期总数</p>
        :rtype: int
        """
        return self._MaxLifeRound

    @MaxLifeRound.setter
    def MaxLifeRound(self, MaxLifeRound):
        self._MaxLifeRound = MaxLifeRound

    @property
    def Tries(self):
        r"""<p>当前生命周期重试次数</p>
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def Dynamic(self):
        r"""<p>动态加载日志</p>
        :rtype: bool
        """
        return self._Dynamic

    @Dynamic.setter
    def Dynamic(self, Dynamic):
        self._Dynamic = Dynamic


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._LogLevelType = params.get("LogLevelType")
        self._ExecutionFileType = params.get("ExecutionFileType")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._BrokerIp = params.get("BrokerIp")
        self._OriginFileName = params.get("OriginFileName")
        self._StartCount = params.get("StartCount")
        self._LineCount = params.get("LineCount")
        self._ExtInfo = params.get("ExtInfo")
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("InstanceLifeDetailDtoList") is not None:
            self._InstanceLifeDetailDtoList = []
            for item in params.get("InstanceLifeDetailDtoList"):
                obj = InstanceLifeDetailDto()
                obj._deserialize(item)
                self._InstanceLifeDetailDtoList.append(obj)
        self._CurrentLifeRound = params.get("CurrentLifeRound")
        self._MaxLifeRound = params.get("MaxLifeRound")
        self._Tries = params.get("Tries")
        self._Dynamic = params.get("Dynamic")
        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 DescribeInstanceLogDetailResponse(AbstractModel):
    r"""DescribeInstanceLogDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: <p>日志结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceLogInfoOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""<p>日志结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLogInfoOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceLogInfoOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeInstanceLogFileRequest(AbstractModel):
    r"""DescribeInstanceLogFile请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: <p>项目ID</p>
        :type ProjectId: str
        :param _TaskId: <p>任务ID</p>
        :type TaskId: str
        :param _CurRunDate: <p>实例数据时间</p>
        :type CurRunDate: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _BrokerIp: <p>执行机IP</p>
        :type BrokerIp: str
        :param _OriginFileName: <p>日志文件名</p>
        :type OriginFileName: str
        :param _ExecutionJobId: <p>执行平台下发执行id</p>
        :type ExecutionJobId: str
        :param _LogLevelType: <p>日志级别，Info/Debug/Warn/Error/All</p>
        :type LogLevelType: str
        :param _ExecutionFileType: <p>文件类型,Log/Code</p>
        :type ExecutionFileType: str
        :param _InstanceLifeDetailDtoList: <p>生命周期为基础数据进行日志匹配。Dynamic=true动态获取日志链路中使用</p>
        :type InstanceLifeDetailDtoList: list of InstanceLifeDetailDto
        :param _CurrentLifeRound: <p>当前生命周期数</p>
        :type CurrentLifeRound: int
        :param _MaxLifeRound: <p>最大生命周期数</p>
        :type MaxLifeRound: int
        :param _Tries: <p>当前生命周期重试次数</p>
        :type Tries: int
        :param _Dynamic: <p>动态获取日志信息标识</p>
        :type Dynamic: bool
        """
        self._ProjectId = None
        self._TaskId = None
        self._CurRunDate = None
        self._RequestFromSource = None
        self._BrokerIp = None
        self._OriginFileName = None
        self._ExecutionJobId = None
        self._LogLevelType = None
        self._ExecutionFileType = None
        self._InstanceLifeDetailDtoList = None
        self._CurrentLifeRound = None
        self._MaxLifeRound = None
        self._Tries = None
        self._Dynamic = None

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""<p>任务ID</p>
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""<p>实例数据时间</p>
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def BrokerIp(self):
        r"""<p>执行机IP</p>
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def OriginFileName(self):
        r"""<p>日志文件名</p>
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def ExecutionJobId(self):
        r"""<p>执行平台下发执行id</p>
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def LogLevelType(self):
        r"""<p>日志级别，Info/Debug/Warn/Error/All</p>
        :rtype: str
        """
        return self._LogLevelType

    @LogLevelType.setter
    def LogLevelType(self, LogLevelType):
        self._LogLevelType = LogLevelType

    @property
    def ExecutionFileType(self):
        r"""<p>文件类型,Log/Code</p>
        :rtype: str
        """
        return self._ExecutionFileType

    @ExecutionFileType.setter
    def ExecutionFileType(self, ExecutionFileType):
        self._ExecutionFileType = ExecutionFileType

    @property
    def InstanceLifeDetailDtoList(self):
        r"""<p>生命周期为基础数据进行日志匹配。Dynamic=true动态获取日志链路中使用</p>
        :rtype: list of InstanceLifeDetailDto
        """
        return self._InstanceLifeDetailDtoList

    @InstanceLifeDetailDtoList.setter
    def InstanceLifeDetailDtoList(self, InstanceLifeDetailDtoList):
        self._InstanceLifeDetailDtoList = InstanceLifeDetailDtoList

    @property
    def CurrentLifeRound(self):
        r"""<p>当前生命周期数</p>
        :rtype: int
        """
        return self._CurrentLifeRound

    @CurrentLifeRound.setter
    def CurrentLifeRound(self, CurrentLifeRound):
        self._CurrentLifeRound = CurrentLifeRound

    @property
    def MaxLifeRound(self):
        r"""<p>最大生命周期数</p>
        :rtype: int
        """
        return self._MaxLifeRound

    @MaxLifeRound.setter
    def MaxLifeRound(self, MaxLifeRound):
        self._MaxLifeRound = MaxLifeRound

    @property
    def Tries(self):
        r"""<p>当前生命周期重试次数</p>
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def Dynamic(self):
        r"""<p>动态获取日志信息标识</p>
        :rtype: bool
        """
        return self._Dynamic

    @Dynamic.setter
    def Dynamic(self, Dynamic):
        self._Dynamic = Dynamic


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._RequestFromSource = params.get("RequestFromSource")
        self._BrokerIp = params.get("BrokerIp")
        self._OriginFileName = params.get("OriginFileName")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._LogLevelType = params.get("LogLevelType")
        self._ExecutionFileType = params.get("ExecutionFileType")
        if params.get("InstanceLifeDetailDtoList") is not None:
            self._InstanceLifeDetailDtoList = []
            for item in params.get("InstanceLifeDetailDtoList"):
                obj = InstanceLifeDetailDto()
                obj._deserialize(item)
                self._InstanceLifeDetailDtoList.append(obj)
        self._CurrentLifeRound = params.get("CurrentLifeRound")
        self._MaxLifeRound = params.get("MaxLifeRound")
        self._Tries = params.get("Tries")
        self._Dynamic = params.get("Dynamic")
        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 DescribeInstanceLogFileResponse(AbstractModel):
    r"""DescribeInstanceLogFile返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: <p>下载文件详情</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceDownloadLogInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""<p>下载文件详情</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceDownloadLogInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceDownloadLogInfo()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeInstanceLogListRequest(AbstractModel):
    r"""DescribeInstanceLogList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 数据时间
        :type CurRunDate: str
        """
        self._TaskId = None
        self._CurRunDate = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        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 DescribeInstanceLogListResponse(AbstractModel):
    r"""DescribeInstanceLogList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 日志列表
        :type Data: str
        :param _InstanceLogList: 日志列表
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLogList: list of InstanceLogList
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._InstanceLogList = None
        self._RequestId = None

    @property
    def Data(self):
        r"""日志列表
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InstanceLogList(self):
        r"""日志列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceLogList
        """
        return self._InstanceLogList

    @InstanceLogList.setter
    def InstanceLogList(self, InstanceLogList):
        self._InstanceLogList = InstanceLogList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        if params.get("InstanceLogList") is not None:
            self._InstanceLogList = []
            for item in params.get("InstanceLogList"):
                obj = InstanceLogList()
                obj._deserialize(item)
                self._InstanceLogList.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeInstanceLogRequest(AbstractModel):
    r"""DescribeInstanceLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 数据时间
        :type CurRunDate: str
        :param _BrokerIp: 服务器Ip
        :type BrokerIp: str
        :param _OriginFileName: 文件Name
        :type OriginFileName: str
        """
        self._TaskId = None
        self._CurRunDate = None
        self._BrokerIp = None
        self._OriginFileName = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def BrokerIp(self):
        r"""服务器Ip
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def OriginFileName(self):
        r"""文件Name
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._BrokerIp = params.get("BrokerIp")
        self._OriginFileName = params.get("OriginFileName")
        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 DescribeInstanceLogResponse(AbstractModel):
    r"""DescribeInstanceLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回结果
        :type Data: str
        :param _InstanceLogInfo: 返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLogInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationInstanceLog`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._InstanceLogInfo = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回结果
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InstanceLogInfo(self):
        r"""返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationInstanceLog`
        """
        return self._InstanceLogInfo

    @InstanceLogInfo.setter
    def InstanceLogInfo(self, InstanceLogInfo):
        self._InstanceLogInfo = InstanceLogInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        if params.get("InstanceLogInfo") is not None:
            self._InstanceLogInfo = IntegrationInstanceLog()
            self._InstanceLogInfo._deserialize(params.get("InstanceLogInfo"))
        self._RequestId = params.get("RequestId")


class DescribeIntegrationNodeRequest(AbstractModel):
    r"""DescribeIntegrationNode请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 节点id
        :type Id: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型，201为实时任务，202为离线任务
        :type TaskType: int
        """
        self._Id = None
        self._ProjectId = None
        self._TaskType = None

    @property
    def Id(self):
        r"""节点id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型，201为实时任务，202为离线任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        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 DescribeIntegrationNodeResponse(AbstractModel):
    r"""DescribeIntegrationNode返回参数结构体

    """

    def __init__(self):
        r"""
        :param _NodeInfo: 节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        :param _SourceCheckFlag: 上游节点是否已经修改。true 已修改，需要提示；false 没有修改
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceCheckFlag: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._NodeInfo = None
        self._SourceCheckFlag = None
        self._RequestId = None

    @property
    def NodeInfo(self):
        r"""节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        """
        return self._NodeInfo

    @NodeInfo.setter
    def NodeInfo(self, NodeInfo):
        self._NodeInfo = NodeInfo

    @property
    def SourceCheckFlag(self):
        r"""上游节点是否已经修改。true 已修改，需要提示；false 没有修改
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SourceCheckFlag

    @SourceCheckFlag.setter
    def SourceCheckFlag(self, SourceCheckFlag):
        self._SourceCheckFlag = SourceCheckFlag

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("NodeInfo") is not None:
            self._NodeInfo = IntegrationNodeInfo()
            self._NodeInfo._deserialize(params.get("NodeInfo"))
        self._SourceCheckFlag = params.get("SourceCheckFlag")
        self._RequestId = params.get("RequestId")


class DescribeIntegrationStatisticsInstanceTrendRequest(AbstractModel):
    r"""DescribeIntegrationStatisticsInstanceTrend请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型（实时：201，离线：202）
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _QueryDate: 查询日期
        :type QueryDate: str
        :param _ExecutorGroupId: 资源组id
        :type ExecutorGroupId: str
        """
        self._TaskType = None
        self._ProjectId = None
        self._QueryDate = None
        self._ExecutorGroupId = None

    @property
    def TaskType(self):
        r"""任务类型（实时：201，离线：202）
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def QueryDate(self):
        r"""查询日期
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate

    @property
    def ExecutorGroupId(self):
        r"""资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._QueryDate = params.get("QueryDate")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        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 DescribeIntegrationStatisticsInstanceTrendResponse(AbstractModel):
    r"""DescribeIntegrationStatisticsInstanceTrend返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TrendsData: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type TrendsData: list of IntegrationStatisticsTrendResult
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TrendsData = None
        self._RequestId = None

    @property
    def TrendsData(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationStatisticsTrendResult
        """
        return self._TrendsData

    @TrendsData.setter
    def TrendsData(self, TrendsData):
        self._TrendsData = TrendsData

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TrendsData") is not None:
            self._TrendsData = []
            for item in params.get("TrendsData"):
                obj = IntegrationStatisticsTrendResult()
                obj._deserialize(item)
                self._TrendsData.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeIntegrationStatisticsRecordsTrendRequest(AbstractModel):
    r"""DescribeIntegrationStatisticsRecordsTrend请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型（实时：201，离线：202）
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _QueryDate: 查询日期
        :type QueryDate: str
        """
        self._TaskType = None
        self._ProjectId = None
        self._QueryDate = None

    @property
    def TaskType(self):
        r"""任务类型（实时：201，离线：202）
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def QueryDate(self):
        r"""查询日期
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._QueryDate = params.get("QueryDate")
        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 DescribeIntegrationStatisticsRecordsTrendResponse(AbstractModel):
    r"""DescribeIntegrationStatisticsRecordsTrend返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TrendsData: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type TrendsData: list of IntegrationStatisticsTrendResult
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TrendsData = None
        self._RequestId = None

    @property
    def TrendsData(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationStatisticsTrendResult
        """
        return self._TrendsData

    @TrendsData.setter
    def TrendsData(self, TrendsData):
        self._TrendsData = TrendsData

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TrendsData") is not None:
            self._TrendsData = []
            for item in params.get("TrendsData"):
                obj = IntegrationStatisticsTrendResult()
                obj._deserialize(item)
                self._TrendsData.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeIntegrationStatisticsRequest(AbstractModel):
    r"""DescribeIntegrationStatistics请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型（实时：201，离线：202）
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _QueryDate: 查询日期
        :type QueryDate: str
        """
        self._TaskType = None
        self._ProjectId = None
        self._QueryDate = None

    @property
    def TaskType(self):
        r"""任务类型（实时：201，离线：202）
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def QueryDate(self):
        r"""查询日期
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._QueryDate = params.get("QueryDate")
        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 DescribeIntegrationStatisticsResponse(AbstractModel):
    r"""DescribeIntegrationStatistics返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TotalTask: 总任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalTask: int
        :param _ProdTask: 生产态任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type ProdTask: int
        :param _DevTask: 开发态任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type DevTask: int
        :param _TotalReadRecords: 总读取条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalReadRecords: int
        :param _TotalWriteRecords: 总写入条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalWriteRecords: int
        :param _TotalErrorRecords: 总脏数据条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalErrorRecords: int
        :param _TotalAlarmEvent: 总告警事件数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalAlarmEvent: int
        :param _IncreaseReadRecords: 当天读取增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :type IncreaseReadRecords: int
        :param _IncreaseWriteRecords: 当天写入增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :type IncreaseWriteRecords: int
        :param _IncreaseErrorRecords: 当天脏数据增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :type IncreaseErrorRecords: int
        :param _IncreaseAlarmEvent: 当天告警事件增长数
注意：此字段可能返回 null，表示取不到有效值。
        :type IncreaseAlarmEvent: int
        :param _AlarmEvent: 告警事件统计
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmEvent: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TotalTask = None
        self._ProdTask = None
        self._DevTask = None
        self._TotalReadRecords = None
        self._TotalWriteRecords = None
        self._TotalErrorRecords = None
        self._TotalAlarmEvent = None
        self._IncreaseReadRecords = None
        self._IncreaseWriteRecords = None
        self._IncreaseErrorRecords = None
        self._IncreaseAlarmEvent = None
        self._AlarmEvent = None
        self._RequestId = None

    @property
    def TotalTask(self):
        r"""总任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalTask

    @TotalTask.setter
    def TotalTask(self, TotalTask):
        self._TotalTask = TotalTask

    @property
    def ProdTask(self):
        r"""生产态任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProdTask

    @ProdTask.setter
    def ProdTask(self, ProdTask):
        self._ProdTask = ProdTask

    @property
    def DevTask(self):
        r"""开发态任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DevTask

    @DevTask.setter
    def DevTask(self, DevTask):
        self._DevTask = DevTask

    @property
    def TotalReadRecords(self):
        r"""总读取条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalReadRecords

    @TotalReadRecords.setter
    def TotalReadRecords(self, TotalReadRecords):
        self._TotalReadRecords = TotalReadRecords

    @property
    def TotalWriteRecords(self):
        r"""总写入条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalWriteRecords

    @TotalWriteRecords.setter
    def TotalWriteRecords(self, TotalWriteRecords):
        self._TotalWriteRecords = TotalWriteRecords

    @property
    def TotalErrorRecords(self):
        r"""总脏数据条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalErrorRecords

    @TotalErrorRecords.setter
    def TotalErrorRecords(self, TotalErrorRecords):
        self._TotalErrorRecords = TotalErrorRecords

    @property
    def TotalAlarmEvent(self):
        r"""总告警事件数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalAlarmEvent

    @TotalAlarmEvent.setter
    def TotalAlarmEvent(self, TotalAlarmEvent):
        self._TotalAlarmEvent = TotalAlarmEvent

    @property
    def IncreaseReadRecords(self):
        r"""当天读取增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IncreaseReadRecords

    @IncreaseReadRecords.setter
    def IncreaseReadRecords(self, IncreaseReadRecords):
        self._IncreaseReadRecords = IncreaseReadRecords

    @property
    def IncreaseWriteRecords(self):
        r"""当天写入增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IncreaseWriteRecords

    @IncreaseWriteRecords.setter
    def IncreaseWriteRecords(self, IncreaseWriteRecords):
        self._IncreaseWriteRecords = IncreaseWriteRecords

    @property
    def IncreaseErrorRecords(self):
        r"""当天脏数据增长条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IncreaseErrorRecords

    @IncreaseErrorRecords.setter
    def IncreaseErrorRecords(self, IncreaseErrorRecords):
        self._IncreaseErrorRecords = IncreaseErrorRecords

    @property
    def IncreaseAlarmEvent(self):
        r"""当天告警事件增长数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IncreaseAlarmEvent

    @IncreaseAlarmEvent.setter
    def IncreaseAlarmEvent(self, IncreaseAlarmEvent):
        self._IncreaseAlarmEvent = IncreaseAlarmEvent

    @property
    def AlarmEvent(self):
        r"""告警事件统计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmEvent

    @AlarmEvent.setter
    def AlarmEvent(self, AlarmEvent):
        self._AlarmEvent = AlarmEvent

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._TotalTask = params.get("TotalTask")
        self._ProdTask = params.get("ProdTask")
        self._DevTask = params.get("DevTask")
        self._TotalReadRecords = params.get("TotalReadRecords")
        self._TotalWriteRecords = params.get("TotalWriteRecords")
        self._TotalErrorRecords = params.get("TotalErrorRecords")
        self._TotalAlarmEvent = params.get("TotalAlarmEvent")
        self._IncreaseReadRecords = params.get("IncreaseReadRecords")
        self._IncreaseWriteRecords = params.get("IncreaseWriteRecords")
        self._IncreaseErrorRecords = params.get("IncreaseErrorRecords")
        self._IncreaseAlarmEvent = params.get("IncreaseAlarmEvent")
        self._AlarmEvent = params.get("AlarmEvent")
        self._RequestId = params.get("RequestId")


class DescribeIntegrationStatisticsTaskStatusRequest(AbstractModel):
    r"""DescribeIntegrationStatisticsTaskStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型（实时：201，离线：202）
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _QueryDate: 查询日期
        :type QueryDate: str
        :param _ExecutorGroupId: 资源组id
        :type ExecutorGroupId: str
        """
        self._TaskType = None
        self._ProjectId = None
        self._QueryDate = None
        self._ExecutorGroupId = None

    @property
    def TaskType(self):
        r"""任务类型（实时：201，离线：202）
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def QueryDate(self):
        r"""查询日期
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate

    @property
    def ExecutorGroupId(self):
        r"""资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._QueryDate = params.get("QueryDate")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        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 DescribeIntegrationStatisticsTaskStatusResponse(AbstractModel):
    r"""DescribeIntegrationStatisticsTaskStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _StatusData: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type StatusData: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._StatusData = None
        self._RequestId = None

    @property
    def StatusData(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StatusData

    @StatusData.setter
    def StatusData(self, StatusData):
        self._StatusData = StatusData

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._StatusData = params.get("StatusData")
        self._RequestId = params.get("RequestId")


class DescribeIntegrationStatisticsTaskStatusTrendRequest(AbstractModel):
    r"""DescribeIntegrationStatisticsTaskStatusTrend请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 任务类型（实时：201，离线：202）
        :type TaskType: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _QueryDate: 查询日期
        :type QueryDate: str
        :param _ExecutorGroupId: 资源组id
        :type ExecutorGroupId: str
        """
        self._TaskType = None
        self._ProjectId = None
        self._QueryDate = None
        self._ExecutorGroupId = None

    @property
    def TaskType(self):
        r"""任务类型（实时：201，离线：202）
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def QueryDate(self):
        r"""查询日期
        :rtype: str
        """
        return self._QueryDate

    @QueryDate.setter
    def QueryDate(self, QueryDate):
        self._QueryDate = QueryDate

    @property
    def ExecutorGroupId(self):
        r"""资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._QueryDate = params.get("QueryDate")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        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 DescribeIntegrationStatisticsTaskStatusTrendResponse(AbstractModel):
    r"""DescribeIntegrationStatisticsTaskStatusTrend返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TrendsData: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type TrendsData: list of IntegrationStatisticsTrendResult
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TrendsData = None
        self._RequestId = None

    @property
    def TrendsData(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationStatisticsTrendResult
        """
        return self._TrendsData

    @TrendsData.setter
    def TrendsData(self, TrendsData):
        self._TrendsData = TrendsData

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TrendsData") is not None:
            self._TrendsData = []
            for item in params.get("TrendsData"):
                obj = IntegrationStatisticsTrendResult()
                obj._deserialize(item)
                self._TrendsData.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeIntegrationTaskRequest(AbstractModel):
    r"""DescribeIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型，201: 实时集成任务,   202：离线集成任务，不传默认值为201 实时任务类型
        :type TaskType: int
        :param _InstanceVersion: 提交版本号
        :type InstanceVersion: int
        :param _ExtConfig: 额外参数
        :type ExtConfig: list of RecordField
        """
        self._TaskId = None
        self._ProjectId = None
        self._TaskType = None
        self._InstanceVersion = None
        self._ExtConfig = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型，201: 实时集成任务,   202：离线集成任务，不传默认值为201 实时任务类型
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def InstanceVersion(self):
        r"""提交版本号
        :rtype: int
        """
        return self._InstanceVersion

    @InstanceVersion.setter
    def InstanceVersion(self, InstanceVersion):
        self._InstanceVersion = InstanceVersion

    @property
    def ExtConfig(self):
        r"""额外参数
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        self._InstanceVersion = params.get("InstanceVersion")
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.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 DescribeIntegrationTaskResponse(AbstractModel):
    r"""DescribeIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskInfo: 任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        :param _AgentStatus: 采集器统计信息
注意：此字段可能返回 null，表示取不到有效值。
        :type AgentStatus: :class:`tencentcloud.wedata.v20210820.models.AgentStatus`
        :param _TaskVersion: 任务版本信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskVersion: :class:`tencentcloud.wedata.v20210820.models.TaskVersionInstance`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskInfo = None
        self._AgentStatus = None
        self._TaskVersion = None
        self._RequestId = None

    @property
    def TaskInfo(self):
        r"""任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        """
        return self._TaskInfo

    @TaskInfo.setter
    def TaskInfo(self, TaskInfo):
        self._TaskInfo = TaskInfo

    @property
    def AgentStatus(self):
        r"""采集器统计信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AgentStatus`
        """
        return self._AgentStatus

    @AgentStatus.setter
    def AgentStatus(self, AgentStatus):
        self._AgentStatus = AgentStatus

    @property
    def TaskVersion(self):
        r"""任务版本信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskVersionInstance`
        """
        return self._TaskVersion

    @TaskVersion.setter
    def TaskVersion(self, TaskVersion):
        self._TaskVersion = TaskVersion

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TaskInfo") is not None:
            self._TaskInfo = IntegrationTaskInfo()
            self._TaskInfo._deserialize(params.get("TaskInfo"))
        if params.get("AgentStatus") is not None:
            self._AgentStatus = AgentStatus()
            self._AgentStatus._deserialize(params.get("AgentStatus"))
        if params.get("TaskVersion") is not None:
            self._TaskVersion = TaskVersionInstance()
            self._TaskVersion._deserialize(params.get("TaskVersion"))
        self._RequestId = params.get("RequestId")


class DescribeIntegrationTasksRequest(AbstractModel):
    r"""DescribeIntegrationTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 分页第n页
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 查询filter;默认查询任务的开发态，如需查询生产态任务需添加{"Values":["true"],"Name":"ProductionState"};如需查询查询任务状态需要查询生产态任务列表
        :type Filters: list of Filter
        :param _OrderFields: 排序字段信息
        :type OrderFields: list of OrderField
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _TaskType: 201. 实时同步, 202. 离线同步 默认实时
        :type TaskType: int
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._StartTime = None
        self._EndTime = None
        self._TaskType = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""分页第n页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""查询filter;默认查询任务的开发态，如需查询生产态任务需添加{"Values":["true"],"Name":"ProductionState"};如需查询查询任务状态需要查询生产态任务列表
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段信息
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskType(self):
        r"""201. 实时同步, 202. 离线同步 默认实时
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskType = params.get("TaskType")
        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 DescribeIntegrationTasksResponse(AbstractModel):
    r"""DescribeIntegrationTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskInfoSet: 任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskInfoSet: list of IntegrationTaskInfo
        :param _TotalCount: 任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskInfoSet = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def TaskInfoSet(self):
        r"""任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationTaskInfo
        """
        return self._TaskInfoSet

    @TaskInfoSet.setter
    def TaskInfoSet(self, TaskInfoSet):
        self._TaskInfoSet = TaskInfoSet

    @property
    def TotalCount(self):
        r"""任务总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TaskInfoSet") is not None:
            self._TaskInfoSet = []
            for item in params.get("TaskInfoSet"):
                obj = IntegrationTaskInfo()
                obj._deserialize(item)
                self._TaskInfoSet.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeIntegrationVersionNodesInfoRequest(AbstractModel):
    r"""DescribeIntegrationVersionNodesInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskVersionPath: 该任务选定版本的存储路径：
DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 TaskInfo.TaskExt.Properties 下 Base64.encode($region | $bucket | $ftp.file.name) 值
        :type TaskVersionPath: str
        :param _TaskVersion: 该任务选定版本id：
DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 VersionId 取值
        :type TaskVersion: str
        """
        self._TaskId = None
        self._ProjectId = None
        self._TaskVersionPath = None
        self._TaskVersion = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskVersionPath(self):
        r"""该任务选定版本的存储路径：
DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 TaskInfo.TaskExt.Properties 下 Base64.encode($region | $bucket | $ftp.file.name) 值
        :rtype: str
        """
        return self._TaskVersionPath

    @TaskVersionPath.setter
    def TaskVersionPath(self, TaskVersionPath):
        self._TaskVersionPath = TaskVersionPath

    @property
    def TaskVersion(self):
        r"""该任务选定版本id：
DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 VersionId 取值
        :rtype: str
        """
        return self._TaskVersion

    @TaskVersion.setter
    def TaskVersion(self, TaskVersion):
        self._TaskVersion = TaskVersion


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._TaskVersionPath = params.get("TaskVersionPath")
        self._TaskVersion = params.get("TaskVersion")
        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 DescribeIntegrationVersionNodesInfoResponse(AbstractModel):
    r"""DescribeIntegrationVersionNodesInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Nodes: 任务节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Nodes: list of IntegrationNodeInfo
        :param _Mappings: 任务映射信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Mappings: list of IntegrationNodeMapping
        :param _TaskId: 任务id
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Nodes = None
        self._Mappings = None
        self._TaskId = None
        self._RequestId = None

    @property
    def Nodes(self):
        r"""任务节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeInfo
        """
        return self._Nodes

    @Nodes.setter
    def Nodes(self, Nodes):
        self._Nodes = Nodes

    @property
    def Mappings(self):
        r"""任务映射信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeMapping
        """
        return self._Mappings

    @Mappings.setter
    def Mappings(self, Mappings):
        self._Mappings = Mappings

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Nodes") is not None:
            self._Nodes = []
            for item in params.get("Nodes"):
                obj = IntegrationNodeInfo()
                obj._deserialize(item)
                self._Nodes.append(obj)
        if params.get("Mappings") is not None:
            self._Mappings = []
            for item in params.get("Mappings"):
                obj = IntegrationNodeMapping()
                obj._deserialize(item)
                self._Mappings.append(obj)
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class DescribeLineageColumnsRequest(AbstractModel):
    r"""DescribeLineageColumns请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表id
        :type TableId: str
        """
        self._TableId = None

    @property
    def TableId(self):
        r"""表id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        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 DescribeLineageColumnsResponse(AbstractModel):
    r"""DescribeLineageColumns返回参数结构体

    """

    def __init__(self):
        r"""
        :param _MetastoreType: 元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: list of str
        :param _MetastoreTypeName: 元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreTypeName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _ColumnSet: 字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnSet: list of ColumnLineageInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._MetastoreType = None
        self._MetastoreTypeName = None
        self._TableName = None
        self._ColumnSet = None
        self._RequestId = None

    @property
    def MetastoreType(self):
        r"""元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def MetastoreTypeName(self):
        r"""元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreTypeName

    @MetastoreTypeName.setter
    def MetastoreTypeName(self, MetastoreTypeName):
        self._MetastoreTypeName = MetastoreTypeName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ColumnSet(self):
        r"""字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ColumnLineageInfo
        """
        return self._ColumnSet

    @ColumnSet.setter
    def ColumnSet(self, ColumnSet):
        self._ColumnSet = ColumnSet

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._MetastoreType = params.get("MetastoreType")
        self._MetastoreTypeName = params.get("MetastoreTypeName")
        self._TableName = params.get("TableName")
        if params.get("ColumnSet") is not None:
            self._ColumnSet = []
            for item in params.get("ColumnSet"):
                obj = ColumnLineageInfo()
                obj._deserialize(item)
                self._ColumnSet.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeLineageInfoRequest(AbstractModel):
    r"""DescribeLineageInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ResourceOriId: 实体原始唯一ID
        :type ResourceOriId: str
        :param _ResourceType: 实体类型
        :type ResourceType: str
        :param _QualifiedId: 血缘唯一ID
        :type QualifiedId: str
        :param _Direction: 查询方向
        :type Direction: str
        :param _InputDepth: 查询入度
        :type InputDepth: int
        :param _OutputDepth: 查询出度
        :type OutputDepth: int
        :param _Platform: 数据来源
        :type Platform: str
        :param _LineageType: 血缘类型（分页使用）
        :type LineageType: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        """
        self._ResourceOriId = None
        self._ResourceType = None
        self._QualifiedId = None
        self._Direction = None
        self._InputDepth = None
        self._OutputDepth = None
        self._Platform = None
        self._LineageType = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def ResourceOriId(self):
        r"""实体原始唯一ID
        :rtype: str
        """
        return self._ResourceOriId

    @ResourceOriId.setter
    def ResourceOriId(self, ResourceOriId):
        self._ResourceOriId = ResourceOriId

    @property
    def ResourceType(self):
        r"""实体类型
        :rtype: str
        """
        return self._ResourceType

    @ResourceType.setter
    def ResourceType(self, ResourceType):
        self._ResourceType = ResourceType

    @property
    def QualifiedId(self):
        r"""血缘唯一ID
        :rtype: str
        """
        return self._QualifiedId

    @QualifiedId.setter
    def QualifiedId(self, QualifiedId):
        self._QualifiedId = QualifiedId

    @property
    def Direction(self):
        r"""查询方向
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction

    @property
    def InputDepth(self):
        r"""查询入度
        :rtype: int
        """
        return self._InputDepth

    @InputDepth.setter
    def InputDepth(self, InputDepth):
        self._InputDepth = InputDepth

    @property
    def OutputDepth(self):
        r"""查询出度
        :rtype: int
        """
        return self._OutputDepth

    @OutputDepth.setter
    def OutputDepth(self, OutputDepth):
        self._OutputDepth = OutputDepth

    @property
    def Platform(self):
        r"""数据来源
        :rtype: str
        """
        return self._Platform

    @Platform.setter
    def Platform(self, Platform):
        self._Platform = Platform

    @property
    def LineageType(self):
        r"""血缘类型（分页使用）
        :rtype: str
        """
        return self._LineageType

    @LineageType.setter
    def LineageType(self, LineageType):
        self._LineageType = LineageType

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        self._ResourceOriId = params.get("ResourceOriId")
        self._ResourceType = params.get("ResourceType")
        self._QualifiedId = params.get("QualifiedId")
        self._Direction = params.get("Direction")
        self._InputDepth = params.get("InputDepth")
        self._OutputDepth = params.get("OutputDepth")
        self._Platform = params.get("Platform")
        self._LineageType = params.get("LineageType")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeLineageInfoResponse(AbstractModel):
    r"""DescribeLineageInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.LineageCommonInfoVO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageCommonInfoVO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = LineageCommonInfoVO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeManualTriggerRecordPageRequest(AbstractModel):
    r"""DescribeManualTriggerRecordPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: <p>项目ID</p>
        :type ProjectId: str
        :param _TriggerName: <p>触发运行名称</p>
        :type TriggerName: str
        :param _WorkflowKeyword: <p>工作流过滤关键字，工作流名称 or 工作流ID</p>
        :type WorkflowKeyword: str
        :param _Creator: <p>触发运行提交人过滤，多个提交人用英文逗号分割</p>
        :type Creator: str
        :param _TriggerStartTime: <p>触发提交创建时间过滤，起始时间</p>
        :type TriggerStartTime: str
        :param _TriggerEndTime: <p>触发提交创建时间过滤，结束时间</p>
        :type TriggerEndTime: str
        :param _PageNumber: <p>页码，整型</p>
        :type PageNumber: int
        :param _PageSize: <p>每页数目，整型</p>
        :type PageSize: int
        :param _TriggerId: <p>触发ID</p>
        :type TriggerId: str
        """
        self._ProjectId = None
        self._TriggerName = None
        self._WorkflowKeyword = None
        self._Creator = None
        self._TriggerStartTime = None
        self._TriggerEndTime = None
        self._PageNumber = None
        self._PageSize = None
        self._TriggerId = None

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TriggerName(self):
        r"""<p>触发运行名称</p>
        :rtype: str
        """
        return self._TriggerName

    @TriggerName.setter
    def TriggerName(self, TriggerName):
        self._TriggerName = TriggerName

    @property
    def WorkflowKeyword(self):
        r"""<p>工作流过滤关键字，工作流名称 or 工作流ID</p>
        :rtype: str
        """
        return self._WorkflowKeyword

    @WorkflowKeyword.setter
    def WorkflowKeyword(self, WorkflowKeyword):
        self._WorkflowKeyword = WorkflowKeyword

    @property
    def Creator(self):
        r"""<p>触发运行提交人过滤，多个提交人用英文逗号分割</p>
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def TriggerStartTime(self):
        r"""<p>触发提交创建时间过滤，起始时间</p>
        :rtype: str
        """
        return self._TriggerStartTime

    @TriggerStartTime.setter
    def TriggerStartTime(self, TriggerStartTime):
        self._TriggerStartTime = TriggerStartTime

    @property
    def TriggerEndTime(self):
        r"""<p>触发提交创建时间过滤，结束时间</p>
        :rtype: str
        """
        return self._TriggerEndTime

    @TriggerEndTime.setter
    def TriggerEndTime(self, TriggerEndTime):
        self._TriggerEndTime = TriggerEndTime

    @property
    def PageNumber(self):
        r"""<p>页码，整型</p>
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""<p>每页数目，整型</p>
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TriggerId(self):
        r"""<p>触发ID</p>
        :rtype: str
        """
        return self._TriggerId

    @TriggerId.setter
    def TriggerId(self, TriggerId):
        self._TriggerId = TriggerId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TriggerName = params.get("TriggerName")
        self._WorkflowKeyword = params.get("WorkflowKeyword")
        self._Creator = params.get("Creator")
        self._TriggerStartTime = params.get("TriggerStartTime")
        self._TriggerEndTime = params.get("TriggerEndTime")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TriggerId = params.get("TriggerId")
        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 DescribeManualTriggerRecordPageResponse(AbstractModel):
    r"""DescribeManualTriggerRecordPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestFromSource: str
        :param _Data: <p>详情结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ManualTriggerRecordOpsDtoPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestFromSource = None
        self._Data = None
        self._RequestId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Data(self):
        r"""<p>详情结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ManualTriggerRecordOpsDtoPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Data") is not None:
            self._Data = ManualTriggerRecordOpsDtoPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOfflineTaskTokenRequest(AbstractModel):
    r"""DescribeOfflineTaskToken请求参数结构体

    """


class DescribeOfflineTaskTokenResponse(AbstractModel):
    r"""DescribeOfflineTaskToken返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Token: 长连接临时token
        :type Token: str
        :param _Data: 长连接临时token。与Token相同含义，优先取Data，Data为空时，取Token。
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Token = None
        self._Data = None
        self._RequestId = None

    @property
    def Token(self):
        r"""长连接临时token
        :rtype: str
        """
        return self._Token

    @Token.setter
    def Token(self, Token):
        self._Token = Token

    @property
    def Data(self):
        r"""长连接临时token。与Token相同含义，优先取Data，Data为空时，取Token。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Token = params.get("Token")
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DescribeOperateOpsTasksRequest(AbstractModel):
    r"""DescribeOperateOpsTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _FolderIdList: 文件夹id，多个文件夹以逗号分隔
        :type FolderIdList: str
        :param _WorkFlowIdList: 工作流id，多个工作流id之间以英文字符逗号分隔
        :type WorkFlowIdList: str
        :param _WorkFlowNameList: 工作流名称，多个工作流名称之间以英文字符逗号分隔
        :type WorkFlowNameList: str
        :param _TaskNameList: 任务名称，多个任务名称之间以英文字符逗号分隔
        :type TaskNameList: str
        :param _TaskIdList: 任务id，多个任务id之间以英文字符逗号分隔
        :type TaskIdList: str
        :param _PageNumber: 页号
        :type PageNumber: str
        :param _PageSize: 分页大小
        :type PageSize: str
        :param _SortItem: 排序字段，支持字段为FirstSubmitTime和FirstRunTime，标识最近提交和首次执行事件
        :type SortItem: str
        :param _SortType: 排序类型。两种取值 DESC、ASC
        :type SortType: str
        :param _InChargeList: 责任人，多个责任人之间以英文字符逗号分隔
        :type InChargeList: str
        :param _TaskTypeIdList: 任务类型Id字符串，多个任务类型id之间以英文字符逗号分隔
        :type TaskTypeIdList: str
        :param _StatusList: 任务状态字符串，多个任务状态之间以英文字符逗号分隔
        :type StatusList: str
        :param _TaskCycleUnitList: 任务周期类型字符串，多个任务周期之间以英文字符逗号分隔
        :type TaskCycleUnitList: str
        :param _ProductNameList: 任务所属产品类型
        :type ProductNameList: str
        :param _SourceServiceId: 数据源id或（仅针对离线同步任务）来源数据源id
        :type SourceServiceId: str
        :param _SourceServiceType: 数据源类型或（仅针对离线同步任务）来源数据源类型
        :type SourceServiceType: str
        :param _TargetServiceId: （仅针对离线同步任务）目标数据源id
        :type TargetServiceId: str
        :param _TargetServiceType: （仅针对离线同步任务）目标数据源类型
        :type TargetServiceType: str
        :param _AlarmType: 告警类型，多个类型以逗号分隔
        :type AlarmType: str
        :param _ExecutorGroupIdList: 资源组id,多个资源组id之间以英文字符逗号分隔
        :type ExecutorGroupIdList: str
        :param _TaskTags: 任务标签
        :type TaskTags: list of TaskTag
        :param _KeyWord: 查询关键字
        :type KeyWord: str
        :param _InitStrategy: 实例生成方式
        :type InitStrategy: str
        :param _RequestResourceTypes: 额外请求的资源类型
        :type RequestResourceTypes: list of str
        :param _ProjectIds: 项目ID列表
        :type ProjectIds: list of str
        :param _BlackTaskIdList: 黑名单任务ID列表，传了该值在筛选的时候会将列表中的任务ID剔除
        :type BlackTaskIdList: list of str
        :param _ScheduleTimeZone: 时区
        :type ScheduleTimeZone: str
        :param _RunPriorityList: 根据任务优先级筛选
        :type RunPriorityList: list of int
        :param _IncludeManualTask: 是否包含手动工作流
        :type IncludeManualTask: str
        :param _CheckPrivilege: 是否检查权限
        :type CheckPrivilege: bool
        """
        self._ProjectId = None
        self._FolderIdList = None
        self._WorkFlowIdList = None
        self._WorkFlowNameList = None
        self._TaskNameList = None
        self._TaskIdList = None
        self._PageNumber = None
        self._PageSize = None
        self._SortItem = None
        self._SortType = None
        self._InChargeList = None
        self._TaskTypeIdList = None
        self._StatusList = None
        self._TaskCycleUnitList = None
        self._ProductNameList = None
        self._SourceServiceId = None
        self._SourceServiceType = None
        self._TargetServiceId = None
        self._TargetServiceType = None
        self._AlarmType = None
        self._ExecutorGroupIdList = None
        self._TaskTags = None
        self._KeyWord = None
        self._InitStrategy = None
        self._RequestResourceTypes = None
        self._ProjectIds = None
        self._BlackTaskIdList = None
        self._ScheduleTimeZone = None
        self._RunPriorityList = None
        self._IncludeManualTask = None
        self._CheckPrivilege = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderIdList(self):
        r"""文件夹id，多个文件夹以逗号分隔
        :rtype: str
        """
        return self._FolderIdList

    @FolderIdList.setter
    def FolderIdList(self, FolderIdList):
        self._FolderIdList = FolderIdList

    @property
    def WorkFlowIdList(self):
        r"""工作流id，多个工作流id之间以英文字符逗号分隔
        :rtype: str
        """
        return self._WorkFlowIdList

    @WorkFlowIdList.setter
    def WorkFlowIdList(self, WorkFlowIdList):
        self._WorkFlowIdList = WorkFlowIdList

    @property
    def WorkFlowNameList(self):
        r"""工作流名称，多个工作流名称之间以英文字符逗号分隔
        :rtype: str
        """
        return self._WorkFlowNameList

    @WorkFlowNameList.setter
    def WorkFlowNameList(self, WorkFlowNameList):
        self._WorkFlowNameList = WorkFlowNameList

    @property
    def TaskNameList(self):
        r"""任务名称，多个任务名称之间以英文字符逗号分隔
        :rtype: str
        """
        return self._TaskNameList

    @TaskNameList.setter
    def TaskNameList(self, TaskNameList):
        self._TaskNameList = TaskNameList

    @property
    def TaskIdList(self):
        r"""任务id，多个任务id之间以英文字符逗号分隔
        :rtype: str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def PageNumber(self):
        r"""页号
        :rtype: str
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: str
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def SortItem(self):
        r"""排序字段，支持字段为FirstSubmitTime和FirstRunTime，标识最近提交和首次执行事件
        :rtype: str
        """
        return self._SortItem

    @SortItem.setter
    def SortItem(self, SortItem):
        self._SortItem = SortItem

    @property
    def SortType(self):
        r"""排序类型。两种取值 DESC、ASC
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def InChargeList(self):
        r"""责任人，多个责任人之间以英文字符逗号分隔
        :rtype: str
        """
        return self._InChargeList

    @InChargeList.setter
    def InChargeList(self, InChargeList):
        self._InChargeList = InChargeList

    @property
    def TaskTypeIdList(self):
        r"""任务类型Id字符串，多个任务类型id之间以英文字符逗号分隔
        :rtype: str
        """
        return self._TaskTypeIdList

    @TaskTypeIdList.setter
    def TaskTypeIdList(self, TaskTypeIdList):
        self._TaskTypeIdList = TaskTypeIdList

    @property
    def StatusList(self):
        r"""任务状态字符串，多个任务状态之间以英文字符逗号分隔
        :rtype: str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def TaskCycleUnitList(self):
        r"""任务周期类型字符串，多个任务周期之间以英文字符逗号分隔
        :rtype: str
        """
        return self._TaskCycleUnitList

    @TaskCycleUnitList.setter
    def TaskCycleUnitList(self, TaskCycleUnitList):
        self._TaskCycleUnitList = TaskCycleUnitList

    @property
    def ProductNameList(self):
        r"""任务所属产品类型
        :rtype: str
        """
        return self._ProductNameList

    @ProductNameList.setter
    def ProductNameList(self, ProductNameList):
        self._ProductNameList = ProductNameList

    @property
    def SourceServiceId(self):
        r"""数据源id或（仅针对离线同步任务）来源数据源id
        :rtype: str
        """
        return self._SourceServiceId

    @SourceServiceId.setter
    def SourceServiceId(self, SourceServiceId):
        self._SourceServiceId = SourceServiceId

    @property
    def SourceServiceType(self):
        r"""数据源类型或（仅针对离线同步任务）来源数据源类型
        :rtype: str
        """
        return self._SourceServiceType

    @SourceServiceType.setter
    def SourceServiceType(self, SourceServiceType):
        self._SourceServiceType = SourceServiceType

    @property
    def TargetServiceId(self):
        r"""（仅针对离线同步任务）目标数据源id
        :rtype: str
        """
        return self._TargetServiceId

    @TargetServiceId.setter
    def TargetServiceId(self, TargetServiceId):
        self._TargetServiceId = TargetServiceId

    @property
    def TargetServiceType(self):
        r"""（仅针对离线同步任务）目标数据源类型
        :rtype: str
        """
        return self._TargetServiceType

    @TargetServiceType.setter
    def TargetServiceType(self, TargetServiceType):
        self._TargetServiceType = TargetServiceType

    @property
    def AlarmType(self):
        r"""告警类型，多个类型以逗号分隔
        :rtype: str
        """
        return self._AlarmType

    @AlarmType.setter
    def AlarmType(self, AlarmType):
        self._AlarmType = AlarmType

    @property
    def ExecutorGroupIdList(self):
        r"""资源组id,多个资源组id之间以英文字符逗号分隔
        :rtype: str
        """
        return self._ExecutorGroupIdList

    @ExecutorGroupIdList.setter
    def ExecutorGroupIdList(self, ExecutorGroupIdList):
        self._ExecutorGroupIdList = ExecutorGroupIdList

    @property
    def TaskTags(self):
        r"""任务标签
        :rtype: list of TaskTag
        """
        return self._TaskTags

    @TaskTags.setter
    def TaskTags(self, TaskTags):
        self._TaskTags = TaskTags

    @property
    def KeyWord(self):
        r"""查询关键字
        :rtype: str
        """
        return self._KeyWord

    @KeyWord.setter
    def KeyWord(self, KeyWord):
        self._KeyWord = KeyWord

    @property
    def InitStrategy(self):
        r"""实例生成方式
        :rtype: str
        """
        return self._InitStrategy

    @InitStrategy.setter
    def InitStrategy(self, InitStrategy):
        self._InitStrategy = InitStrategy

    @property
    def RequestResourceTypes(self):
        r"""额外请求的资源类型
        :rtype: list of str
        """
        return self._RequestResourceTypes

    @RequestResourceTypes.setter
    def RequestResourceTypes(self, RequestResourceTypes):
        self._RequestResourceTypes = RequestResourceTypes

    @property
    def ProjectIds(self):
        r"""项目ID列表
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds

    @property
    def BlackTaskIdList(self):
        r"""黑名单任务ID列表，传了该值在筛选的时候会将列表中的任务ID剔除
        :rtype: list of str
        """
        return self._BlackTaskIdList

    @BlackTaskIdList.setter
    def BlackTaskIdList(self, BlackTaskIdList):
        self._BlackTaskIdList = BlackTaskIdList

    @property
    def ScheduleTimeZone(self):
        r"""时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def RunPriorityList(self):
        r"""根据任务优先级筛选
        :rtype: list of int
        """
        return self._RunPriorityList

    @RunPriorityList.setter
    def RunPriorityList(self, RunPriorityList):
        self._RunPriorityList = RunPriorityList

    @property
    def IncludeManualTask(self):
        r"""是否包含手动工作流
        :rtype: str
        """
        return self._IncludeManualTask

    @IncludeManualTask.setter
    def IncludeManualTask(self, IncludeManualTask):
        self._IncludeManualTask = IncludeManualTask

    @property
    def CheckPrivilege(self):
        r"""是否检查权限
        :rtype: bool
        """
        return self._CheckPrivilege

    @CheckPrivilege.setter
    def CheckPrivilege(self, CheckPrivilege):
        self._CheckPrivilege = CheckPrivilege


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderIdList = params.get("FolderIdList")
        self._WorkFlowIdList = params.get("WorkFlowIdList")
        self._WorkFlowNameList = params.get("WorkFlowNameList")
        self._TaskNameList = params.get("TaskNameList")
        self._TaskIdList = params.get("TaskIdList")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._SortItem = params.get("SortItem")
        self._SortType = params.get("SortType")
        self._InChargeList = params.get("InChargeList")
        self._TaskTypeIdList = params.get("TaskTypeIdList")
        self._StatusList = params.get("StatusList")
        self._TaskCycleUnitList = params.get("TaskCycleUnitList")
        self._ProductNameList = params.get("ProductNameList")
        self._SourceServiceId = params.get("SourceServiceId")
        self._SourceServiceType = params.get("SourceServiceType")
        self._TargetServiceId = params.get("TargetServiceId")
        self._TargetServiceType = params.get("TargetServiceType")
        self._AlarmType = params.get("AlarmType")
        self._ExecutorGroupIdList = params.get("ExecutorGroupIdList")
        if params.get("TaskTags") is not None:
            self._TaskTags = []
            for item in params.get("TaskTags"):
                obj = TaskTag()
                obj._deserialize(item)
                self._TaskTags.append(obj)
        self._KeyWord = params.get("KeyWord")
        self._InitStrategy = params.get("InitStrategy")
        self._RequestResourceTypes = params.get("RequestResourceTypes")
        self._ProjectIds = params.get("ProjectIds")
        self._BlackTaskIdList = params.get("BlackTaskIdList")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._RunPriorityList = params.get("RunPriorityList")
        self._IncludeManualTask = params.get("IncludeManualTask")
        self._CheckPrivilege = params.get("CheckPrivilege")
        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 DescribeOperateOpsTasksResponse(AbstractModel):
    r"""DescribeOperateOpsTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务列表信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OpsTaskInfoPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务列表信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OpsTaskInfoPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OpsTaskInfoPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOpsInstanceLogListRequest(AbstractModel):
    r"""DescribeOpsInstanceLogList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 数据时间
        :type CurRunDate: str
        """
        self._TaskId = None
        self._CurRunDate = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        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 DescribeOpsInstanceLogListResponse(AbstractModel):
    r"""DescribeOpsInstanceLogList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 实例日志列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of InstanceLogInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""实例日志列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceLogInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = InstanceLogInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeOpsMakePlanInstancesRequest(AbstractModel):
    r"""DescribeOpsMakePlanInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PlanId: 补录计划ID
        :type PlanId: str
        :param _TaskId: 补录任务ID
        :type TaskId: str
        :param _PageNumber: 分页页码，默认值1
        :type PageNumber: int
        :param _PageSize: 分页大小，默认值10
        :type PageSize: int
        :param _StateList: 实例状态列表
        :type StateList: list of int
        """
        self._ProjectId = None
        self._PlanId = None
        self._TaskId = None
        self._PageNumber = None
        self._PageSize = None
        self._StateList = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PlanId(self):
        r"""补录计划ID
        :rtype: str
        """
        return self._PlanId

    @PlanId.setter
    def PlanId(self, PlanId):
        self._PlanId = PlanId

    @property
    def TaskId(self):
        r"""补录任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def PageNumber(self):
        r"""分页页码，默认值1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小，默认值10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def StateList(self):
        r"""实例状态列表
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PlanId = params.get("PlanId")
        self._TaskId = params.get("TaskId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._StateList = params.get("StateList")
        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 DescribeOpsMakePlanInstancesResponse(AbstractModel):
    r"""DescribeOpsMakePlanInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 补录计划实例分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.MakePlanInstanceOpsDtoCollection`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""补录计划实例分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.MakePlanInstanceOpsDtoCollection`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = MakePlanInstanceOpsDtoCollection()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOpsMakePlanTasksRequest(AbstractModel):
    r"""DescribeOpsMakePlanTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PlanId: 补录计划ID
        :type PlanId: str
        :param _StateList: 实例状态过滤条件
        :type StateList: list of int
        :param _PageNumber: 分页页码，默认值1
        :type PageNumber: int
        :param _PageSize: 分页大小，默认值10
        :type PageSize: int
        """
        self._ProjectId = None
        self._PlanId = None
        self._StateList = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PlanId(self):
        r"""补录计划ID
        :rtype: str
        """
        return self._PlanId

    @PlanId.setter
    def PlanId(self, PlanId):
        self._PlanId = PlanId

    @property
    def StateList(self):
        r"""实例状态过滤条件
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList

    @property
    def PageNumber(self):
        r"""分页页码，默认值1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小，默认值10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PlanId = params.get("PlanId")
        self._StateList = params.get("StateList")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeOpsMakePlanTasksResponse(AbstractModel):
    r"""DescribeOpsMakePlanTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 补录计划任务分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.MakePlanTaskOpsDtoCollection`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""补录计划任务分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.MakePlanTaskOpsDtoCollection`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = MakePlanTaskOpsDtoCollection()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOpsMakePlansRequest(AbstractModel):
    r"""DescribeOpsMakePlans请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PageNumber: 分页数，默认值1
        :type PageNumber: int
        :param _PageSize: 分页大小，默认值10
        :type PageSize: int
        :param _PlanId: 补录计划ID
        :type PlanId: str
        :param _PlanName: 补录计划名称
        :type PlanName: str
        :param _TaskName: 补录任务名称
        :type TaskName: str
        :param _TaskId: 补录任务ID
        :type TaskId: str
        :param _Creator: 补录计划创建者
        :type Creator: str
        :param _MinCreateTime: 补录计划最小创建时间
        :type MinCreateTime: str
        :param _MaxCreateTime: 补录计划最大创建时间
        :type MaxCreateTime: str
        :param _StateList: 实例状态过滤条件
        :type StateList: list of int
        :param _Keyword: 模糊查询关键字
        :type Keyword: str
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._PlanId = None
        self._PlanName = None
        self._TaskName = None
        self._TaskId = None
        self._Creator = None
        self._MinCreateTime = None
        self._MaxCreateTime = None
        self._StateList = None
        self._Keyword = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""分页数，默认值1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小，默认值10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PlanId(self):
        r"""补录计划ID
        :rtype: str
        """
        return self._PlanId

    @PlanId.setter
    def PlanId(self, PlanId):
        self._PlanId = PlanId

    @property
    def PlanName(self):
        r"""补录计划名称
        :rtype: str
        """
        return self._PlanName

    @PlanName.setter
    def PlanName(self, PlanName):
        self._PlanName = PlanName

    @property
    def TaskName(self):
        r"""补录任务名称
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskId(self):
        r"""补录任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Creator(self):
        r"""补录计划创建者
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def MinCreateTime(self):
        r"""补录计划最小创建时间
        :rtype: str
        """
        return self._MinCreateTime

    @MinCreateTime.setter
    def MinCreateTime(self, MinCreateTime):
        self._MinCreateTime = MinCreateTime

    @property
    def MaxCreateTime(self):
        r"""补录计划最大创建时间
        :rtype: str
        """
        return self._MaxCreateTime

    @MaxCreateTime.setter
    def MaxCreateTime(self, MaxCreateTime):
        self._MaxCreateTime = MaxCreateTime

    @property
    def StateList(self):
        r"""实例状态过滤条件
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList

    @property
    def Keyword(self):
        r"""模糊查询关键字
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._PlanId = params.get("PlanId")
        self._PlanName = params.get("PlanName")
        self._TaskName = params.get("TaskName")
        self._TaskId = params.get("TaskId")
        self._Creator = params.get("Creator")
        self._MinCreateTime = params.get("MinCreateTime")
        self._MaxCreateTime = params.get("MaxCreateTime")
        self._StateList = params.get("StateList")
        self._Keyword = params.get("Keyword")
        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 DescribeOpsMakePlansResponse(AbstractModel):
    r"""DescribeOpsMakePlans返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 补录计划分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.MakePlanOpsDtoCollection`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""补录计划分页查询结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.MakePlanOpsDtoCollection`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = MakePlanOpsDtoCollection()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOpsWorkflowsRequest(AbstractModel):
    r"""DescribeOpsWorkflows请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProductNameList: 任务产品类型名称列表，以 ',' 号分割
        :type ProductNameList: str
        :param _FolderIdList: 文件id列表，以 ',' 号分割
        :type FolderIdList: str
        :param _WorkFlowIdList: 工作流id，以 ',' 号分割
        :type WorkFlowIdList: str
        :param _WorkFlowNameList: 工作流名称列表，以 ',' 号分割
        :type WorkFlowNameList: str
        :param _TaskNameList: 任务名称列表，以 ',' 号分割
        :type TaskNameList: str
        :param _TaskIdList: 任务id列表，以 ',' 号分割
        :type TaskIdList: str
        :param _StatusList: 状态列表，以 ',' 号分割
        :type StatusList: str
        :param _InChargeList: 负责人列表，以 ',' 号分割
        :type InChargeList: str
        :param _PageNumber: 分页页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _SortItem: 排序项
        :type SortItem: str
        :param _SortType: 排序方式，DESC或ASC
        :type SortType: str
        :param _ProjectIds: 项目ID列表，用于多项目工作流筛选
        :type ProjectIds: list of str
        :param _WorkflowTypeList: 工作流类型列表 多个用英文逗号连接 cycle,manual. 默认只查询 cycle
        :type WorkflowTypeList: list of str
        :param _KeyWord: 工作流过滤keyword，支持工作流 id/name 模糊匹配， 多个用|分割
        :type KeyWord: str
        :param _ScheduleTimeZone: **时区** timeZone, 默认UTC+8
        :type ScheduleTimeZone: str
        :param _CheckPrivilege: 是否过滤无权限的工作流
true: 过滤无权限的仅返回有权限的工作流列表(默认)
false： 返回所有的工作流列表
        :type CheckPrivilege: bool
        """
        self._ProjectId = None
        self._ProductNameList = None
        self._FolderIdList = None
        self._WorkFlowIdList = None
        self._WorkFlowNameList = None
        self._TaskNameList = None
        self._TaskIdList = None
        self._StatusList = None
        self._InChargeList = None
        self._PageNumber = None
        self._PageSize = None
        self._SortItem = None
        self._SortType = None
        self._ProjectIds = None
        self._WorkflowTypeList = None
        self._KeyWord = None
        self._ScheduleTimeZone = None
        self._CheckPrivilege = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProductNameList(self):
        r"""任务产品类型名称列表，以 ',' 号分割
        :rtype: str
        """
        return self._ProductNameList

    @ProductNameList.setter
    def ProductNameList(self, ProductNameList):
        self._ProductNameList = ProductNameList

    @property
    def FolderIdList(self):
        r"""文件id列表，以 ',' 号分割
        :rtype: str
        """
        return self._FolderIdList

    @FolderIdList.setter
    def FolderIdList(self, FolderIdList):
        self._FolderIdList = FolderIdList

    @property
    def WorkFlowIdList(self):
        r"""工作流id，以 ',' 号分割
        :rtype: str
        """
        return self._WorkFlowIdList

    @WorkFlowIdList.setter
    def WorkFlowIdList(self, WorkFlowIdList):
        self._WorkFlowIdList = WorkFlowIdList

    @property
    def WorkFlowNameList(self):
        r"""工作流名称列表，以 ',' 号分割
        :rtype: str
        """
        return self._WorkFlowNameList

    @WorkFlowNameList.setter
    def WorkFlowNameList(self, WorkFlowNameList):
        self._WorkFlowNameList = WorkFlowNameList

    @property
    def TaskNameList(self):
        r"""任务名称列表，以 ',' 号分割
        :rtype: str
        """
        return self._TaskNameList

    @TaskNameList.setter
    def TaskNameList(self, TaskNameList):
        self._TaskNameList = TaskNameList

    @property
    def TaskIdList(self):
        r"""任务id列表，以 ',' 号分割
        :rtype: str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def StatusList(self):
        r"""状态列表，以 ',' 号分割
        :rtype: str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def InChargeList(self):
        r"""负责人列表，以 ',' 号分割
        :rtype: str
        """
        return self._InChargeList

    @InChargeList.setter
    def InChargeList(self, InChargeList):
        self._InChargeList = InChargeList

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def SortItem(self):
        r"""排序项
        :rtype: str
        """
        return self._SortItem

    @SortItem.setter
    def SortItem(self, SortItem):
        self._SortItem = SortItem

    @property
    def SortType(self):
        r"""排序方式，DESC或ASC
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def ProjectIds(self):
        r"""项目ID列表，用于多项目工作流筛选
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds

    @property
    def WorkflowTypeList(self):
        r"""工作流类型列表 多个用英文逗号连接 cycle,manual. 默认只查询 cycle
        :rtype: list of str
        """
        return self._WorkflowTypeList

    @WorkflowTypeList.setter
    def WorkflowTypeList(self, WorkflowTypeList):
        self._WorkflowTypeList = WorkflowTypeList

    @property
    def KeyWord(self):
        r"""工作流过滤keyword，支持工作流 id/name 模糊匹配， 多个用|分割
        :rtype: str
        """
        return self._KeyWord

    @KeyWord.setter
    def KeyWord(self, KeyWord):
        self._KeyWord = KeyWord

    @property
    def ScheduleTimeZone(self):
        r"""**时区** timeZone, 默认UTC+8
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def CheckPrivilege(self):
        r"""是否过滤无权限的工作流
true: 过滤无权限的仅返回有权限的工作流列表(默认)
false： 返回所有的工作流列表
        :rtype: bool
        """
        return self._CheckPrivilege

    @CheckPrivilege.setter
    def CheckPrivilege(self, CheckPrivilege):
        self._CheckPrivilege = CheckPrivilege


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ProductNameList = params.get("ProductNameList")
        self._FolderIdList = params.get("FolderIdList")
        self._WorkFlowIdList = params.get("WorkFlowIdList")
        self._WorkFlowNameList = params.get("WorkFlowNameList")
        self._TaskNameList = params.get("TaskNameList")
        self._TaskIdList = params.get("TaskIdList")
        self._StatusList = params.get("StatusList")
        self._InChargeList = params.get("InChargeList")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._SortItem = params.get("SortItem")
        self._SortType = params.get("SortType")
        self._ProjectIds = params.get("ProjectIds")
        self._WorkflowTypeList = params.get("WorkflowTypeList")
        self._KeyWord = params.get("KeyWord")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._CheckPrivilege = params.get("CheckPrivilege")
        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 DescribeOpsWorkflowsResponse(AbstractModel):
    r"""DescribeOpsWorkflows返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkflowExtOpsDtoPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkflowExtOpsDtoPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkflowExtOpsDtoPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeOrganizationalFunctionsRequest(AbstractModel):
    r"""DescribeOrganizationalFunctions请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Type: 场景类型：开发、使用
        :type Type: str
        :param _ProjectId: 项目 ID
        :type ProjectId: str
        :param _Name: 函数名称
        :type Name: str
        :param _DisplayName: 展示名称
        :type DisplayName: str
        :param _EnvType: 标准模式开发环境：DEV
标准模式生产环境：PROD
简单模式：ALL

        :type EnvType: str
        :param _Filters: 过滤条件
        :type Filters: list of Filter
        :param _OrderFields: 排序条件
        :type OrderFields: list of OrderField
        """
        self._Type = None
        self._ProjectId = None
        self._Name = None
        self._DisplayName = None
        self._EnvType = None
        self._Filters = None
        self._OrderFields = None

    @property
    def Type(self):
        r"""场景类型：开发、使用
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ProjectId(self):
        r"""项目 ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Name(self):
        r"""函数名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def DisplayName(self):
        r"""展示名称
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def EnvType(self):
        r"""标准模式开发环境：DEV
标准模式生产环境：PROD
简单模式：ALL

        :rtype: str
        """
        return self._EnvType

    @EnvType.setter
    def EnvType(self, EnvType):
        self._EnvType = EnvType

    @property
    def Filters(self):
        r"""过滤条件
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序条件
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._ProjectId = params.get("ProjectId")
        self._Name = params.get("Name")
        self._DisplayName = params.get("DisplayName")
        self._EnvType = params.get("EnvType")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.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 DescribeOrganizationalFunctionsResponse(AbstractModel):
    r"""DescribeOrganizationalFunctions返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Content: 函数信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: list of OrganizationalFunction
        :param _ErrorMessage: 操作失败
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Content = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def Content(self):
        r"""函数信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of OrganizationalFunction
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def ErrorMessage(self):
        r"""操作失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Content") is not None:
            self._Content = []
            for item in params.get("Content"):
                obj = OrganizationalFunction()
                obj._deserialize(item)
                self._Content.append(obj)
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class DescribeParentTaskRequest(AbstractModel):
    r"""DescribeParentTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务Id
        :type TaskId: str
        """
        self._ProjectId = None
        self._TaskId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        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 DescribeParentTaskResponse(AbstractModel):
    r"""DescribeParentTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务详情1
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of DependencyConfigDsDTO
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务详情1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DependencyConfigDsDTO
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = DependencyConfigDsDTO()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribePendingSubmitTaskInfo(AbstractModel):
    r"""待提交任务信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ModifyType: 修改类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyType: str
        :param _TaskStatus: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskStatus: str
        :param _SubmitPreCheck: 提交预检查（Y/N）
注意：此字段可能返回 null，表示取不到有效值。
        :type SubmitPreCheck: str
        :param _SubmitPreCheckDetailList: 提交预检查提交可能会失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :type SubmitPreCheckDetailList: list of TaskSubmitPreCheckDetailInfo
        :param _ExecutorGroupId: 资源组编号
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _TaskTypeId: <p>任务类型id，取值范围：</p>
<ul>
<li>26 离线集成任务</li>
<li>30 Python任务</li>
<li>31 PySpark任务</li>
<li>34 HiveSQL任务</li>
<li>35 Shell任务</li>
<li>36 SparkSQL任务</li>
<li>21 JdbcSQL任务</li>
<li>23 TDSQL-PostgreSQL任务</li>
<li>32 DLCSQL任务</li>
<li>33 Impala任务</li>
<li>41 Kettle任务</li>
<li>42 Tchouse-X任务</li>
<li>43 TCHouse-X SQL任务</li>
<li>46 DLCSpark任务</li>
<li>50 DLC-PySpark任务</li>
<li>47 TiOne任务</li>
<li>48 Trino任务</li>
<li>39 Spark任务</li>
<li>92 MapReduce任务</li>
<li>38 Shell表单模式任务</li>
<li>130 BranchNode任务</li>
<li>131 MergeNode任务</li>
<li>132 Notebook任务</li>
<li>133 SSH任务</li>
<li>134 StarRocks任务</li>
<li>137 For-each任务</li>
</ul>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        """
        self._TaskId = None
        self._TaskName = None
        self._ModifyType = None
        self._TaskStatus = None
        self._SubmitPreCheck = None
        self._SubmitPreCheckDetailList = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._TaskTypeId = None

    @property
    def TaskId(self):
        r"""任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ModifyType(self):
        r"""修改类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyType

    @ModifyType.setter
    def ModifyType(self, ModifyType):
        self._ModifyType = ModifyType

    @property
    def TaskStatus(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskStatus

    @TaskStatus.setter
    def TaskStatus(self, TaskStatus):
        self._TaskStatus = TaskStatus

    @property
    def SubmitPreCheck(self):
        r"""提交预检查（Y/N）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubmitPreCheck

    @SubmitPreCheck.setter
    def SubmitPreCheck(self, SubmitPreCheck):
        self._SubmitPreCheck = SubmitPreCheck

    @property
    def SubmitPreCheckDetailList(self):
        r"""提交预检查提交可能会失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskSubmitPreCheckDetailInfo
        """
        return self._SubmitPreCheckDetailList

    @SubmitPreCheckDetailList.setter
    def SubmitPreCheckDetailList(self, SubmitPreCheckDetailList):
        self._SubmitPreCheckDetailList = SubmitPreCheckDetailList

    @property
    def ExecutorGroupId(self):
        r"""资源组编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def TaskTypeId(self):
        r"""<p>任务类型id，取值范围：</p>
<ul>
<li>26 离线集成任务</li>
<li>30 Python任务</li>
<li>31 PySpark任务</li>
<li>34 HiveSQL任务</li>
<li>35 Shell任务</li>
<li>36 SparkSQL任务</li>
<li>21 JdbcSQL任务</li>
<li>23 TDSQL-PostgreSQL任务</li>
<li>32 DLCSQL任务</li>
<li>33 Impala任务</li>
<li>41 Kettle任务</li>
<li>42 Tchouse-X任务</li>
<li>43 TCHouse-X SQL任务</li>
<li>46 DLCSpark任务</li>
<li>50 DLC-PySpark任务</li>
<li>47 TiOne任务</li>
<li>48 Trino任务</li>
<li>39 Spark任务</li>
<li>92 MapReduce任务</li>
<li>38 Shell表单模式任务</li>
<li>130 BranchNode任务</li>
<li>131 MergeNode任务</li>
<li>132 Notebook任务</li>
<li>133 SSH任务</li>
<li>134 StarRocks任务</li>
<li>137 For-each任务</li>
</ul>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._ModifyType = params.get("ModifyType")
        self._TaskStatus = params.get("TaskStatus")
        self._SubmitPreCheck = params.get("SubmitPreCheck")
        if params.get("SubmitPreCheckDetailList") is not None:
            self._SubmitPreCheckDetailList = []
            for item in params.get("SubmitPreCheckDetailList"):
                obj = TaskSubmitPreCheckDetailInfo()
                obj._deserialize(item)
                self._SubmitPreCheckDetailList.append(obj)
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._TaskTypeId = params.get("TaskTypeId")
        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 DescribePendingSubmitTaskListRequest(AbstractModel):
    r"""DescribePendingSubmitTaskList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目编号
        :type ProjectId: str
        :param _WorkflowId: 工作流编号
        :type WorkflowId: str
        :param _TaskIdList: 任务编号列表
        :type TaskIdList: list of str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._TaskIdList = None

    @property
    def ProjectId(self):
        r"""项目编号
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流编号
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskIdList(self):
        r"""任务编号列表
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskIdList = params.get("TaskIdList")
        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 DescribePendingSubmitTaskListResponse(AbstractModel):
    r"""DescribePendingSubmitTaskList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 待提交任务信息
        :type Data: list of DescribePendingSubmitTaskInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""待提交任务信息
        :rtype: list of DescribePendingSubmitTaskInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = DescribePendingSubmitTaskInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeProjectRequest(AbstractModel):
    r"""DescribeProject请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id。一般使用项目Id来查询，与projectName必须存在一个。
        :type ProjectId: str
        :param _DescribeClusters: 是否展示关联集群信息
        :type DescribeClusters: bool
        :param _DescribeExecutors: 是否展示关联执行组的信息，仅部分信息。
        :type DescribeExecutors: bool
        :param _DescribeAdminUsers: 默认不展示项目管理员信息
        :type DescribeAdminUsers: bool
        :param _DescribeMemberCount: 默认不统计项目人员数量
        :type DescribeMemberCount: bool
        :param _DescribeCreator: 默认不查询创建者的信息
        :type DescribeCreator: bool
        :param _ProjectName: 项目名只在租户内唯一，一般用来转化为项目ID。
        :type ProjectName: str
        """
        self._ProjectId = None
        self._DescribeClusters = None
        self._DescribeExecutors = None
        self._DescribeAdminUsers = None
        self._DescribeMemberCount = None
        self._DescribeCreator = None
        self._ProjectName = None

    @property
    def ProjectId(self):
        r"""项目id。一般使用项目Id来查询，与projectName必须存在一个。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DescribeClusters(self):
        r"""是否展示关联集群信息
        :rtype: bool
        """
        return self._DescribeClusters

    @DescribeClusters.setter
    def DescribeClusters(self, DescribeClusters):
        self._DescribeClusters = DescribeClusters

    @property
    def DescribeExecutors(self):
        r"""是否展示关联执行组的信息，仅部分信息。
        :rtype: bool
        """
        return self._DescribeExecutors

    @DescribeExecutors.setter
    def DescribeExecutors(self, DescribeExecutors):
        self._DescribeExecutors = DescribeExecutors

    @property
    def DescribeAdminUsers(self):
        r"""默认不展示项目管理员信息
        :rtype: bool
        """
        return self._DescribeAdminUsers

    @DescribeAdminUsers.setter
    def DescribeAdminUsers(self, DescribeAdminUsers):
        self._DescribeAdminUsers = DescribeAdminUsers

    @property
    def DescribeMemberCount(self):
        r"""默认不统计项目人员数量
        :rtype: bool
        """
        return self._DescribeMemberCount

    @DescribeMemberCount.setter
    def DescribeMemberCount(self, DescribeMemberCount):
        self._DescribeMemberCount = DescribeMemberCount

    @property
    def DescribeCreator(self):
        r"""默认不查询创建者的信息
        :rtype: bool
        """
        return self._DescribeCreator

    @DescribeCreator.setter
    def DescribeCreator(self, DescribeCreator):
        self._DescribeCreator = DescribeCreator

    @property
    def ProjectName(self):
        r"""项目名只在租户内唯一，一般用来转化为项目ID。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._DescribeClusters = params.get("DescribeClusters")
        self._DescribeExecutors = params.get("DescribeExecutors")
        self._DescribeAdminUsers = params.get("DescribeAdminUsers")
        self._DescribeMemberCount = params.get("DescribeMemberCount")
        self._DescribeCreator = params.get("DescribeCreator")
        self._ProjectName = params.get("ProjectName")
        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 DescribeProjectResponse(AbstractModel):
    r"""DescribeProject返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 项目信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.Project`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""项目信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Project`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = Project()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeProjectUsersRequest(AbstractModel):
    r"""DescribeProjectUsers请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 分页号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 【过滤参数】自定义条件查询
        :type Filters: list of FilterOptional
        :param _OrderFields: 【排序参数】排序字段
        :type OrderFields: list of OrderFieldOptional
        :param _IsProjectAdmin: 是否项目管理员
        :type IsProjectAdmin: bool
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._IsProjectAdmin = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""分页号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""【过滤参数】自定义条件查询
        :rtype: list of FilterOptional
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""【排序参数】排序字段
        :rtype: list of OrderFieldOptional
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def IsProjectAdmin(self):
        r"""是否项目管理员
        :rtype: bool
        """
        return self._IsProjectAdmin

    @IsProjectAdmin.setter
    def IsProjectAdmin(self, IsProjectAdmin):
        self._IsProjectAdmin = IsProjectAdmin


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = FilterOptional()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderFieldOptional()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._IsProjectAdmin = params.get("IsProjectAdmin")
        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 DescribeProjectUsersResponse(AbstractModel):
    r"""DescribeProjectUsers返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 项目列表
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ProjectUsersPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""项目列表
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectUsersPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = ProjectUsersPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeQualityScoreRequest(AbstractModel):
    r"""DescribeQualityScore请求参数结构体

    """

    def __init__(self):
        r"""
        :param _StatisticsDate: 统计日期
        :type StatisticsDate: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DatasourceId: 数据来源id
        :type DatasourceId: str
        :param _ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :type ScoreType: str
        :param _Filters: 过滤参数
        :type Filters: list of Filter
        """
        self._StatisticsDate = None
        self._ProjectId = None
        self._DatasourceId = None
        self._ScoreType = None
        self._Filters = None

    @property
    def StatisticsDate(self):
        r"""统计日期
        :rtype: int
        """
        return self._StatisticsDate

    @StatisticsDate.setter
    def StatisticsDate(self, StatisticsDate):
        self._StatisticsDate = StatisticsDate

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据来源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ScoreType(self):
        r"""1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :rtype: str
        """
        return self._ScoreType

    @ScoreType.setter
    def ScoreType(self, ScoreType):
        self._ScoreType = ScoreType

    @property
    def Filters(self):
        r"""过滤参数
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._StatisticsDate = params.get("StatisticsDate")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._ScoreType = params.get("ScoreType")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeQualityScoreResponse(AbstractModel):
    r"""DescribeQualityScore返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 质量评分
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.QualityScore`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""质量评分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.QualityScore`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = QualityScore()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeQualityScoreTrendRequest(AbstractModel):
    r"""DescribeQualityScoreTrend请求参数结构体

    """

    def __init__(self):
        r"""
        :param _StatisticsStartDate: 统计开始日期
        :type StatisticsStartDate: int
        :param _StatisticsEndDate: 统计结束日期
        :type StatisticsEndDate: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DatasourceId: 数据来源id
        :type DatasourceId: str
        :param _ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :type ScoreType: str
        :param _Filters: 过滤参数
        :type Filters: list of Filter
        """
        self._StatisticsStartDate = None
        self._StatisticsEndDate = None
        self._ProjectId = None
        self._DatasourceId = None
        self._ScoreType = None
        self._Filters = None

    @property
    def StatisticsStartDate(self):
        r"""统计开始日期
        :rtype: int
        """
        return self._StatisticsStartDate

    @StatisticsStartDate.setter
    def StatisticsStartDate(self, StatisticsStartDate):
        self._StatisticsStartDate = StatisticsStartDate

    @property
    def StatisticsEndDate(self):
        r"""统计结束日期
        :rtype: int
        """
        return self._StatisticsEndDate

    @StatisticsEndDate.setter
    def StatisticsEndDate(self, StatisticsEndDate):
        self._StatisticsEndDate = StatisticsEndDate

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据来源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ScoreType(self):
        r"""1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :rtype: str
        """
        return self._ScoreType

    @ScoreType.setter
    def ScoreType(self, ScoreType):
        self._ScoreType = ScoreType

    @property
    def Filters(self):
        r"""过滤参数
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._StatisticsStartDate = params.get("StatisticsStartDate")
        self._StatisticsEndDate = params.get("StatisticsEndDate")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._ScoreType = params.get("ScoreType")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeQualityScoreTrendResponse(AbstractModel):
    r"""DescribeQualityScoreTrend返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 质量评分趋势视图
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.QualityScoreTrend`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""质量评分趋势视图
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.QualityScoreTrend`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = QualityScoreTrend()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRealTimeTaskInstanceNodeInfoRequest(AbstractModel):
    r"""DescribeRealTimeTaskInstanceNodeInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 实时任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""实时任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeRealTimeTaskInstanceNodeInfoResponse(AbstractModel):
    r"""DescribeRealTimeTaskInstanceNodeInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RealTimeTaskInstanceNodeInfo: 实时任务实例节点相关信息
注意：此字段可能返回 null，表示取不到有效值。
        :type RealTimeTaskInstanceNodeInfo: :class:`tencentcloud.wedata.v20210820.models.RealTimeTaskInstanceNodeInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RealTimeTaskInstanceNodeInfo = None
        self._RequestId = None

    @property
    def RealTimeTaskInstanceNodeInfo(self):
        r"""实时任务实例节点相关信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RealTimeTaskInstanceNodeInfo`
        """
        return self._RealTimeTaskInstanceNodeInfo

    @RealTimeTaskInstanceNodeInfo.setter
    def RealTimeTaskInstanceNodeInfo(self, RealTimeTaskInstanceNodeInfo):
        self._RealTimeTaskInstanceNodeInfo = RealTimeTaskInstanceNodeInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("RealTimeTaskInstanceNodeInfo") is not None:
            self._RealTimeTaskInstanceNodeInfo = RealTimeTaskInstanceNodeInfo()
            self._RealTimeTaskInstanceNodeInfo._deserialize(params.get("RealTimeTaskInstanceNodeInfo"))
        self._RequestId = params.get("RequestId")


class DescribeRealTimeTaskMetricOverviewRequest(AbstractModel):
    r"""DescribeRealTimeTaskMetricOverview请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 要查看的实时任务的任务ID，可在任务列表页面中获得
        :type TaskId: str
        :param _ProjectId: 要查看的项目ID
        :type ProjectId: str
        :param _StartTime: 开始时间
        :type StartTime: int
        :param _EndTime: 结束时间
        :type EndTime: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._StartTime = None
        self._EndTime = None

    @property
    def TaskId(self):
        r"""要查看的实时任务的任务ID，可在任务列表页面中获得
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""要查看的项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: int
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: int
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 DescribeRealTimeTaskMetricOverviewResponse(AbstractModel):
    r"""DescribeRealTimeTaskMetricOverview返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TotalRecordNumOfRead: 总读取记录数
        :type TotalRecordNumOfRead: int
        :param _TotalRecordByteNumOfRead: 总读取字节数
        :type TotalRecordByteNumOfRead: int
        :param _TotalRecordNumOfWrite: 总写入记录数
        :type TotalRecordNumOfWrite: int
        :param _TotalRecordByteNumOfWrite: 总写入字节数 单位字节
        :type TotalRecordByteNumOfWrite: int
        :param _TotalDirtyRecordNum: 总的脏记录数据
        :type TotalDirtyRecordNum: int
        :param _TotalDirtyRecordByte: 总的脏字节数 单位字节
        :type TotalDirtyRecordByte: int
        :param _TotalDuration: 运行时长 单位s
        :type TotalDuration: int
        :param _BeginRunTime: 开始运行时间
        :type BeginRunTime: str
        :param _EndRunTime: 目前运行到的时间
        :type EndRunTime: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TotalRecordNumOfRead = None
        self._TotalRecordByteNumOfRead = None
        self._TotalRecordNumOfWrite = None
        self._TotalRecordByteNumOfWrite = None
        self._TotalDirtyRecordNum = None
        self._TotalDirtyRecordByte = None
        self._TotalDuration = None
        self._BeginRunTime = None
        self._EndRunTime = None
        self._RequestId = None

    @property
    def TotalRecordNumOfRead(self):
        r"""总读取记录数
        :rtype: int
        """
        return self._TotalRecordNumOfRead

    @TotalRecordNumOfRead.setter
    def TotalRecordNumOfRead(self, TotalRecordNumOfRead):
        self._TotalRecordNumOfRead = TotalRecordNumOfRead

    @property
    def TotalRecordByteNumOfRead(self):
        r"""总读取字节数
        :rtype: int
        """
        return self._TotalRecordByteNumOfRead

    @TotalRecordByteNumOfRead.setter
    def TotalRecordByteNumOfRead(self, TotalRecordByteNumOfRead):
        self._TotalRecordByteNumOfRead = TotalRecordByteNumOfRead

    @property
    def TotalRecordNumOfWrite(self):
        r"""总写入记录数
        :rtype: int
        """
        return self._TotalRecordNumOfWrite

    @TotalRecordNumOfWrite.setter
    def TotalRecordNumOfWrite(self, TotalRecordNumOfWrite):
        self._TotalRecordNumOfWrite = TotalRecordNumOfWrite

    @property
    def TotalRecordByteNumOfWrite(self):
        r"""总写入字节数 单位字节
        :rtype: int
        """
        return self._TotalRecordByteNumOfWrite

    @TotalRecordByteNumOfWrite.setter
    def TotalRecordByteNumOfWrite(self, TotalRecordByteNumOfWrite):
        self._TotalRecordByteNumOfWrite = TotalRecordByteNumOfWrite

    @property
    def TotalDirtyRecordNum(self):
        r"""总的脏记录数据
        :rtype: int
        """
        return self._TotalDirtyRecordNum

    @TotalDirtyRecordNum.setter
    def TotalDirtyRecordNum(self, TotalDirtyRecordNum):
        self._TotalDirtyRecordNum = TotalDirtyRecordNum

    @property
    def TotalDirtyRecordByte(self):
        r"""总的脏字节数 单位字节
        :rtype: int
        """
        return self._TotalDirtyRecordByte

    @TotalDirtyRecordByte.setter
    def TotalDirtyRecordByte(self, TotalDirtyRecordByte):
        self._TotalDirtyRecordByte = TotalDirtyRecordByte

    @property
    def TotalDuration(self):
        r"""运行时长 单位s
        :rtype: int
        """
        return self._TotalDuration

    @TotalDuration.setter
    def TotalDuration(self, TotalDuration):
        self._TotalDuration = TotalDuration

    @property
    def BeginRunTime(self):
        r"""开始运行时间
        :rtype: str
        """
        return self._BeginRunTime

    @BeginRunTime.setter
    def BeginRunTime(self, BeginRunTime):
        self._BeginRunTime = BeginRunTime

    @property
    def EndRunTime(self):
        r"""目前运行到的时间
        :rtype: str
        """
        return self._EndRunTime

    @EndRunTime.setter
    def EndRunTime(self, EndRunTime):
        self._EndRunTime = EndRunTime

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._TotalRecordNumOfRead = params.get("TotalRecordNumOfRead")
        self._TotalRecordByteNumOfRead = params.get("TotalRecordByteNumOfRead")
        self._TotalRecordNumOfWrite = params.get("TotalRecordNumOfWrite")
        self._TotalRecordByteNumOfWrite = params.get("TotalRecordByteNumOfWrite")
        self._TotalDirtyRecordNum = params.get("TotalDirtyRecordNum")
        self._TotalDirtyRecordByte = params.get("TotalDirtyRecordByte")
        self._TotalDuration = params.get("TotalDuration")
        self._BeginRunTime = params.get("BeginRunTime")
        self._EndRunTime = params.get("EndRunTime")
        self._RequestId = params.get("RequestId")


class DescribeRealTimeTaskSpeedRequest(AbstractModel):
    r"""DescribeRealTimeTaskSpeed请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _StartTime: 带毫秒的时间戳
        :type StartTime: int
        :param _EndTime: 带毫秒的时间戳
        :type EndTime: int
        :param _Granularity: 粒度，1或者5
        :type Granularity: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._StartTime = None
        self._EndTime = None
        self._Granularity = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def StartTime(self):
        r"""带毫秒的时间戳
        :rtype: int
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""带毫秒的时间戳
        :rtype: int
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def Granularity(self):
        r"""粒度，1或者5
        :rtype: int
        """
        return self._Granularity

    @Granularity.setter
    def Granularity(self, Granularity):
        self._Granularity = Granularity

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._Granularity = params.get("Granularity")
        self._ProjectId = params.get("ProjectId")
        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 DescribeRealTimeTaskSpeedResponse(AbstractModel):
    r"""DescribeRealTimeTaskSpeed返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RecordsSpeedList: 同步速度条/s列表
        :type RecordsSpeedList: list of RecordsSpeed
        :param _BytesSpeedList: 同步速度字节/s列表
        :type BytesSpeedList: list of BytesSpeed
        :param _Data: 同步速度，包括了RecordsSpeedList和BytesSpeedList
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RealTimeTaskSpeed`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RecordsSpeedList = None
        self._BytesSpeedList = None
        self._Data = None
        self._RequestId = None

    @property
    def RecordsSpeedList(self):
        r"""同步速度条/s列表
        :rtype: list of RecordsSpeed
        """
        return self._RecordsSpeedList

    @RecordsSpeedList.setter
    def RecordsSpeedList(self, RecordsSpeedList):
        self._RecordsSpeedList = RecordsSpeedList

    @property
    def BytesSpeedList(self):
        r"""同步速度字节/s列表
        :rtype: list of BytesSpeed
        """
        return self._BytesSpeedList

    @BytesSpeedList.setter
    def BytesSpeedList(self, BytesSpeedList):
        self._BytesSpeedList = BytesSpeedList

    @property
    def Data(self):
        r"""同步速度，包括了RecordsSpeedList和BytesSpeedList
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RealTimeTaskSpeed`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("RecordsSpeedList") is not None:
            self._RecordsSpeedList = []
            for item in params.get("RecordsSpeedList"):
                obj = RecordsSpeed()
                obj._deserialize(item)
                self._RecordsSpeedList.append(obj)
        if params.get("BytesSpeedList") is not None:
            self._BytesSpeedList = []
            for item in params.get("BytesSpeedList"):
                obj = BytesSpeed()
                obj._deserialize(item)
                self._BytesSpeedList.append(obj)
        if params.get("Data") is not None:
            self._Data = RealTimeTaskSpeed()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRealViewDatabasePageRequest(AbstractModel):
    r"""DescribeRealViewDatabasePage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源ID
        :type DatasourceId: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Asc: 排序字段类型：ASC/DESC
        :type Asc: bool
        :param _ConnectionType: 指定数据源链接方式，如hive jdbc或者metastore client
        :type ConnectionType: str
        :param _Keyword: Keyword过滤
        :type Keyword: str
        :param _PageNumber: 【分页参数】页码
        :type PageNumber: int
        :param _PageSize: 【分页参数】分页大小
        :type PageSize: int
        :param _ResourceGroupId: 资源组ID
        :type ResourceGroupId: str
        :param _ResourceType: 资源组类型
        :type ResourceType: int
        :param _Sort: Sort
        :type Sort: str
        :param _CatalogName: catalog名称
        :type CatalogName: str
        """
        self._DatasourceId = None
        self._ProjectId = None
        self._Asc = None
        self._ConnectionType = None
        self._Keyword = None
        self._PageNumber = None
        self._PageSize = None
        self._ResourceGroupId = None
        self._ResourceType = None
        self._Sort = None
        self._CatalogName = None

    @property
    def DatasourceId(self):
        r"""数据源ID
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Asc(self):
        r"""排序字段类型：ASC/DESC
        :rtype: bool
        """
        return self._Asc

    @Asc.setter
    def Asc(self, Asc):
        self._Asc = Asc

    @property
    def ConnectionType(self):
        r"""指定数据源链接方式，如hive jdbc或者metastore client
        :rtype: str
        """
        return self._ConnectionType

    @ConnectionType.setter
    def ConnectionType(self, ConnectionType):
        self._ConnectionType = ConnectionType

    @property
    def Keyword(self):
        r"""Keyword过滤
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def PageNumber(self):
        r"""【分页参数】页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""【分页参数】分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ResourceGroupId(self):
        r"""资源组ID
        :rtype: str
        """
        return self._ResourceGroupId

    @ResourceGroupId.setter
    def ResourceGroupId(self, ResourceGroupId):
        self._ResourceGroupId = ResourceGroupId

    @property
    def ResourceType(self):
        r"""资源组类型
        :rtype: int
        """
        return self._ResourceType

    @ResourceType.setter
    def ResourceType(self, ResourceType):
        self._ResourceType = ResourceType

    @property
    def Sort(self):
        r"""Sort
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def CatalogName(self):
        r"""catalog名称
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._ProjectId = params.get("ProjectId")
        self._Asc = params.get("Asc")
        self._ConnectionType = params.get("ConnectionType")
        self._Keyword = params.get("Keyword")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ResourceGroupId = params.get("ResourceGroupId")
        self._ResourceType = params.get("ResourceType")
        self._Sort = params.get("Sort")
        self._CatalogName = params.get("CatalogName")
        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 DescribeRealViewDatabasePageResponse(AbstractModel):
    r"""DescribeRealViewDatabasePage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 离线获取数据库列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DatabaseRealViewVOPageVO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""离线获取数据库列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DatabaseRealViewVOPageVO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DatabaseRealViewVOPageVO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRealViewSchemaPageRequest(AbstractModel):
    r"""DescribeRealViewSchemaPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _DatabaseName: 数据库名称
        :type DatabaseName: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _DataSourceType: 数据type
        :type DataSourceType: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Env: 环境信息
        :type Env: str
        :param _Model: 项目model
        :type Model: str
        :param _DevDatasourceId: dev的数据源Id
        :type DevDatasourceId: str
        :param _Keyword: 过滤字段
        :type Keyword: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._DatabaseName = None
        self._DatasourceId = None
        self._DataSourceType = None
        self._ProjectId = None
        self._Env = None
        self._Model = None
        self._DevDatasourceId = None
        self._Keyword = None

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def DatabaseName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DataSourceType(self):
        r"""数据type
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Env(self):
        r"""环境信息
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env

    @property
    def Model(self):
        r"""项目model
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def DevDatasourceId(self):
        r"""dev的数据源Id
        :rtype: str
        """
        return self._DevDatasourceId

    @DevDatasourceId.setter
    def DevDatasourceId(self, DevDatasourceId):
        self._DevDatasourceId = DevDatasourceId

    @property
    def Keyword(self):
        r"""过滤字段
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._DatabaseName = params.get("DatabaseName")
        self._DatasourceId = params.get("DatasourceId")
        self._DataSourceType = params.get("DataSourceType")
        self._ProjectId = params.get("ProjectId")
        self._Env = params.get("Env")
        self._Model = params.get("Model")
        self._DevDatasourceId = params.get("DevDatasourceId")
        self._Keyword = params.get("Keyword")
        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 DescribeRealViewSchemaPageResponse(AbstractModel):
    r"""DescribeRealViewSchemaPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Items: 数据库schema信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of DatabaseSchemaIInfo
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _TotalCount: 总记录数
        :type TotalCount: int
        :param _TotalPage: 总页数
        :type TotalPage: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Items = None
        self._PageNumber = None
        self._PageSize = None
        self._TotalCount = None
        self._TotalPage = None
        self._RequestId = None

    @property
    def Items(self):
        r"""数据库schema信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DatabaseSchemaIInfo
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalCount(self):
        r"""总记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""总页数
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def RequestId(self):
        r"""唯一请求 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 = DatabaseSchemaIInfo()
                obj._deserialize(item)
                self._Items.append(obj)
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._RequestId = params.get("RequestId")


class DescribeRelatedTasksByTaskIdRequest(AbstractModel):
    r"""DescribeRelatedTasksByTaskId请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务Id
        :type TaskId: str
        :param _PageNumber: 当前页码，从1开始
        :type PageNumber: int
        :param _PageSize: 单页大小，最大200
        :type PageSize: int
        :param _DependencyDirection: 查询直接依赖方向，如UP表示上游、DOWN表示下游
        :type DependencyDirection: str
        :param _Environment: 查询开发环境还是生产环境版本，DEV表示开发环境、PROD表示生产环境
        :type Environment: str
        :param _TaskName: 任务名称，模糊搜索
        :type TaskName: str
        :param _CycleTypeList: 任务调度周期,I：分支；H：小时；D：天；W：周；M：月；Y：年；O：一次性。
        :type CycleTypeList: list of str
        :param _StatusList: 任务状态，N：新建； Y：调度中； O：已暂停；F：已下线；INVALID：已失效
        :type StatusList: list of str
        :param _OwnerNameList: 任务责任人名
        :type OwnerNameList: list of str
        """
        self._ProjectId = None
        self._TaskId = None
        self._PageNumber = None
        self._PageSize = None
        self._DependencyDirection = None
        self._Environment = None
        self._TaskName = None
        self._CycleTypeList = None
        self._StatusList = None
        self._OwnerNameList = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def PageNumber(self):
        r"""当前页码，从1开始
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""单页大小，最大200
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def DependencyDirection(self):
        r"""查询直接依赖方向，如UP表示上游、DOWN表示下游
        :rtype: str
        """
        return self._DependencyDirection

    @DependencyDirection.setter
    def DependencyDirection(self, DependencyDirection):
        self._DependencyDirection = DependencyDirection

    @property
    def Environment(self):
        r"""查询开发环境还是生产环境版本，DEV表示开发环境、PROD表示生产环境
        :rtype: str
        """
        return self._Environment

    @Environment.setter
    def Environment(self, Environment):
        self._Environment = Environment

    @property
    def TaskName(self):
        r"""任务名称，模糊搜索
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CycleTypeList(self):
        r"""任务调度周期,I：分支；H：小时；D：天；W：周；M：月；Y：年；O：一次性。
        :rtype: list of str
        """
        return self._CycleTypeList

    @CycleTypeList.setter
    def CycleTypeList(self, CycleTypeList):
        self._CycleTypeList = CycleTypeList

    @property
    def StatusList(self):
        r"""任务状态，N：新建； Y：调度中； O：已暂停；F：已下线；INVALID：已失效
        :rtype: list of str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def OwnerNameList(self):
        r"""任务责任人名
        :rtype: list of str
        """
        return self._OwnerNameList

    @OwnerNameList.setter
    def OwnerNameList(self, OwnerNameList):
        self._OwnerNameList = OwnerNameList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._DependencyDirection = params.get("DependencyDirection")
        self._Environment = params.get("Environment")
        self._TaskName = params.get("TaskName")
        self._CycleTypeList = params.get("CycleTypeList")
        self._StatusList = params.get("StatusList")
        self._OwnerNameList = params.get("OwnerNameList")
        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 DescribeRelatedTasksByTaskIdResp(AbstractModel):
    r"""查询任务绑定的事件的响应

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 单页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RelatedTaskList: 任务直接关联的上下游任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type RelatedTaskList: list of RelatedTask
        """
        self._PageNumber = None
        self._PageSize = None
        self._TotalCount = None
        self._RelatedTaskList = None

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""单页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RelatedTaskList(self):
        r"""任务直接关联的上下游任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RelatedTask
        """
        return self._RelatedTaskList

    @RelatedTaskList.setter
    def RelatedTaskList(self, RelatedTaskList):
        self._RelatedTaskList = RelatedTaskList


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TotalCount = params.get("TotalCount")
        if params.get("RelatedTaskList") is not None:
            self._RelatedTaskList = []
            for item in params.get("RelatedTaskList"):
                obj = RelatedTask()
                obj._deserialize(item)
                self._RelatedTaskList.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 DescribeRelatedTasksByTaskIdResponse(AbstractModel):
    r"""DescribeRelatedTasksByTaskId返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 查询到的直接上下游任务列表结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeRelatedTasksByTaskIdResp`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""查询到的直接上下游任务列表结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeRelatedTasksByTaskIdResp`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeRelatedTasksByTaskIdResp()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeReportTaskDetailRequest(AbstractModel):
    r"""DescribeReportTaskDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _EngineTaskId: 引擎任务id
        :type EngineTaskId: str
        """
        self._EngineTaskId = None

    @property
    def EngineTaskId(self):
        r"""引擎任务id
        :rtype: str
        """
        return self._EngineTaskId

    @EngineTaskId.setter
    def EngineTaskId(self, EngineTaskId):
        self._EngineTaskId = EngineTaskId


    def _deserialize(self, params):
        self._EngineTaskId = params.get("EngineTaskId")
        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 DescribeReportTaskDetailResponse(AbstractModel):
    r"""DescribeReportTaskDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ReportTaskDetail`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ReportTaskDetail`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = ReportTaskDetail()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeReportTaskListRequest(AbstractModel):
    r"""DescribeReportTaskList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNum: 页码
        :type PageNum: int
        :param _PageSize: 每页条数
        :type PageSize: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskId: 任务id
        :type TaskId: str
        :param _InstanceId: 实例id
        :type InstanceId: str
        :param _JobId: 作业id
        :type JobId: str
        :param _EngineTaskId: 引擎任务id
        :type EngineTaskId: str
        :param _ProductSource: 数据来源,DATA_INTEGRATION、DATA_EXPLORATION、DATA_QUALITY、OM_CENTER等
        :type ProductSource: str
        :param _OnwerUid: 主账号
        :type OnwerUid: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        """
        self._PageNum = None
        self._PageSize = None
        self._ProjectId = None
        self._TaskId = None
        self._InstanceId = None
        self._JobId = None
        self._EngineTaskId = None
        self._ProductSource = None
        self._OnwerUid = None
        self._StartTime = None
        self._EndTime = None

    @property
    def PageNum(self):
        r"""页码
        :rtype: int
        """
        return self._PageNum

    @PageNum.setter
    def PageNum(self, PageNum):
        self._PageNum = PageNum

    @property
    def PageSize(self):
        r"""每页条数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def InstanceId(self):
        r"""实例id
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def JobId(self):
        r"""作业id
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def EngineTaskId(self):
        r"""引擎任务id
        :rtype: str
        """
        return self._EngineTaskId

    @EngineTaskId.setter
    def EngineTaskId(self, EngineTaskId):
        self._EngineTaskId = EngineTaskId

    @property
    def ProductSource(self):
        r"""数据来源,DATA_INTEGRATION、DATA_EXPLORATION、DATA_QUALITY、OM_CENTER等
        :rtype: str
        """
        return self._ProductSource

    @ProductSource.setter
    def ProductSource(self, ProductSource):
        self._ProductSource = ProductSource

    @property
    def OnwerUid(self):
        r"""主账号
        :rtype: str
        """
        return self._OnwerUid

    @OnwerUid.setter
    def OnwerUid(self, OnwerUid):
        self._OnwerUid = OnwerUid

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._PageNum = params.get("PageNum")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._InstanceId = params.get("InstanceId")
        self._JobId = params.get("JobId")
        self._EngineTaskId = params.get("EngineTaskId")
        self._ProductSource = params.get("ProductSource")
        self._OnwerUid = params.get("OnwerUid")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 DescribeReportTaskListResponse(AbstractModel):
    r"""DescribeReportTaskList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务列表信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ReportTaskListInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务列表信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ReportTaskListInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = ReportTaskListInfo()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeResourceManagePathTreesRequest(AbstractModel):
    r"""DescribeResourceManagePathTrees请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Name: 名字，供搜索
        :type Name: str
        :param _FileType: 文件类型
        :type FileType: str
        :param _FilePath: 文件路径
        :type FilePath: str
        :param _DirType: 文件夹类型
personal 个人
project 项目
resource 资源
        :type DirType: str
        """
        self._ProjectId = None
        self._Name = None
        self._FileType = None
        self._FilePath = None
        self._DirType = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Name(self):
        r"""名字，供搜索
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def FileType(self):
        r"""文件类型
        :rtype: str
        """
        return self._FileType

    @FileType.setter
    def FileType(self, FileType):
        self._FileType = FileType

    @property
    def FilePath(self):
        r"""文件路径
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath

    @property
    def DirType(self):
        r"""文件夹类型
personal 个人
project 项目
resource 资源
        :rtype: str
        """
        return self._DirType

    @DirType.setter
    def DirType(self, DirType):
        self._DirType = DirType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Name = params.get("Name")
        self._FileType = params.get("FileType")
        self._FilePath = params.get("FilePath")
        self._DirType = params.get("DirType")
        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 DescribeResourceManagePathTreesResponse(AbstractModel):
    r"""DescribeResourceManagePathTrees返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of ResourcePathTree
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ResourcePathTree
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ResourcePathTree()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeRoleListRequest(AbstractModel):
    r"""DescribeRoleList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ShowAllRoles: 返回所有角色。
        :type ShowAllRoles: bool
        :param _IncludeRoleTypes: 需要返回的角色类型(system,tenant,project)
        :type IncludeRoleTypes: list of str
        :param _DescribeMemberCount: 返回角色绑定人员统计，仅私有化版本支持
        :type DescribeMemberCount: bool
        :param _DescribeOperator: 返回操作者信息，私有化多租户版本
        :type DescribeOperator: bool
        :param _DescribeSystemRoleOnly: 系统角色
        :type DescribeSystemRoleOnly: bool
        :param _DescribeCustomRoleOnly: 自定义角色
        :type DescribeCustomRoleOnly: bool
        :param _DescribePrivileges: 查看权限
        :type DescribePrivileges: bool
        :param _RoleIds: 筛选角色id
        :type RoleIds: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 分页信息
        :type PageSize: int
        :param _Filters: 查询字段
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderFields
        """
        self._ShowAllRoles = None
        self._IncludeRoleTypes = None
        self._DescribeMemberCount = None
        self._DescribeOperator = None
        self._DescribeSystemRoleOnly = None
        self._DescribeCustomRoleOnly = None
        self._DescribePrivileges = None
        self._RoleIds = None
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None

    @property
    def ShowAllRoles(self):
        r"""返回所有角色。
        :rtype: bool
        """
        return self._ShowAllRoles

    @ShowAllRoles.setter
    def ShowAllRoles(self, ShowAllRoles):
        self._ShowAllRoles = ShowAllRoles

    @property
    def IncludeRoleTypes(self):
        r"""需要返回的角色类型(system,tenant,project)
        :rtype: list of str
        """
        return self._IncludeRoleTypes

    @IncludeRoleTypes.setter
    def IncludeRoleTypes(self, IncludeRoleTypes):
        self._IncludeRoleTypes = IncludeRoleTypes

    @property
    def DescribeMemberCount(self):
        r"""返回角色绑定人员统计，仅私有化版本支持
        :rtype: bool
        """
        return self._DescribeMemberCount

    @DescribeMemberCount.setter
    def DescribeMemberCount(self, DescribeMemberCount):
        self._DescribeMemberCount = DescribeMemberCount

    @property
    def DescribeOperator(self):
        r"""返回操作者信息，私有化多租户版本
        :rtype: bool
        """
        return self._DescribeOperator

    @DescribeOperator.setter
    def DescribeOperator(self, DescribeOperator):
        self._DescribeOperator = DescribeOperator

    @property
    def DescribeSystemRoleOnly(self):
        r"""系统角色
        :rtype: bool
        """
        return self._DescribeSystemRoleOnly

    @DescribeSystemRoleOnly.setter
    def DescribeSystemRoleOnly(self, DescribeSystemRoleOnly):
        self._DescribeSystemRoleOnly = DescribeSystemRoleOnly

    @property
    def DescribeCustomRoleOnly(self):
        r"""自定义角色
        :rtype: bool
        """
        return self._DescribeCustomRoleOnly

    @DescribeCustomRoleOnly.setter
    def DescribeCustomRoleOnly(self, DescribeCustomRoleOnly):
        self._DescribeCustomRoleOnly = DescribeCustomRoleOnly

    @property
    def DescribePrivileges(self):
        r"""查看权限
        :rtype: bool
        """
        return self._DescribePrivileges

    @DescribePrivileges.setter
    def DescribePrivileges(self, DescribePrivileges):
        self._DescribePrivileges = DescribePrivileges

    @property
    def RoleIds(self):
        r"""筛选角色id
        :rtype: list of str
        """
        return self._RoleIds

    @RoleIds.setter
    def RoleIds(self, RoleIds):
        self._RoleIds = RoleIds

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页信息
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""查询字段
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderFields
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._ShowAllRoles = params.get("ShowAllRoles")
        self._IncludeRoleTypes = params.get("IncludeRoleTypes")
        self._DescribeMemberCount = params.get("DescribeMemberCount")
        self._DescribeOperator = params.get("DescribeOperator")
        self._DescribeSystemRoleOnly = params.get("DescribeSystemRoleOnly")
        self._DescribeCustomRoleOnly = params.get("DescribeCustomRoleOnly")
        self._DescribePrivileges = params.get("DescribePrivileges")
        self._RoleIds = params.get("RoleIds")
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderFields()
                obj._deserialize(item)
                self._OrderFields.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 DescribeRoleListResponse(AbstractModel):
    r"""DescribeRoleList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 角色列表
        :type Data: :class:`tencentcloud.wedata.v20210820.models.PageRoles`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""角色列表
        :rtype: :class:`tencentcloud.wedata.v20210820.models.PageRoles`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = PageRoles()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleDimStatRequest(AbstractModel):
    r"""DescribeRuleDimStat请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _BeginDate: 开始时间，时间戳到秒
        :type BeginDate: str
        :param _EndDate: 结束时间，时间戳到秒
        :type EndDate: str
        """
        self._ProjectId = None
        self._BeginDate = None
        self._EndDate = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BeginDate(self):
        r"""开始时间，时间戳到秒
        :rtype: str
        """
        return self._BeginDate

    @BeginDate.setter
    def BeginDate(self, BeginDate):
        self._BeginDate = BeginDate

    @property
    def EndDate(self):
        r"""结束时间，时间戳到秒
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._BeginDate = params.get("BeginDate")
        self._EndDate = params.get("EndDate")
        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 DescribeRuleDimStatResponse(AbstractModel):
    r"""DescribeRuleDimStat返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleDimStat`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleDimStat`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleDimStat()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleExecDetailRequest(AbstractModel):
    r"""DescribeRuleExecDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RuleExecId: 规则执行id
        :type RuleExecId: int
        """
        self._ProjectId = None
        self._RuleExecId = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleExecId(self):
        r"""规则执行id
        :rtype: int
        """
        return self._RuleExecId

    @RuleExecId.setter
    def RuleExecId(self, RuleExecId):
        self._RuleExecId = RuleExecId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._RuleExecId = params.get("RuleExecId")
        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 DescribeRuleExecDetailResponse(AbstractModel):
    r"""DescribeRuleExecDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则执行结果详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleExecResultDetail`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则执行结果详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecResultDetail`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleExecResultDetail()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleExecLogRequest(AbstractModel):
    r"""DescribeRuleExecLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleExecId: 规则执行Id
        :type RuleExecId: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RuleGroupExecId: 规则组执行id
        :type RuleGroupExecId: int
        """
        self._RuleExecId = None
        self._ProjectId = None
        self._RuleGroupExecId = None

    @property
    def RuleExecId(self):
        r"""规则执行Id
        :rtype: int
        """
        return self._RuleExecId

    @RuleExecId.setter
    def RuleExecId(self, RuleExecId):
        self._RuleExecId = RuleExecId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleGroupExecId(self):
        r"""规则组执行id
        :rtype: int
        """
        return self._RuleGroupExecId

    @RuleGroupExecId.setter
    def RuleGroupExecId(self, RuleGroupExecId):
        self._RuleGroupExecId = RuleGroupExecId


    def _deserialize(self, params):
        self._RuleExecId = params.get("RuleExecId")
        self._ProjectId = params.get("ProjectId")
        self._RuleGroupExecId = params.get("RuleGroupExecId")
        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 DescribeRuleExecLogResponse(AbstractModel):
    r"""DescribeRuleExecLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则执行日志
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleExecLog`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则执行日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecLog`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleExecLog()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleExecResultsRequest(AbstractModel):
    r"""DescribeRuleExecResults请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupExecId: 规则组执行Id
        :type RuleGroupExecId: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Filters: 过滤条件	
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        """
        self._RuleGroupExecId = None
        self._ProjectId = None
        self._Filters = None
        self._OrderFields = None

    @property
    def RuleGroupExecId(self):
        r"""规则组执行Id
        :rtype: int
        """
        return self._RuleGroupExecId

    @RuleGroupExecId.setter
    def RuleGroupExecId(self, RuleGroupExecId):
        self._RuleGroupExecId = RuleGroupExecId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Filters(self):
        r"""过滤条件	
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._RuleGroupExecId = params.get("RuleGroupExecId")
        self._ProjectId = params.get("ProjectId")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.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 DescribeRuleExecResultsResponse(AbstractModel):
    r"""DescribeRuleExecResults返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则执行结果列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleExecResultPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则执行结果列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecResultPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleExecResultPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleExecStatRequest(AbstractModel):
    r"""DescribeRuleExecStat请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _BeginDate: 开始时间，时间戳到秒
        :type BeginDate: str
        :param _EndDate: 结束时间，时间戳到秒
        :type EndDate: str
        """
        self._ProjectId = None
        self._BeginDate = None
        self._EndDate = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BeginDate(self):
        r"""开始时间，时间戳到秒
        :rtype: str
        """
        return self._BeginDate

    @BeginDate.setter
    def BeginDate(self, BeginDate):
        self._BeginDate = BeginDate

    @property
    def EndDate(self):
        r"""结束时间，时间戳到秒
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._BeginDate = params.get("BeginDate")
        self._EndDate = params.get("EndDate")
        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 DescribeRuleExecStatResponse(AbstractModel):
    r"""DescribeRuleExecStat返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleExecStat`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecStat`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleExecStat()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleGroupExecResultsByPageRequest(AbstractModel):
    r"""DescribeRuleGroupExecResultsByPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页序号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤条件
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._ProjectId = None

    @property
    def PageNumber(self):
        r"""分页序号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 DescribeRuleGroupExecResultsByPageResponse(AbstractModel):
    r"""DescribeRuleGroupExecResultsByPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组执行结果列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecResultPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组执行结果列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecResultPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupExecResultPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleGroupRequest(AbstractModel):
    r"""DescribeRuleGroup请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _DatasourceId: 数据来源ID
        :type DatasourceId: str
        :param _TableId: 数据表Id
        :type TableId: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _DatabaseId: 数据库ID
        :type DatabaseId: str
        """
        self._RuleGroupId = None
        self._DatasourceId = None
        self._TableId = None
        self._ProjectId = None
        self._DatabaseId = None

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def DatasourceId(self):
        r"""数据来源ID
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def TableId(self):
        r"""数据表Id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatabaseId(self):
        r"""数据库ID
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._DatasourceId = params.get("DatasourceId")
        self._TableId = params.get("TableId")
        self._ProjectId = params.get("ProjectId")
        self._DatabaseId = params.get("DatabaseId")
        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 DescribeRuleGroupResponse(AbstractModel):
    r"""DescribeRuleGroup返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数据质量规则组详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroup`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数据质量规则组详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroup`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroup()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleGroupSubscriptionRequest(AbstractModel):
    r"""DescribeRuleGroupSubscription请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._RuleGroupId = None
        self._ProjectId = None

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeRuleGroupSubscriptionResponse(AbstractModel):
    r"""DescribeRuleGroupSubscription返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组订阅信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组订阅信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupSubscribe()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleGroupTableRequest(AbstractModel):
    r"""DescribeRuleGroupTable请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        """
        self._TableId = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        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 DescribeRuleGroupTableResponse(AbstractModel):
    r"""DescribeRuleGroupTable返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupTable`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupTable`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupTable()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleGroupsByPageRequest(AbstractModel):
    r"""DescribeRuleGroupsByPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页序号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤条件,每次请求的Filters的上限为10，Filter.Values的上限为5
        :type Filters: list of Filter
        :param _OrderFields: 排序方式
        :type OrderFields: list of OrderField
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._ProjectId = None

    @property
    def PageNumber(self):
        r"""分页序号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件,每次请求的Filters的上限为10，Filter.Values的上限为5
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序方式
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 DescribeRuleGroupsByPageResponse(AbstractModel):
    r"""DescribeRuleGroupsByPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleGroupPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleGroupPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleRequest(AbstractModel):
    r"""DescribeRule请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleId: 质量规则ID
        :type RuleId: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._RuleId = None
        self._ProjectId = None

    @property
    def RuleId(self):
        r"""质量规则ID
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._RuleId = params.get("RuleId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeRuleResponse(AbstractModel):
    r"""DescribeRule返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.Rule`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Rule`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = Rule()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleTemplateRequest(AbstractModel):
    r"""DescribeRuleTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TemplateId: 规则模板Id
        :type TemplateId: int
        """
        self._ProjectId = None
        self._TemplateId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TemplateId(self):
        r"""规则模板Id
        :rtype: int
        """
        return self._TemplateId

    @TemplateId.setter
    def TemplateId(self, TemplateId):
        self._TemplateId = TemplateId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TemplateId = params.get("TemplateId")
        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 DescribeRuleTemplateResponse(AbstractModel):
    r"""DescribeRuleTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 模板详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleTemplate`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""模板详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleTemplate`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleTemplate()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleTemplatesByPageRequest(AbstractModel):
    r"""DescribeRuleTemplatesByPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 当前页
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _ProjectId: 工作空间ID
        :type ProjectId: str
        :param _OrderFields: 通用排序字段
        :type OrderFields: list of OrderField
        :param _Filters: 通用过滤条件
        :type Filters: list of Filter
        """
        self._PageNumber = None
        self._PageSize = None
        self._ProjectId = None
        self._OrderFields = None
        self._Filters = None

    @property
    def PageNumber(self):
        r"""当前页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""工作空间ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def OrderFields(self):
        r"""通用排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def Filters(self):
        r"""通用过滤条件
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeRuleTemplatesByPageResponse(AbstractModel):
    r"""DescribeRuleTemplatesByPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RuleTemplatePage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleTemplatePage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RuleTemplatePage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRuleTemplatesRequest(AbstractModel):
    r"""DescribeRuleTemplates请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Type: 模板类型 1.系统模板 2.自定义模板
        :type Type: int
        :param _SourceObjectType: 1.常量 2.离线表级 2.离线字段级
        :type SourceObjectType: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _SourceEngineTypes: 源端对应的引擎类型
        :type SourceEngineTypes: list of int non-negative
        """
        self._Type = None
        self._SourceObjectType = None
        self._ProjectId = None
        self._SourceEngineTypes = None

    @property
    def Type(self):
        r"""模板类型 1.系统模板 2.自定义模板
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def SourceObjectType(self):
        r"""1.常量 2.离线表级 2.离线字段级
        :rtype: int
        """
        return self._SourceObjectType

    @SourceObjectType.setter
    def SourceObjectType(self, SourceObjectType):
        self._SourceObjectType = SourceObjectType

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def SourceEngineTypes(self):
        r"""源端对应的引擎类型
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._SourceObjectType = params.get("SourceObjectType")
        self._ProjectId = params.get("ProjectId")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        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 DescribeRuleTemplatesResponse(AbstractModel):
    r"""DescribeRuleTemplates返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则模板列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of RuleTemplate
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则模板列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleTemplate
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = RuleTemplate()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeRulesByPageRequest(AbstractModel):
    r"""DescribeRulesByPage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页序号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤条件
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._ProjectId = None

    @property
    def PageNumber(self):
        r"""分页序号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 DescribeRulesByPageResponse(AbstractModel):
    r"""DescribeRulesByPage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则质量列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.RulePage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则质量列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RulePage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = RulePage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeRulesRequest(AbstractModel):
    r"""DescribeRules请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RuleGroupId: 规则组id
        :type RuleGroupId: int
        :param _EngineType: 该规则运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :type EngineType: str
        """
        self._ProjectId = None
        self._RuleGroupId = None
        self._EngineType = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleGroupId(self):
        r"""规则组id
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def EngineType(self):
        r"""该规则运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._EngineType = params.get("EngineType")
        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 DescribeRulesResponse(AbstractModel):
    r"""DescribeRules返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of Rule
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Rule
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = Rule()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeScheduleInstancesRequest(AbstractModel):
    r"""DescribeScheduleInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _Instances: 【已废弃参数，新用户接入无需关注】
实例列表过滤条件
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 【已废弃参数，新用户接入无需关注】
检查父任务类型,  true: 检查父任务类型;  false: 不检查父任务类型
        :type CheckFather: bool
        :param _RerunType: 【已废弃参数，新用户接入无需关注】
重跑类型, 1: 仅重跑当前实例; 2: 重跑当前实例及其子实例; 3: 仅重跑子实例
        :type RerunType: str
        :param _DependentWay: 【已废弃参数，新用户接入无需关注】
实例依赖方式, 1: 任务自依赖; 2: 任务上游依赖; 3: 自依赖及其上游依赖 
        :type DependentWay: str
        :param _SkipEventListening: 【已废弃参数，新用户接入无需关注】
重跑时是否忽略事件监听
        :type SkipEventListening: bool
        :param _SonInstanceType: 【已废弃参数，新用户接入无需关注】
下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _SearchCondition: 查询条件
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _OptType: 【已废弃参数，新用户接入无需关注】
访问类型
        :type OptType: str
        :param _OperatorName: 【已废弃参数，新用户接入无需关注】
操作者名称
        :type OperatorName: str
        :param _OperatorId: 【已废弃参数，新用户接入无需关注】
操作者id
        :type OperatorId: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _ProjectIdent: 【必要参数】
项目ID
        :type ProjectIdent: str
        :param _ProjectName: 【已废弃参数，新用户接入无需关注】
项目名称
        :type ProjectName: str
        :param _PageIndex: 【必要参数】
分页查询开始页页码，默认值为 1
        :type PageIndex: int
        :param _PageSize: 【必要参数】
分页查询每页返回的结果行数，默认值为 10
        :type PageSize: int
        :param _Count: 【已废弃参数，新用户接入无需关注】
数据总数
        :type Count: int
        :param _RequestBaseInfo: 【已废弃参数，新用户接入无需关注】
基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 【已废弃参数，新用户接入无需关注】
是否计算总数
        :type IsCount: bool
        :param _ProjectIds: 【已废弃参数，新用户接入无需关注】
项目ID列表，用于多项目实例列表筛选，请注意，该字段传入时 ProjectId 字段也必须传，且传入的 ProjectIds 中的项目ID必须是当前用户有权限的项目ID，否则会由于权限校验失败报错
        :type ProjectIds: list of str
        """
        self._RequestFromSource = None
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._SearchCondition = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None
        self._ProjectIds = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Instances(self):
        r"""【已废弃参数，新用户接入无需关注】
实例列表过滤条件
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""【已废弃参数，新用户接入无需关注】
检查父任务类型,  true: 检查父任务类型;  false: 不检查父任务类型
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""【已废弃参数，新用户接入无需关注】
重跑类型, 1: 仅重跑当前实例; 2: 重跑当前实例及其子实例; 3: 仅重跑子实例
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""【已废弃参数，新用户接入无需关注】
实例依赖方式, 1: 任务自依赖; 2: 任务上游依赖; 3: 自依赖及其上游依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""【已废弃参数，新用户接入无需关注】
重跑时是否忽略事件监听
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""【已废弃参数，新用户接入无需关注】
下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def SearchCondition(self):
        r"""查询条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def OptType(self):
        r"""【已废弃参数，新用户接入无需关注】
访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""【已废弃参数，新用户接入无需关注】
操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""【已废弃参数，新用户接入无需关注】
操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""【必要参数】
项目ID
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""【已废弃参数，新用户接入无需关注】
项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""【必要参数】
分页查询开始页页码，默认值为 1
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""【必要参数】
分页查询每页返回的结果行数，默认值为 10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""【已废弃参数，新用户接入无需关注】
数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""【已废弃参数，新用户接入无需关注】
基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""【已废弃参数，新用户接入无需关注】
是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount

    @property
    def ProjectIds(self):
        r"""【已废弃参数，新用户接入无需关注】
项目ID列表，用于多项目实例列表筛选，请注意，该字段传入时 ProjectId 字段也必须传，且传入的 ProjectIds 中的项目ID必须是当前用户有权限的项目ID，否则会由于权限校验失败报错
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        self._ProjectIds = params.get("ProjectIds")
        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 DescribeScheduleInstancesResponse(AbstractModel):
    r"""DescribeScheduleInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestFromSource: str
        :param _Data: 实例结果集
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CollectionInstanceOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestFromSource = None
        self._Data = None
        self._RequestId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Data(self):
        r"""实例结果集
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CollectionInstanceOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Data") is not None:
            self._Data = CollectionInstanceOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeSchedulerInstanceStatusRequest(AbstractModel):
    r"""DescribeSchedulerInstanceStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskTypeId: 任务类型ID
        :type TaskTypeId: str
        :param _ExecutionGroupId: 执行资源组ID
        :type ExecutionGroupId: str
        :param _ExecutionGroupName: 执行资源组名字
        :type ExecutionGroupName: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _InCharge: 责任人
        :type InCharge: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ProjectIds: 任务ID列表
        :type ProjectIds: list of str
        """
        self._ProjectId = None
        self._TaskTypeId = None
        self._ExecutionGroupId = None
        self._ExecutionGroupName = None
        self._StartTime = None
        self._EndTime = None
        self._InCharge = None
        self._WorkflowId = None
        self._ProjectIds = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskTypeId(self):
        r"""任务类型ID
        :rtype: str
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def ExecutionGroupId(self):
        r"""执行资源组ID
        :rtype: str
        """
        return self._ExecutionGroupId

    @ExecutionGroupId.setter
    def ExecutionGroupId(self, ExecutionGroupId):
        self._ExecutionGroupId = ExecutionGroupId

    @property
    def ExecutionGroupName(self):
        r"""执行资源组名字
        :rtype: str
        """
        return self._ExecutionGroupName

    @ExecutionGroupName.setter
    def ExecutionGroupName(self, ExecutionGroupName):
        self._ExecutionGroupName = ExecutionGroupName

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def InCharge(self):
        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectIds(self):
        r"""任务ID列表
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskTypeId = params.get("TaskTypeId")
        self._ExecutionGroupId = params.get("ExecutionGroupId")
        self._ExecutionGroupName = params.get("ExecutionGroupName")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._InCharge = params.get("InCharge")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectIds = params.get("ProjectIds")
        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 DescribeSchedulerInstanceStatusResponse(AbstractModel):
    r"""DescribeSchedulerInstanceStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of ScreenInstanceInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ScreenInstanceInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ScreenInstanceInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeSchedulerRunTimeInstanceCntByStatusRequest(AbstractModel):
    r"""DescribeSchedulerRunTimeInstanceCntByStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _CycleUnit: 周期类型
        :type CycleUnit: str
        :param _TimeUnit: 时间单元 eg: 12h
        :type TimeUnit: str
        :param _StartTime: 开始日期：2023-03-02
        :type StartTime: str
        :param _EndTime: 结束日前：2023-03-20
        :type EndTime: str
        :param _TaskType: 任务类型
        :type TaskType: int
        :param _InCharge: 责任人
        :type InCharge: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _SortItem: 排序字段
        :type SortItem: str
        :param _SortType: 升序降序
        :type SortType: str
        :param _ProjectIds: 项目ID列表，如果传了 ProjectIds，则 ProjectId 不会生效，用于多项目筛选
        :type ProjectIds: list of str
        """
        self._ProjectId = None
        self._CycleUnit = None
        self._TimeUnit = None
        self._StartTime = None
        self._EndTime = None
        self._TaskType = None
        self._InCharge = None
        self._WorkflowId = None
        self._SortItem = None
        self._SortType = None
        self._ProjectIds = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CycleUnit(self):
        r"""周期类型
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def TimeUnit(self):
        r"""时间单元 eg: 12h
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def StartTime(self):
        r"""开始日期：2023-03-02
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束日前：2023-03-20
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskType(self):
        r"""任务类型
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def InCharge(self):
        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def SortItem(self):
        r"""排序字段
        :rtype: str
        """
        return self._SortItem

    @SortItem.setter
    def SortItem(self, SortItem):
        self._SortItem = SortItem

    @property
    def SortType(self):
        r"""升序降序
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def ProjectIds(self):
        r"""项目ID列表，如果传了 ProjectIds，则 ProjectId 不会生效，用于多项目筛选
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CycleUnit = params.get("CycleUnit")
        self._TimeUnit = params.get("TimeUnit")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskType = params.get("TaskType")
        self._InCharge = params.get("InCharge")
        self._WorkflowId = params.get("WorkflowId")
        self._SortItem = params.get("SortItem")
        self._SortType = params.get("SortType")
        self._ProjectIds = params.get("ProjectIds")
        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 DescribeSchedulerRunTimeInstanceCntByStatusResponse(AbstractModel):
    r"""DescribeSchedulerRunTimeInstanceCntByStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of RuntimeInstanceCntTop
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuntimeInstanceCntTop
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = RuntimeInstanceCntTop()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeSchedulerTaskCntByStatusRequest(AbstractModel):
    r"""DescribeSchedulerTaskCntByStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskType: 1
        :type TaskType: int
        :param _TypeName: Y
        :type TypeName: str
        :param _ProjectId: 111
        :type ProjectId: str
        :param _InCharge: 1
        :type InCharge: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ProjectIds: 项目ID列表，如果传了 ProjectIds ，ProjectId 不会生效
        :type ProjectIds: list of str
        :param _ResourceGroupIds: 资源组ID筛选
        :type ResourceGroupIds: list of str
        """
        self._TaskType = None
        self._TypeName = None
        self._ProjectId = None
        self._InCharge = None
        self._WorkflowId = None
        self._ProjectIds = None
        self._ResourceGroupIds = None

    @property
    def TaskType(self):
        r"""1
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TypeName(self):
        r"""Y
        :rtype: str
        """
        return self._TypeName

    @TypeName.setter
    def TypeName(self, TypeName):
        self._TypeName = TypeName

    @property
    def ProjectId(self):
        r"""111
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InCharge(self):
        r"""1
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectIds(self):
        r"""项目ID列表，如果传了 ProjectIds ，ProjectId 不会生效
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds

    @property
    def ResourceGroupIds(self):
        r"""资源组ID筛选
        :rtype: list of str
        """
        return self._ResourceGroupIds

    @ResourceGroupIds.setter
    def ResourceGroupIds(self, ResourceGroupIds):
        self._ResourceGroupIds = ResourceGroupIds


    def _deserialize(self, params):
        self._TaskType = params.get("TaskType")
        self._TypeName = params.get("TypeName")
        self._ProjectId = params.get("ProjectId")
        self._InCharge = params.get("InCharge")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectIds = params.get("ProjectIds")
        self._ResourceGroupIds = params.get("ResourceGroupIds")
        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 DescribeSchedulerTaskCntByStatusResponse(AbstractModel):
    r"""DescribeSchedulerTaskCntByStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of ScreenTaskInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ScreenTaskInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ScreenTaskInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeSchedulerTaskTypeCntRequest(AbstractModel):
    r"""DescribeSchedulerTaskTypeCnt请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _InCharge: 责任人
        :type InCharge: str
        """
        self._ProjectId = None
        self._InCharge = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InCharge(self):
        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._InCharge = params.get("InCharge")
        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 DescribeSchedulerTaskTypeCntResponse(AbstractModel):
    r"""DescribeSchedulerTaskTypeCnt返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: data
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of TaskTypeCnt
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""data
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskTypeCnt
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskTypeCnt()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeStatisticInstanceStatusTrendOpsRequest(AbstractModel):
    r"""DescribeStatisticInstanceStatusTrendOps请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskTypeId: 任务类型Id
        :type TaskTypeId: str
        :param _TimeType: 时间类型
        :type TimeType: str
        :param _TypeName: 任务类型名称
        :type TypeName: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _ExecutionGroupId: 资源组ID
        :type ExecutionGroupId: str
        :param _ExecutionGroupName: 资源组名称
        :type ExecutionGroupName: str
        :param _InCharge: 1
        :type InCharge: str
        :param _TaskType: 1
        :type TaskType: int
        :param _StateList: 1
        :type StateList: list of int
        :param _AggregationUnit: D代表天，H代表小时
        :type AggregationUnit: str
        :param _AverageWindowSize: 1
        :type AverageWindowSize: int
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ProjectIds: 项目ID列表，用于多项目实例趋势筛选，当指定了 ProjectIds 的时候，ProjectId 将只用来鉴权，不做筛选
        :type ProjectIds: list of str
        :param _TimePoint: 指定时间点，当统计时常为整天的时候使用，必须小于 24
        :type TimePoint: int
        """
        self._ProjectId = None
        self._TaskTypeId = None
        self._TimeType = None
        self._TypeName = None
        self._StartTime = None
        self._EndTime = None
        self._ExecutionGroupId = None
        self._ExecutionGroupName = None
        self._InCharge = None
        self._TaskType = None
        self._StateList = None
        self._AggregationUnit = None
        self._AverageWindowSize = None
        self._WorkflowId = None
        self._ProjectIds = None
        self._TimePoint = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskTypeId(self):
        r"""任务类型Id
        :rtype: str
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def TimeType(self):
        r"""时间类型
        :rtype: str
        """
        return self._TimeType

    @TimeType.setter
    def TimeType(self, TimeType):
        self._TimeType = TimeType

    @property
    def TypeName(self):
        r"""任务类型名称
        :rtype: str
        """
        return self._TypeName

    @TypeName.setter
    def TypeName(self, TypeName):
        self._TypeName = TypeName

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ExecutionGroupId(self):
        r"""资源组ID
        :rtype: str
        """
        return self._ExecutionGroupId

    @ExecutionGroupId.setter
    def ExecutionGroupId(self, ExecutionGroupId):
        self._ExecutionGroupId = ExecutionGroupId

    @property
    def ExecutionGroupName(self):
        r"""资源组名称
        :rtype: str
        """
        return self._ExecutionGroupName

    @ExecutionGroupName.setter
    def ExecutionGroupName(self, ExecutionGroupName):
        self._ExecutionGroupName = ExecutionGroupName

    @property
    def InCharge(self):
        r"""1
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def TaskType(self):
        r"""1
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def StateList(self):
        r"""1
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList

    @property
    def AggregationUnit(self):
        r"""D代表天，H代表小时
        :rtype: str
        """
        return self._AggregationUnit

    @AggregationUnit.setter
    def AggregationUnit(self, AggregationUnit):
        self._AggregationUnit = AggregationUnit

    @property
    def AverageWindowSize(self):
        r"""1
        :rtype: int
        """
        return self._AverageWindowSize

    @AverageWindowSize.setter
    def AverageWindowSize(self, AverageWindowSize):
        self._AverageWindowSize = AverageWindowSize

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectIds(self):
        r"""项目ID列表，用于多项目实例趋势筛选，当指定了 ProjectIds 的时候，ProjectId 将只用来鉴权，不做筛选
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds

    @property
    def TimePoint(self):
        r"""指定时间点，当统计时常为整天的时候使用，必须小于 24
        :rtype: int
        """
        return self._TimePoint

    @TimePoint.setter
    def TimePoint(self, TimePoint):
        self._TimePoint = TimePoint


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskTypeId = params.get("TaskTypeId")
        self._TimeType = params.get("TimeType")
        self._TypeName = params.get("TypeName")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ExecutionGroupId = params.get("ExecutionGroupId")
        self._ExecutionGroupName = params.get("ExecutionGroupName")
        self._InCharge = params.get("InCharge")
        self._TaskType = params.get("TaskType")
        self._StateList = params.get("StateList")
        self._AggregationUnit = params.get("AggregationUnit")
        self._AverageWindowSize = params.get("AverageWindowSize")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectIds = params.get("ProjectIds")
        self._TimePoint = params.get("TimePoint")
        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 DescribeStatisticInstanceStatusTrendOpsResponse(AbstractModel):
    r"""DescribeStatisticInstanceStatusTrendOps返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 实例状态统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of InstanceStatisticInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""实例状态统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceStatisticInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = InstanceStatisticInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeStreamTaskLogListRequest(AbstractModel):
    r"""DescribeStreamTaskLogList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _JobId: 作业ID
        :type JobId: str
        :param _EndTime: 结束时间
        :type EndTime: int
        :param _StartTime: 开始时间
        :type StartTime: int
        :param _Container: container名字
        :type Container: str
        :param _Limit: 条数
        :type Limit: int
        :param _OrderType: 排序类型 desc asc
        :type OrderType: str
        :param _RunningOrderId: 作业运行的实例ID
        :type RunningOrderId: int
        :param _Keyword: 关键字
        :type Keyword: str
        """
        self._ProjectId = None
        self._TaskId = None
        self._JobId = None
        self._EndTime = None
        self._StartTime = None
        self._Container = None
        self._Limit = None
        self._OrderType = None
        self._RunningOrderId = None
        self._Keyword = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def JobId(self):
        r"""作业ID
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: int
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: int
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def Container(self):
        r"""container名字
        :rtype: str
        """
        return self._Container

    @Container.setter
    def Container(self, Container):
        self._Container = Container

    @property
    def Limit(self):
        r"""条数
        :rtype: int
        """
        return self._Limit

    @Limit.setter
    def Limit(self, Limit):
        self._Limit = Limit

    @property
    def OrderType(self):
        r"""排序类型 desc asc
        :rtype: str
        """
        return self._OrderType

    @OrderType.setter
    def OrderType(self, OrderType):
        self._OrderType = OrderType

    @property
    def RunningOrderId(self):
        r"""作业运行的实例ID
        :rtype: int
        """
        return self._RunningOrderId

    @RunningOrderId.setter
    def RunningOrderId(self, RunningOrderId):
        self._RunningOrderId = RunningOrderId

    @property
    def Keyword(self):
        r"""关键字
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._JobId = params.get("JobId")
        self._EndTime = params.get("EndTime")
        self._StartTime = params.get("StartTime")
        self._Container = params.get("Container")
        self._Limit = params.get("Limit")
        self._OrderType = params.get("OrderType")
        self._RunningOrderId = params.get("RunningOrderId")
        self._Keyword = params.get("Keyword")
        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 DescribeStreamTaskLogListResponse(AbstractModel):
    r"""DescribeStreamTaskLogList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ListOver: 是否是全量
注意：此字段可能返回 null，表示取不到有效值。
        :type ListOver: bool
        :param _LogContentList: 日志集合
注意：此字段可能返回 null，表示取不到有效值。
        :type LogContentList: list of LogContentInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ListOver = None
        self._LogContentList = None
        self._RequestId = None

    @property
    def ListOver(self):
        r"""是否是全量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ListOver

    @ListOver.setter
    def ListOver(self, ListOver):
        self._ListOver = ListOver

    @property
    def LogContentList(self):
        r"""日志集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LogContentInfo
        """
        return self._LogContentList

    @LogContentList.setter
    def LogContentList(self, LogContentList):
        self._LogContentList = LogContentList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._ListOver = params.get("ListOver")
        if params.get("LogContentList") is not None:
            self._LogContentList = []
            for item in params.get("LogContentList"):
                obj = LogContentInfo()
                obj._deserialize(item)
                self._LogContentList.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeSuccessorOpsTaskInfosRequest(AbstractModel):
    r"""DescribeSuccessorOpsTaskInfos请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeSuccessorOpsTaskInfosResponse(AbstractModel):
    r"""DescribeSuccessorOpsTaskInfos返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 下游任务列表
        :type Data: list of TaskOpsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""下游任务列表
        :rtype: list of TaskOpsDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskOpsDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeSuccessorTaskInfoListRequest(AbstractModel):
    r"""DescribeSuccessorTaskInfoList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 任务id集合
        :type TaskIds: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskIds = None
        self._ProjectId = None

    @property
    def TaskIds(self):
        r"""任务id集合
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._ProjectId = params.get("ProjectId")
        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 DescribeSuccessorTaskInfoListResponse(AbstractModel):
    r"""DescribeSuccessorTaskInfoList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 出参
        :type Data: list of SuccessorTaskInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""出参
        :rtype: list of SuccessorTaskInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = SuccessorTaskInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTableBasicInfoRequest(AbstractModel):
    r"""DescribeTableBasicInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤字段
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤字段
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.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 DescribeTableBasicInfoResponse(AbstractModel):
    r"""DescribeTableBasicInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableBasicInfoList: 表元数据
注意：此字段可能返回 null，表示取不到有效值。
        :type TableBasicInfoList: list of TableBasicInfo
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableBasicInfoList = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def TableBasicInfoList(self):
        r"""表元数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableBasicInfo
        """
        return self._TableBasicInfoList

    @TableBasicInfoList.setter
    def TableBasicInfoList(self, TableBasicInfoList):
        self._TableBasicInfoList = TableBasicInfoList

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableBasicInfoList") is not None:
            self._TableBasicInfoList = []
            for item in params.get("TableBasicInfoList"):
                obj = TableBasicInfo()
                obj._deserialize(item)
                self._TableBasicInfoList.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeTableContentPreviewRequest(AbstractModel):
    r"""DescribeTableContentPreview请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        :param _TechnologyType: 组件类型枚举值，支持的值有 HDFS/HBASE/HIVE/KAFKA
        :type TechnologyType: str
        :param _ClusterId: 集群id
        :type ClusterId: str
        :param _ResourceType: 资源类型枚举值，支持的值有TOPIC/PATH/TABLE/DATABASE
        :type ResourceType: str
        :param _TableName: 表名
        :type TableName: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RowNum: 预览的行数，默认10行
        :type RowNum: int
        :param _DatabaseName: 数据库名，kafka或其他无数据库概念的不填
        :type DatabaseName: str
        :param _TaskId: 异步查询预览结果时填写
        :type TaskId: str
        :param _PartitionName: 分区信息
        :type PartitionName: str
        """
        self._TableId = None
        self._TechnologyType = None
        self._ClusterId = None
        self._ResourceType = None
        self._TableName = None
        self._ProjectId = None
        self._RowNum = None
        self._DatabaseName = None
        self._TaskId = None
        self._PartitionName = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TechnologyType(self):
        r"""组件类型枚举值，支持的值有 HDFS/HBASE/HIVE/KAFKA
        :rtype: str
        """
        return self._TechnologyType

    @TechnologyType.setter
    def TechnologyType(self, TechnologyType):
        self._TechnologyType = TechnologyType

    @property
    def ClusterId(self):
        r"""集群id
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def ResourceType(self):
        r"""资源类型枚举值，支持的值有TOPIC/PATH/TABLE/DATABASE
        :rtype: str
        """
        return self._ResourceType

    @ResourceType.setter
    def ResourceType(self, ResourceType):
        self._ResourceType = ResourceType

    @property
    def TableName(self):
        r"""表名
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RowNum(self):
        r"""预览的行数，默认10行
        :rtype: int
        """
        return self._RowNum

    @RowNum.setter
    def RowNum(self, RowNum):
        self._RowNum = RowNum

    @property
    def DatabaseName(self):
        r"""数据库名，kafka或其他无数据库概念的不填
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TaskId(self):
        r"""异步查询预览结果时填写
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def PartitionName(self):
        r"""分区信息
        :rtype: str
        """
        return self._PartitionName

    @PartitionName.setter
    def PartitionName(self, PartitionName):
        self._PartitionName = PartitionName


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._TechnologyType = params.get("TechnologyType")
        self._ClusterId = params.get("ClusterId")
        self._ResourceType = params.get("ResourceType")
        self._TableName = params.get("TableName")
        self._ProjectId = params.get("ProjectId")
        self._RowNum = params.get("RowNum")
        self._DatabaseName = params.get("DatabaseName")
        self._TaskId = params.get("TaskId")
        self._PartitionName = params.get("PartitionName")
        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 DescribeTableContentPreviewResponse(AbstractModel):
    r"""DescribeTableContentPreview返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ColumnNames: 表的列名列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnNames: list of str
        :param _TableRecordSet: 表的行数据列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TableRecordSet: list of TableRecord
        :param _TaskId: 异步预览任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _AsyncState: 异步预览结果状态: 0 初始化， 1 执行中， 2 执行成功
注意：此字段可能返回 null，表示取不到有效值。
        :type AsyncState: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ColumnNames = None
        self._TableRecordSet = None
        self._TaskId = None
        self._AsyncState = None
        self._RequestId = None

    @property
    def ColumnNames(self):
        r"""表的列名列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._ColumnNames

    @ColumnNames.setter
    def ColumnNames(self, ColumnNames):
        self._ColumnNames = ColumnNames

    @property
    def TableRecordSet(self):
        r"""表的行数据列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableRecord
        """
        return self._TableRecordSet

    @TableRecordSet.setter
    def TableRecordSet(self, TableRecordSet):
        self._TableRecordSet = TableRecordSet

    @property
    def TaskId(self):
        r"""异步预览任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def AsyncState(self):
        r"""异步预览结果状态: 0 初始化， 1 执行中， 2 执行成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AsyncState

    @AsyncState.setter
    def AsyncState(self, AsyncState):
        self._AsyncState = AsyncState

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._ColumnNames = params.get("ColumnNames")
        if params.get("TableRecordSet") is not None:
            self._TableRecordSet = []
            for item in params.get("TableRecordSet"):
                obj = TableRecord()
                obj._deserialize(item)
                self._TableRecordSet.append(obj)
        self._TaskId = params.get("TaskId")
        self._AsyncState = params.get("AsyncState")
        self._RequestId = params.get("RequestId")


class DescribeTableDdlRequest(AbstractModel):
    r"""DescribeTableDdl请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        """
        self._TableId = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        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 DescribeTableDdlResponse(AbstractModel):
    r"""DescribeTableDdl返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Ddl: 表的DDL
        :type Ddl: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Ddl = None
        self._RequestId = None

    @property
    def Ddl(self):
        r"""表的DDL
        :rtype: str
        """
        return self._Ddl

    @Ddl.setter
    def Ddl(self, Ddl):
        self._Ddl = Ddl

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Ddl = params.get("Ddl")
        self._RequestId = params.get("RequestId")


class DescribeTableInfoListRequest(AbstractModel):
    r"""DescribeTableInfoList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Filters: 表名
        :type Filters: list of Filter
        :param _ConnectionType: 如果是hive这里写rpc，如果是其他类型不传
        :type ConnectionType: str
        :param _Catalog: 数据库源类型
        :type Catalog: str
        """
        self._Filters = None
        self._ConnectionType = None
        self._Catalog = None

    @property
    def Filters(self):
        r"""表名
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def ConnectionType(self):
        r"""如果是hive这里写rpc，如果是其他类型不传
        :rtype: str
        """
        return self._ConnectionType

    @ConnectionType.setter
    def ConnectionType(self, ConnectionType):
        self._ConnectionType = ConnectionType

    @property
    def Catalog(self):
        r"""数据库源类型
        :rtype: str
        """
        return self._Catalog

    @Catalog.setter
    def Catalog(self, Catalog):
        self._Catalog = Catalog


    def _deserialize(self, params):
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        self._ConnectionType = params.get("ConnectionType")
        self._Catalog = params.get("Catalog")
        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 DescribeTableInfoListResponse(AbstractModel):
    r"""DescribeTableInfoList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableInfo: 表信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableInfo: list of TableInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableInfo = None
        self._RequestId = None

    @property
    def TableInfo(self):
        r"""表信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableInfo
        """
        return self._TableInfo

    @TableInfo.setter
    def TableInfo(self, TableInfo):
        self._TableInfo = TableInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableInfo") is not None:
            self._TableInfo = []
            for item in params.get("TableInfo"):
                obj = TableInfo()
                obj._deserialize(item)
                self._TableInfo.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTableLineageInfoRequest(AbstractModel):
    r"""DescribeTableLineageInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Direction: 查询方向，INPUT,OUTPUT,BOTH枚举值
        :type Direction: str
        :param _Data: 表信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        :param _InputDepth: 单次查询入度,默认 1
        :type InputDepth: int
        :param _OutputDepth: 单次查询出度,默认 1
        :type OutputDepth: int
        :param _ExtParams: 额外参数（传递调用方信息）
        :type ExtParams: list of LineageParamRecord
        :param _IgnoreTemp: 是否过滤临时表,默认true
        :type IgnoreTemp: bool
        :param _RecursiveSecond: 是否递归查询二级节点数目，默认为true
        :type RecursiveSecond: bool
        """
        self._Direction = None
        self._Data = None
        self._InputDepth = None
        self._OutputDepth = None
        self._ExtParams = None
        self._IgnoreTemp = None
        self._RecursiveSecond = None

    @property
    def Direction(self):
        r"""查询方向，INPUT,OUTPUT,BOTH枚举值
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction

    @property
    def Data(self):
        r"""表信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InputDepth(self):
        r"""单次查询入度,默认 1
        :rtype: int
        """
        return self._InputDepth

    @InputDepth.setter
    def InputDepth(self, InputDepth):
        self._InputDepth = InputDepth

    @property
    def OutputDepth(self):
        r"""单次查询出度,默认 1
        :rtype: int
        """
        return self._OutputDepth

    @OutputDepth.setter
    def OutputDepth(self, OutputDepth):
        self._OutputDepth = OutputDepth

    @property
    def ExtParams(self):
        r"""额外参数（传递调用方信息）
        :rtype: list of LineageParamRecord
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def IgnoreTemp(self):
        r"""是否过滤临时表,默认true
        :rtype: bool
        """
        return self._IgnoreTemp

    @IgnoreTemp.setter
    def IgnoreTemp(self, IgnoreTemp):
        self._IgnoreTemp = IgnoreTemp

    @property
    def RecursiveSecond(self):
        r"""是否递归查询二级节点数目，默认为true
        :rtype: bool
        """
        return self._RecursiveSecond

    @RecursiveSecond.setter
    def RecursiveSecond(self, RecursiveSecond):
        self._RecursiveSecond = RecursiveSecond


    def _deserialize(self, params):
        self._Direction = params.get("Direction")
        if params.get("Data") is not None:
            self._Data = TableLineageInfo()
            self._Data._deserialize(params.get("Data"))
        self._InputDepth = params.get("InputDepth")
        self._OutputDepth = params.get("OutputDepth")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = LineageParamRecord()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._IgnoreTemp = params.get("IgnoreTemp")
        self._RecursiveSecond = params.get("RecursiveSecond")
        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 DescribeTableLineageInfoResponse(AbstractModel):
    r"""DescribeTableLineageInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableLineageBasicInfo: 表血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableLineageBasicInfo: :class:`tencentcloud.wedata.v20210820.models.TableLineageBaseInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableLineageBasicInfo = None
        self._RequestId = None

    @property
    def TableLineageBasicInfo(self):
        r"""表血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableLineageBaseInfo`
        """
        return self._TableLineageBasicInfo

    @TableLineageBasicInfo.setter
    def TableLineageBasicInfo(self, TableLineageBasicInfo):
        self._TableLineageBasicInfo = TableLineageBasicInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableLineageBasicInfo") is not None:
            self._TableLineageBasicInfo = TableLineageBaseInfo()
            self._TableLineageBasicInfo._deserialize(params.get("TableLineageBasicInfo"))
        self._RequestId = params.get("RequestId")


class DescribeTableLineageRequest(AbstractModel):
    r"""DescribeTableLineage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Direction: 查询方向枚举值

- INPUT
- OUTPUT
- BOTH
        :type Direction: str
        :param _Data: 表信息
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        :param _InputDepth: 单次查询入度,默认 1
        :type InputDepth: int
        :param _OutputDepth: 单次查询出度,默认 1
        :type OutputDepth: int
        :param _ExtParams: 额外参数（传递调用方信息）
        :type ExtParams: list of LineageParamRecord
        :param _IgnoreTemp: 是否过滤临时表,默认true
        :type IgnoreTemp: bool
        :param _RecursiveSecond: 是否递归查询二级节点数目，默认为true
        :type RecursiveSecond: bool
        """
        self._Direction = None
        self._Data = None
        self._InputDepth = None
        self._OutputDepth = None
        self._ExtParams = None
        self._IgnoreTemp = None
        self._RecursiveSecond = None

    @property
    def Direction(self):
        r"""查询方向枚举值

- INPUT
- OUTPUT
- BOTH
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction

    @property
    def Data(self):
        r"""表信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def InputDepth(self):
        r"""单次查询入度,默认 1
        :rtype: int
        """
        return self._InputDepth

    @InputDepth.setter
    def InputDepth(self, InputDepth):
        self._InputDepth = InputDepth

    @property
    def OutputDepth(self):
        r"""单次查询出度,默认 1
        :rtype: int
        """
        return self._OutputDepth

    @OutputDepth.setter
    def OutputDepth(self, OutputDepth):
        self._OutputDepth = OutputDepth

    @property
    def ExtParams(self):
        r"""额外参数（传递调用方信息）
        :rtype: list of LineageParamRecord
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def IgnoreTemp(self):
        r"""是否过滤临时表,默认true
        :rtype: bool
        """
        return self._IgnoreTemp

    @IgnoreTemp.setter
    def IgnoreTemp(self, IgnoreTemp):
        self._IgnoreTemp = IgnoreTemp

    @property
    def RecursiveSecond(self):
        r"""是否递归查询二级节点数目，默认为true
        :rtype: bool
        """
        return self._RecursiveSecond

    @RecursiveSecond.setter
    def RecursiveSecond(self, RecursiveSecond):
        self._RecursiveSecond = RecursiveSecond


    def _deserialize(self, params):
        self._Direction = params.get("Direction")
        if params.get("Data") is not None:
            self._Data = TableLineageInfo()
            self._Data._deserialize(params.get("Data"))
        self._InputDepth = params.get("InputDepth")
        self._OutputDepth = params.get("OutputDepth")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = LineageParamRecord()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._IgnoreTemp = params.get("IgnoreTemp")
        self._RecursiveSecond = params.get("RecursiveSecond")
        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 DescribeTableLineageResponse(AbstractModel):
    r"""DescribeTableLineage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableLineage: 表血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableLineage: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableLineage = None
        self._RequestId = None

    @property
    def TableLineage(self):
        r"""表血缘信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableLineageInfo`
        """
        return self._TableLineage

    @TableLineage.setter
    def TableLineage(self, TableLineage):
        self._TableLineage = TableLineage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableLineage") is not None:
            self._TableLineage = TableLineageInfo()
            self._TableLineage._deserialize(params.get("TableLineage"))
        self._RequestId = params.get("RequestId")


class DescribeTableMetaRequest(AbstractModel):
    r"""DescribeTableMeta请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表唯一id
        :type TableId: str
        :param _TableNameFilter: 按名称查询的条件
        :type TableNameFilter: :class:`tencentcloud.wedata.v20210820.models.TableNameFilter`
        :param _TableFilterType: 查询条件类型0按id，1按名称，默认为0
        :type TableFilterType: int
        :param _SearchNames: 查询字段列表
        :type SearchNames: list of str
        """
        self._TableId = None
        self._TableNameFilter = None
        self._TableFilterType = None
        self._SearchNames = None

    @property
    def TableId(self):
        r"""表唯一id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableNameFilter(self):
        r"""按名称查询的条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableNameFilter`
        """
        return self._TableNameFilter

    @TableNameFilter.setter
    def TableNameFilter(self, TableNameFilter):
        self._TableNameFilter = TableNameFilter

    @property
    def TableFilterType(self):
        r"""查询条件类型0按id，1按名称，默认为0
        :rtype: int
        """
        return self._TableFilterType

    @TableFilterType.setter
    def TableFilterType(self, TableFilterType):
        self._TableFilterType = TableFilterType

    @property
    def SearchNames(self):
        r"""查询字段列表
        :rtype: list of str
        """
        return self._SearchNames

    @SearchNames.setter
    def SearchNames(self, SearchNames):
        self._SearchNames = SearchNames


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        if params.get("TableNameFilter") is not None:
            self._TableNameFilter = TableNameFilter()
            self._TableNameFilter._deserialize(params.get("TableNameFilter"))
        self._TableFilterType = params.get("TableFilterType")
        self._SearchNames = params.get("SearchNames")
        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 DescribeTableMetaResponse(AbstractModel):
    r"""DescribeTableMeta返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableMeta: 表的元数据信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableMeta: :class:`tencentcloud.wedata.v20210820.models.TableMeta`
        :param _LifecycleInfo: 生命周期信息
注意：此字段可能返回 null，表示取不到有效值。
        :type LifecycleInfo: :class:`tencentcloud.wedata.v20210820.models.LifecycleInfo`
        :param _TagVoteSumList: 标签
注意：此字段可能返回 null，表示取不到有效值。
        :type TagVoteSumList: list of TagVoteSum
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableMeta = None
        self._LifecycleInfo = None
        self._TagVoteSumList = None
        self._RequestId = None

    @property
    def TableMeta(self):
        r"""表的元数据信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableMeta`
        """
        return self._TableMeta

    @TableMeta.setter
    def TableMeta(self, TableMeta):
        self._TableMeta = TableMeta

    @property
    def LifecycleInfo(self):
        r"""生命周期信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LifecycleInfo`
        """
        return self._LifecycleInfo

    @LifecycleInfo.setter
    def LifecycleInfo(self, LifecycleInfo):
        self._LifecycleInfo = LifecycleInfo

    @property
    def TagVoteSumList(self):
        r"""标签
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TagVoteSum
        """
        return self._TagVoteSumList

    @TagVoteSumList.setter
    def TagVoteSumList(self, TagVoteSumList):
        self._TagVoteSumList = TagVoteSumList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableMeta") is not None:
            self._TableMeta = TableMeta()
            self._TableMeta._deserialize(params.get("TableMeta"))
        if params.get("LifecycleInfo") is not None:
            self._LifecycleInfo = LifecycleInfo()
            self._LifecycleInfo._deserialize(params.get("LifecycleInfo"))
        if params.get("TagVoteSumList") is not None:
            self._TagVoteSumList = []
            for item in params.get("TagVoteSumList"):
                obj = TagVoteSum()
                obj._deserialize(item)
                self._TagVoteSumList.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTableMetasRequest(AbstractModel):
    r"""DescribeTableMetas请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤字段:
dbName-数据库名称
bizCatalogIds-资产目录ID
DataLayerUuid-数仓分层ID
ownerAccount-负责人ID
assetStatus-资产状态：1-已上架 0-未上架
assetLevel-资产等级：40-核心30-重要 20-一般 10-临时 
msTypes-数据源类型：例如TENCENT_MYSQL-腾讯云MySQL，数据源类型ID可参考
[
  {
    "DisplayName": "TCHouse-P",
    "Id": "TCHOUSE_P"
  },
  {
    "DisplayName": "Iceberg",
    "Id": "ICEBERG"
  },
  {
    "DisplayName": "Hive",
    "Id": "HIVE"
  },
  {
    "DisplayName": "HBase",
    "Id": "HBASE"
  },
  {
    "DisplayName": "DLC",
    "Id": "DLC"
  },
  {
    "DisplayName": "腾讯云MySQL",
    "Id": "TENCENT_MYSQL"
  },
  {
    "DisplayName": "TCHouse-D",
    "Id": "TCHOUSE_D"
  },
  {
    "DisplayName": "TCHouse-C",
    "Id": "TCHOUSE_C"
  },
  {
    "DisplayName": "EMR StarRocks",
    "Id": "EMR_STARROCKS"
  },
  {
    "DisplayName": "Doris",
    "Id": "DORIS"
  },
  {
    "DisplayName": "MySQL",
    "Id": "MYSQL"
  },
  {
    "DisplayName": "Oracle",
    "Id": "ORACLE"
  },
  {
    "DisplayName": "PostgreSQL",
    "Id": "POSTGRE"
  },
  {
    "DisplayName": "SQL Server",
    "Id": "SQLSERVER"
  },
  {
    "DisplayName": "TDSQL PostgreSQL",
    "Id": "TDSQL_POSTGRE"
  },
  {
    "DisplayName": "Greenplum",
    "Id": "GREENPLUM"
  },
  {
    "DisplayName": "StarRocks",
    "Id": "STARROCKS"
  },
  {
    "DisplayName": "ClickHouse",
    "Id": "CLICKHOUSE"
  },
  {
    "DisplayName": "INFLUXDB",
    "Id": "INFLUXDB"
  },
  {
    "DisplayName": "达梦DM",
    "Id": "DM"
  },
  {
    "DisplayName": "OceanBase",
    "Id": "OCEANBASE"
  },
  {
    "DisplayName": "TDSQL MySQL",
    "Id": "TDSQL_MYSQL"
  },
  {
    "DisplayName": "GaussDB",
    "Id": "GAUSSDB"
  }
]
projectIds-归属项目ID
keyword-关键字，支持表名/表中文名/数据库名
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        """
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤字段:
dbName-数据库名称
bizCatalogIds-资产目录ID
DataLayerUuid-数仓分层ID
ownerAccount-负责人ID
assetStatus-资产状态：1-已上架 0-未上架
assetLevel-资产等级：40-核心30-重要 20-一般 10-临时 
msTypes-数据源类型：例如TENCENT_MYSQL-腾讯云MySQL，数据源类型ID可参考
[
  {
    "DisplayName": "TCHouse-P",
    "Id": "TCHOUSE_P"
  },
  {
    "DisplayName": "Iceberg",
    "Id": "ICEBERG"
  },
  {
    "DisplayName": "Hive",
    "Id": "HIVE"
  },
  {
    "DisplayName": "HBase",
    "Id": "HBASE"
  },
  {
    "DisplayName": "DLC",
    "Id": "DLC"
  },
  {
    "DisplayName": "腾讯云MySQL",
    "Id": "TENCENT_MYSQL"
  },
  {
    "DisplayName": "TCHouse-D",
    "Id": "TCHOUSE_D"
  },
  {
    "DisplayName": "TCHouse-C",
    "Id": "TCHOUSE_C"
  },
  {
    "DisplayName": "EMR StarRocks",
    "Id": "EMR_STARROCKS"
  },
  {
    "DisplayName": "Doris",
    "Id": "DORIS"
  },
  {
    "DisplayName": "MySQL",
    "Id": "MYSQL"
  },
  {
    "DisplayName": "Oracle",
    "Id": "ORACLE"
  },
  {
    "DisplayName": "PostgreSQL",
    "Id": "POSTGRE"
  },
  {
    "DisplayName": "SQL Server",
    "Id": "SQLSERVER"
  },
  {
    "DisplayName": "TDSQL PostgreSQL",
    "Id": "TDSQL_POSTGRE"
  },
  {
    "DisplayName": "Greenplum",
    "Id": "GREENPLUM"
  },
  {
    "DisplayName": "StarRocks",
    "Id": "STARROCKS"
  },
  {
    "DisplayName": "ClickHouse",
    "Id": "CLICKHOUSE"
  },
  {
    "DisplayName": "INFLUXDB",
    "Id": "INFLUXDB"
  },
  {
    "DisplayName": "达梦DM",
    "Id": "DM"
  },
  {
    "DisplayName": "OceanBase",
    "Id": "OCEANBASE"
  },
  {
    "DisplayName": "TDSQL MySQL",
    "Id": "TDSQL_MYSQL"
  },
  {
    "DisplayName": "GaussDB",
    "Id": "GAUSSDB"
  }
]
projectIds-归属项目ID
keyword-关键字，支持表名/表中文名/数据库名
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.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 DescribeTableMetasResponse(AbstractModel):
    r"""DescribeTableMetas返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TableMetas: 表元数据
注意：此字段可能返回 null，表示取不到有效值。
        :type TableMetas: list of TableMeta
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TableMetas = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def TableMetas(self):
        r"""表元数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableMeta
        """
        return self._TableMetas

    @TableMetas.setter
    def TableMetas(self, TableMetas):
        self._TableMetas = TableMetas

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TableMetas") is not None:
            self._TableMetas = []
            for item in params.get("TableMetas"):
                obj = TableMeta()
                obj._deserialize(item)
                self._TableMetas.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeTablePartitionsRequest(AbstractModel):
    r"""DescribeTablePartitions请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        :param _PageNumber: 分页number
        :type PageNumber: int
        :param _PageSize: 分页size
        :type PageSize: int
        :param _FilterSet: 过滤器
        :type FilterSet: list of Filter
        :param _OrderFieldSet: 排序字段
        :type OrderFieldSet: list of OrderField
        """
        self._TableId = None
        self._PageNumber = None
        self._PageSize = None
        self._FilterSet = None
        self._OrderFieldSet = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def PageNumber(self):
        r"""分页number
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页size
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def FilterSet(self):
        r"""过滤器
        :rtype: list of Filter
        """
        return self._FilterSet

    @FilterSet.setter
    def FilterSet(self, FilterSet):
        self._FilterSet = FilterSet

    @property
    def OrderFieldSet(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFieldSet

    @OrderFieldSet.setter
    def OrderFieldSet(self, OrderFieldSet):
        self._OrderFieldSet = OrderFieldSet


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("FilterSet") is not None:
            self._FilterSet = []
            for item in params.get("FilterSet"):
                obj = Filter()
                obj._deserialize(item)
                self._FilterSet.append(obj)
        if params.get("OrderFieldSet") is not None:
            self._OrderFieldSet = []
            for item in params.get("OrderFieldSet"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFieldSet.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 DescribeTablePartitionsResponse(AbstractModel):
    r"""DescribeTablePartitions返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TablePartitionSet: 分区详情列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePartitionSet: list of TablePartition
        :param _TotalCount: 总记录数
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TablePartitionSet = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def TablePartitionSet(self):
        r"""分区详情列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TablePartition
        """
        return self._TablePartitionSet

    @TablePartitionSet.setter
    def TablePartitionSet(self, TablePartitionSet):
        self._TablePartitionSet = TablePartitionSet

    @property
    def TotalCount(self):
        r"""总记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TablePartitionSet") is not None:
            self._TablePartitionSet = []
            for item in params.get("TablePartitionSet"):
                obj = TablePartition()
                obj._deserialize(item)
                self._TablePartitionSet.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeTableQualityDetailsRequest(AbstractModel):
    r"""DescribeTableQualityDetails请求参数结构体

    """

    def __init__(self):
        r"""
        :param _StatisticsDate: 统计日期
        :type StatisticsDate: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 分页序号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _Filters: 过滤参数TableName、DatabaseId 、DatabaseName、OwnerUserName
        :type Filters: list of Filter
        :param _OrderFields: 排序参数 排序方式 DESC 或者 ASC，表得分排序 TableScore
        :type OrderFields: list of OrderField
        :param _DatasourceId: 数据来源id
        :type DatasourceId: str
        :param _ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :type ScoreType: str
        """
        self._StatisticsDate = None
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._DatasourceId = None
        self._ScoreType = None

    @property
    def StatisticsDate(self):
        r"""统计日期
        :rtype: int
        """
        return self._StatisticsDate

    @StatisticsDate.setter
    def StatisticsDate(self, StatisticsDate):
        self._StatisticsDate = StatisticsDate

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""分页序号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤参数TableName、DatabaseId 、DatabaseName、OwnerUserName
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序参数 排序方式 DESC 或者 ASC，表得分排序 TableScore
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def DatasourceId(self):
        r"""数据来源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ScoreType(self):
        r"""1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :rtype: str
        """
        return self._ScoreType

    @ScoreType.setter
    def ScoreType(self, ScoreType):
        self._ScoreType = ScoreType


    def _deserialize(self, params):
        self._StatisticsDate = params.get("StatisticsDate")
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._DatasourceId = params.get("DatasourceId")
        self._ScoreType = params.get("ScoreType")
        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 DescribeTableQualityDetailsResponse(AbstractModel):
    r"""DescribeTableQualityDetails返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 表质量分详情结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TableQualityDetailPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""表质量分详情结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableQualityDetailPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TableQualityDetailPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTableSchemaInfoRequest(AbstractModel):
    r"""DescribeTableSchemaInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Name: 表名称
        :type Name: str
        :param _DatabaseName: 数据库名称
        :type DatabaseName: str
        :param _MsType: 数据源的类型（例如MYSQL、HIVE、KAFKA等）
        :type MsType: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _ConnectionType: 连接类型（示例值rpc）
        :type ConnectionType: str
        :param _SchemaName: 元数据Database下的Schema名称
        :type SchemaName: str
        :param _ProjectId: 项目空间ID
        :type ProjectId: str
        :param _Env: 环境信息
        :type Env: str
        :param _Model: 空间模式
        :type Model: str
        :param _DevDatasourceId: 开发态的datasourceId
        :type DevDatasourceId: str
        """
        self._Name = None
        self._DatabaseName = None
        self._MsType = None
        self._DatasourceId = None
        self._ConnectionType = None
        self._SchemaName = None
        self._ProjectId = None
        self._Env = None
        self._Model = None
        self._DevDatasourceId = None

    @property
    def Name(self):
        r"""表名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def DatabaseName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def MsType(self):
        r"""数据源的类型（例如MYSQL、HIVE、KAFKA等）
        :rtype: str
        """
        return self._MsType

    @MsType.setter
    def MsType(self, MsType):
        self._MsType = MsType

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ConnectionType(self):
        r"""连接类型（示例值rpc）
        :rtype: str
        """
        return self._ConnectionType

    @ConnectionType.setter
    def ConnectionType(self, ConnectionType):
        self._ConnectionType = ConnectionType

    @property
    def SchemaName(self):
        r"""元数据Database下的Schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def ProjectId(self):
        r"""项目空间ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Env(self):
        r"""环境信息
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env

    @property
    def Model(self):
        r"""空间模式
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def DevDatasourceId(self):
        r"""开发态的datasourceId
        :rtype: str
        """
        return self._DevDatasourceId

    @DevDatasourceId.setter
    def DevDatasourceId(self, DevDatasourceId):
        self._DevDatasourceId = DevDatasourceId


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._DatabaseName = params.get("DatabaseName")
        self._MsType = params.get("MsType")
        self._DatasourceId = params.get("DatasourceId")
        self._ConnectionType = params.get("ConnectionType")
        self._SchemaName = params.get("SchemaName")
        self._ProjectId = params.get("ProjectId")
        self._Env = params.get("Env")
        self._Model = params.get("Model")
        self._DevDatasourceId = params.get("DevDatasourceId")
        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 DescribeTableSchemaInfoResponse(AbstractModel):
    r"""DescribeTableSchemaInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _SchemaInfoList: 查询到的SchemaInfo信息
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaInfoList: list of SchemaDetail
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._SchemaInfoList = None
        self._RequestId = None

    @property
    def SchemaInfoList(self):
        r"""查询到的SchemaInfo信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SchemaDetail
        """
        return self._SchemaInfoList

    @SchemaInfoList.setter
    def SchemaInfoList(self, SchemaInfoList):
        self._SchemaInfoList = SchemaInfoList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("SchemaInfoList") is not None:
            self._SchemaInfoList = []
            for item in params.get("SchemaInfoList"):
                obj = SchemaDetail()
                obj._deserialize(item)
                self._SchemaInfoList.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTableScoreTrendRequest(AbstractModel):
    r"""DescribeTableScoreTrend请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _StatisticsStartDate: 开始时间 秒级时间戳
        :type StatisticsStartDate: int
        :param _StatisticsEndDate: 结束时间 秒级时间戳
        :type StatisticsEndDate: int
        :param _TableId: 表id
        :type TableId: str
        :param _ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :type ScoreType: str
        """
        self._ProjectId = None
        self._StatisticsStartDate = None
        self._StatisticsEndDate = None
        self._TableId = None
        self._ScoreType = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def StatisticsStartDate(self):
        r"""开始时间 秒级时间戳
        :rtype: int
        """
        return self._StatisticsStartDate

    @StatisticsStartDate.setter
    def StatisticsStartDate(self, StatisticsStartDate):
        self._StatisticsStartDate = StatisticsStartDate

    @property
    def StatisticsEndDate(self):
        r"""结束时间 秒级时间戳
        :rtype: int
        """
        return self._StatisticsEndDate

    @StatisticsEndDate.setter
    def StatisticsEndDate(self, StatisticsEndDate):
        self._StatisticsEndDate = StatisticsEndDate

    @property
    def TableId(self):
        r"""表id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def ScoreType(self):
        r"""1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        :rtype: str
        """
        return self._ScoreType

    @ScoreType.setter
    def ScoreType(self, ScoreType):
        self._ScoreType = ScoreType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._StatisticsStartDate = params.get("StatisticsStartDate")
        self._StatisticsEndDate = params.get("StatisticsEndDate")
        self._TableId = params.get("TableId")
        self._ScoreType = params.get("ScoreType")
        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 DescribeTableScoreTrendResponse(AbstractModel):
    r"""DescribeTableScoreTrend返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 表得分趋势
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.QualityScoreTrend`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""表得分趋势
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.QualityScoreTrend`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = QualityScoreTrend()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTableSelectRequest(AbstractModel):
    r"""DescribeTableSelect请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        """
        self._TableId = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        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 DescribeTableSelectResponse(AbstractModel):
    r"""DescribeTableSelect返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Select: 表的select语句
注意：此字段可能返回 null，表示取不到有效值。
        :type Select: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Select = None
        self._RequestId = None

    @property
    def Select(self):
        r"""表的select语句
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Select

    @Select.setter
    def Select(self, Select):
        self._Select = Select

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Select = params.get("Select")
        self._RequestId = params.get("RequestId")


class DescribeTaskAlarmRegulationsRequest(AbstractModel):
    r"""DescribeTaskAlarmRegulations请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PageNumber: 当前页
        :type PageNumber: int
        :param _PageSize: 每页记录数
        :type PageSize: int
        :param _Filters: 过滤条件(name有RegularStatus、AlarmLevel、AlarmIndicator、RegularName)
        :type Filters: list of Filter
        :param _OrderFields: 排序条件(RegularId)
        :type OrderFields: list of OrderField
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _TaskType: 任务类型(201代表实时任务，202代表离线任务)
        :type TaskType: int
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._Filters = None
        self._OrderFields = None
        self._TaskId = None
        self._TaskType = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""当前页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页记录数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Filters(self):
        r"""过滤条件(name有RegularStatus、AlarmLevel、AlarmIndicator、RegularName)
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序条件(RegularId)
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskType(self):
        r"""任务类型(201代表实时任务，202代表离线任务)
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._TaskId = params.get("TaskId")
        self._TaskType = params.get("TaskType")
        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 DescribeTaskAlarmRegulationsResponse(AbstractModel):
    r"""DescribeTaskAlarmRegulations返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskAlarmInfos: 告警规则信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAlarmInfos: list of TaskAlarmInfo
        :param _TotalCount: 总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskAlarmInfos = None
        self._TotalCount = None
        self._RequestId = None

    @property
    def TaskAlarmInfos(self):
        r"""告警规则信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskAlarmInfo
        """
        return self._TaskAlarmInfos

    @TaskAlarmInfos.setter
    def TaskAlarmInfos(self, TaskAlarmInfos):
        self._TaskAlarmInfos = TaskAlarmInfos

    @property
    def TotalCount(self):
        r"""总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TaskAlarmInfos") is not None:
            self._TaskAlarmInfos = []
            for item in params.get("TaskAlarmInfos"):
                obj = TaskAlarmInfo()
                obj._deserialize(item)
                self._TaskAlarmInfos.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._RequestId = params.get("RequestId")


class DescribeTaskByCycleRequest(AbstractModel):
    r"""DescribeTaskByCycle请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _InCharge: 1
        :type InCharge: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ProjectIds: 项目ID列表筛选
        :type ProjectIds: list of str
        :param _ResourceGroupIds: 资源组ID列表筛选
        :type ResourceGroupIds: list of str
        :param _TaskTypeIdList: 任务类型ID筛选
        :type TaskTypeIdList: list of str
        """
        self._ProjectId = None
        self._InCharge = None
        self._WorkflowId = None
        self._ProjectIds = None
        self._ResourceGroupIds = None
        self._TaskTypeIdList = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InCharge(self):
        r"""1
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectIds(self):
        r"""项目ID列表筛选
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds

    @property
    def ResourceGroupIds(self):
        r"""资源组ID列表筛选
        :rtype: list of str
        """
        return self._ResourceGroupIds

    @ResourceGroupIds.setter
    def ResourceGroupIds(self, ResourceGroupIds):
        self._ResourceGroupIds = ResourceGroupIds

    @property
    def TaskTypeIdList(self):
        r"""任务类型ID筛选
        :rtype: list of str
        """
        return self._TaskTypeIdList

    @TaskTypeIdList.setter
    def TaskTypeIdList(self, TaskTypeIdList):
        self._TaskTypeIdList = TaskTypeIdList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._InCharge = params.get("InCharge")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectIds = params.get("ProjectIds")
        self._ResourceGroupIds = params.get("ResourceGroupIds")
        self._TaskTypeIdList = params.get("TaskTypeIdList")
        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 DescribeTaskByCycleResponse(AbstractModel):
    r"""DescribeTaskByCycle返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 周期任务统计值
        :type Data: list of TaskByCycle
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""周期任务统计值
        :rtype: list of TaskByCycle
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskByCycle()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTaskByStatusReportRequest(AbstractModel):
    r"""DescribeTaskByStatusReport请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Type: 时间类型
        :type Type: str
        :param _TaskType: 类型
        :type TaskType: str
        :param _TypeName: 类型名称
        :type TypeName: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _AggregationUnit: 聚合单元，H小时
        :type AggregationUnit: str
        :param _CycleUnit: 周期
        :type CycleUnit: str
        :param _Status: 状态
        :type Status: str
        :param _InCharge: 责任人
        :type InCharge: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _ProjectIds: 项目ID列表，用于多项目实例趋势筛选，当指定了 ProjectIds 的时候，ProjectId 将只用来鉴权，不做筛选
        :type ProjectIds: list of str
        """
        self._ProjectId = None
        self._Type = None
        self._TaskType = None
        self._TypeName = None
        self._StartTime = None
        self._EndTime = None
        self._AggregationUnit = None
        self._CycleUnit = None
        self._Status = None
        self._InCharge = None
        self._WorkflowId = None
        self._ProjectIds = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Type(self):
        r"""时间类型
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def TaskType(self):
        r"""类型
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TypeName(self):
        r"""类型名称
        :rtype: str
        """
        return self._TypeName

    @TypeName.setter
    def TypeName(self, TypeName):
        self._TypeName = TypeName

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def AggregationUnit(self):
        r"""聚合单元，H小时
        :rtype: str
        """
        return self._AggregationUnit

    @AggregationUnit.setter
    def AggregationUnit(self, AggregationUnit):
        self._AggregationUnit = AggregationUnit

    @property
    def CycleUnit(self):
        r"""周期
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def Status(self):
        r"""状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def InCharge(self):
        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectIds(self):
        r"""项目ID列表，用于多项目实例趋势筛选，当指定了 ProjectIds 的时候，ProjectId 将只用来鉴权，不做筛选
        :rtype: list of str
        """
        return self._ProjectIds

    @ProjectIds.setter
    def ProjectIds(self, ProjectIds):
        self._ProjectIds = ProjectIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Type = params.get("Type")
        self._TaskType = params.get("TaskType")
        self._TypeName = params.get("TypeName")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._AggregationUnit = params.get("AggregationUnit")
        self._CycleUnit = params.get("CycleUnit")
        self._Status = params.get("Status")
        self._InCharge = params.get("InCharge")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectIds = params.get("ProjectIds")
        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 DescribeTaskByStatusReportResponse(AbstractModel):
    r"""DescribeTaskByStatusReport返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务上报趋势指标
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of TaskByStatus
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务上报趋势指标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskByStatus
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TaskByStatus()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTaskDetailDsRequest(AbstractModel):
    r"""DescribeTaskDetailDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _ProjectId: 项目ID （必填属性）
        :type ProjectId: str
        :param _TaskAlarmStatus: 已废弃，无需填写
        :type TaskAlarmStatus: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._TaskAlarmStatus = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目ID （必填属性）
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskAlarmStatus(self):
        r"""已废弃，无需填写
        :rtype: int
        """
        return self._TaskAlarmStatus

    @TaskAlarmStatus.setter
    def TaskAlarmStatus(self, TaskAlarmStatus):
        self._TaskAlarmStatus = TaskAlarmStatus


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._TaskAlarmStatus = params.get("TaskAlarmStatus")
        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 DescribeTaskDetailDsResponse(AbstractModel):
    r"""DescribeTaskDetailDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务详情1
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务详情1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TaskDsDTO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTaskInstancesStatusDto(AbstractModel):
    r"""分组获取编排空间测试运行记录

    """

    def __init__(self):
        r"""
        :param _Instances: 根据任务信息获取实例状态信息实例
注意：此字段可能返回 null，表示取不到有效值。
        :type Instances: list of ParamGetTaskInstancesStatusInfoResponseInstance
        """
        self._Instances = None

    @property
    def Instances(self):
        r"""根据任务信息获取实例状态信息实例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamGetTaskInstancesStatusInfoResponseInstance
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = ParamGetTaskInstancesStatusInfoResponseInstance()
                obj._deserialize(item)
                self._Instances.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 DescribeTaskInstancesStatusRequest(AbstractModel):
    r"""DescribeTaskInstancesStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RecordIdList: 任务列表
        :type RecordIdList: list of str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._RecordIdList = None
        self._WorkflowId = None
        self._ProjectId = None

    @property
    def RecordIdList(self):
        r"""任务列表
        :rtype: list of str
        """
        return self._RecordIdList

    @RecordIdList.setter
    def RecordIdList(self, RecordIdList):
        self._RecordIdList = RecordIdList

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._RecordIdList = params.get("RecordIdList")
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeTaskInstancesStatusResponse(AbstractModel):
    r"""DescribeTaskInstancesStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 实例列表
        :type Data: list of DescribeTaskInstancesStatusDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""实例列表
        :rtype: list of DescribeTaskInstancesStatusDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = DescribeTaskInstancesStatusDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTaskLineageRequest(AbstractModel):
    r"""DescribeTaskLineage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _TaskId: 任务ID
        :type TaskId: str
        """
        self._RequestFromSource = None
        self._TaskId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        self._TaskId = params.get("TaskId")
        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 DescribeTaskLineageResponse(AbstractModel):
    r"""DescribeTaskLineage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestFromSource: str
        :param _TaskLineageInfos: 通过任务ID查询集成任务信息列表
        :type TaskLineageInfos: list of TaskLineageInfoPair
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestFromSource = None
        self._TaskLineageInfos = None
        self._RequestId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def TaskLineageInfos(self):
        r"""通过任务ID查询集成任务信息列表
        :rtype: list of TaskLineageInfoPair
        """
        return self._TaskLineageInfos

    @TaskLineageInfos.setter
    def TaskLineageInfos(self, TaskLineageInfos):
        self._TaskLineageInfos = TaskLineageInfos

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("TaskLineageInfos") is not None:
            self._TaskLineageInfos = []
            for item in params.get("TaskLineageInfos"):
                obj = TaskLineageInfoPair()
                obj._deserialize(item)
                self._TaskLineageInfos.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTaskLockStatusRequest(AbstractModel):
    r"""DescribeTaskLockStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型：201. stream,   202. offline
        :type TaskType: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._TaskType = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型：201. stream,   202. offline
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        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 DescribeTaskLockStatusResponse(AbstractModel):
    r"""DescribeTaskLockStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskLockStatus: 任务锁状态信息
        :type TaskLockStatus: :class:`tencentcloud.wedata.v20210820.models.TaskLockStatus`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskLockStatus = None
        self._RequestId = None

    @property
    def TaskLockStatus(self):
        r"""任务锁状态信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskLockStatus`
        """
        return self._TaskLockStatus

    @TaskLockStatus.setter
    def TaskLockStatus(self, TaskLockStatus):
        self._TaskLockStatus = TaskLockStatus

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TaskLockStatus") is not None:
            self._TaskLockStatus = TaskLockStatus()
            self._TaskLockStatus._deserialize(params.get("TaskLockStatus"))
        self._RequestId = params.get("RequestId")


class DescribeTaskParamDsRequest(AbstractModel):
    r"""DescribeTaskParamDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskId: 任务id
        :type TaskId: str
        """
        self._ProjectId = None
        self._TaskId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        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 DescribeTaskParamDsResponse(AbstractModel):
    r"""DescribeTaskParamDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果集
        :type Data: list of ParameterTaskDsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果集
        :rtype: list of ParameterTaskDsDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ParameterTaskDsDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTaskRunHistoryRequest(AbstractModel):
    r"""DescribeTaskRunHistory请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _SearchCondition: 检索条件
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceSearchCondition`
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _PageNumber: 分页页码
        :type PageNumber: int
        """
        self._ProjectId = None
        self._SearchCondition = None
        self._PageSize = None
        self._PageNumber = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def SearchCondition(self):
        r"""检索条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceSearchCondition`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageNumber(self):
        r"""分页页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceSearchCondition()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._PageSize = params.get("PageSize")
        self._PageNumber = params.get("PageNumber")
        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 DescribeTaskRunHistoryResponse(AbstractModel):
    r"""DescribeTaskRunHistory返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 分页查询任务运行历史结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceOpsInfoPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""分页查询任务运行历史结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceOpsInfoPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceOpsInfoPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTaskScriptRequest(AbstractModel):
    r"""DescribeTaskScript请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        """
        self._ProjectId = None
        self._TaskId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        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 DescribeTaskScriptResponse(AbstractModel):
    r"""DescribeTaskScript返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 任务脚本内容，BASE64编码
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TaskScriptContent`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""任务脚本内容，BASE64编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskScriptContent`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TaskScriptContent()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTaskTableMetricOverviewRequest(AbstractModel):
    r"""DescribeTaskTableMetricOverview请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务TaskId
        :type TaskId: str
        :param _NodeType: 来源类型，支持枚举： SOURCE、SINK
        :type NodeType: str
        :param _PageNumber: 页码
        :type PageNumber: int
        :param _PageSize: 页大小
        :type PageSize: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskType: 任务类型：201. stream, 202. offline，当前只支持实时201
        :type TaskType: int
        :param _Filters: 根据SchemaName来模糊搜索
        :type Filters: list of Filter
        :param _OrderFields: 排序
        :type OrderFields: list of OrderFields
        """
        self._TaskId = None
        self._NodeType = None
        self._PageNumber = None
        self._PageSize = None
        self._ProjectId = None
        self._TaskType = None
        self._Filters = None
        self._OrderFields = None

    @property
    def TaskId(self):
        r"""任务TaskId
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def NodeType(self):
        r"""来源类型，支持枚举： SOURCE、SINK
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def PageNumber(self):
        r"""页码
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型：201. stream, 202. offline，当前只支持实时201
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def Filters(self):
        r"""根据SchemaName来模糊搜索
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序
        :rtype: list of OrderFields
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._NodeType = params.get("NodeType")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderFields()
                obj._deserialize(item)
                self._OrderFields.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 DescribeTaskTableMetricOverviewResponse(AbstractModel):
    r"""DescribeTaskTableMetricOverview返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskTableMetricInfos: 表粒度指标集合
        :type TaskTableMetricInfos: list of TaskTableMetricInfo
        :param _TotalCount: 总数
        :type TotalCount: int
        :param _MetricType: 返回列表类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetricType: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskTableMetricInfos = None
        self._TotalCount = None
        self._MetricType = None
        self._RequestId = None

    @property
    def TaskTableMetricInfos(self):
        r"""表粒度指标集合
        :rtype: list of TaskTableMetricInfo
        """
        return self._TaskTableMetricInfos

    @TaskTableMetricInfos.setter
    def TaskTableMetricInfos(self, TaskTableMetricInfos):
        self._TaskTableMetricInfos = TaskTableMetricInfos

    @property
    def TotalCount(self):
        r"""总数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def MetricType(self):
        r"""返回列表类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetricType

    @MetricType.setter
    def MetricType(self, MetricType):
        self._MetricType = MetricType

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("TaskTableMetricInfos") is not None:
            self._TaskTableMetricInfos = []
            for item in params.get("TaskTableMetricInfos"):
                obj = TaskTableMetricInfo()
                obj._deserialize(item)
                self._TaskTableMetricInfos.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._MetricType = params.get("MetricType")
        self._RequestId = params.get("RequestId")


class DescribeTaskTemplatesRequest(AbstractModel):
    r"""DescribeTaskTemplates请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _PageNumber: 页号
        :type PageNumber: int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _OrderFields: 排序字段, 仅支持更新时间, 取值示例

- UpdateTime
        :type OrderFields: list of OrderField
        :param _Filters: 过滤条件, 取值列表

- TemplateName    模版名称
- TaskType    支持任务类型
- InCharge    责任人
- FolderId    文件夹id
- Status    提交状态
- UpdateStartTime    更新时间,时间区间查询
- UpdateEndTime    更新时间,时间区间查询
        :type Filters: list of Filter
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._OrderFields = None
        self._Filters = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""页号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def OrderFields(self):
        r"""排序字段, 仅支持更新时间, 取值示例

- UpdateTime
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def Filters(self):
        r"""过滤条件, 取值列表

- TemplateName    模版名称
- TaskType    支持任务类型
- InCharge    责任人
- FolderId    文件夹id
- Status    提交状态
- UpdateStartTime    更新时间,时间区间查询
- UpdateEndTime    更新时间,时间区间查询
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.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 DescribeTaskTemplatesResponse(AbstractModel):
    r"""DescribeTaskTemplates返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 查询项目下所有任务信息,不包括虚拟任务和离线任务
        :type Data: :class:`tencentcloud.wedata.v20210820.models.PageTaskTemplateInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""查询项目下所有任务信息,不包括虚拟任务和离线任务
        :rtype: :class:`tencentcloud.wedata.v20210820.models.PageTaskTemplateInfo`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = PageTaskTemplateInfo()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTasksForCodeTemplatePage(AbstractModel):
    r"""批量操作任务列表分页

    """

    def __init__(self):
        r"""
        :param _PageCount: 总页码数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _Items: 内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of TaskSimpleVo
        :param _TotalCount: 总个数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        """
        self._PageCount = None
        self._Items = None
        self._TotalCount = None

    @property
    def PageCount(self):
        r"""总页码数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def Items(self):
        r"""内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskSimpleVo
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalCount(self):
        r"""总个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount


    def _deserialize(self, params):
        self._PageCount = params.get("PageCount")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = TaskSimpleVo()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalCount = params.get("TotalCount")
        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 DescribeTasksForCodeTemplateRequest(AbstractModel):
    r"""DescribeTasksForCodeTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _PageNumber: 页码，最小1
        :type PageNumber: int
        :param _PageSize: 单页大小，最小10，最大200
        :type PageSize: int
        :param _TemplateId: 模板id
        :type TemplateId: str
        :param _WorkflowIdList: 工作流id列表
        :type WorkflowIdList: list of str
        :param _OwnerIdList: 责任人名列表
        :type OwnerIdList: list of str
        :param _TaskName: 任务名
        :type TaskName: str
        :param _OrderCondition: 排序提交，目前只支持workflowName
        :type OrderCondition: :class:`tencentcloud.wedata.v20210820.models.OrderCondition`
        """
        self._ProjectId = None
        self._PageNumber = None
        self._PageSize = None
        self._TemplateId = None
        self._WorkflowIdList = None
        self._OwnerIdList = None
        self._TaskName = None
        self._OrderCondition = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PageNumber(self):
        r"""页码，最小1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""单页大小，最小10，最大200
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TemplateId(self):
        r"""模板id
        :rtype: str
        """
        return self._TemplateId

    @TemplateId.setter
    def TemplateId(self, TemplateId):
        self._TemplateId = TemplateId

    @property
    def WorkflowIdList(self):
        r"""工作流id列表
        :rtype: list of str
        """
        return self._WorkflowIdList

    @WorkflowIdList.setter
    def WorkflowIdList(self, WorkflowIdList):
        self._WorkflowIdList = WorkflowIdList

    @property
    def OwnerIdList(self):
        r"""责任人名列表
        :rtype: list of str
        """
        return self._OwnerIdList

    @OwnerIdList.setter
    def OwnerIdList(self, OwnerIdList):
        self._OwnerIdList = OwnerIdList

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def OrderCondition(self):
        r"""排序提交，目前只支持workflowName
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OrderCondition`
        """
        return self._OrderCondition

    @OrderCondition.setter
    def OrderCondition(self, OrderCondition):
        self._OrderCondition = OrderCondition


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TemplateId = params.get("TemplateId")
        self._WorkflowIdList = params.get("WorkflowIdList")
        self._OwnerIdList = params.get("OwnerIdList")
        self._TaskName = params.get("TaskName")
        if params.get("OrderCondition") is not None:
            self._OrderCondition = OrderCondition()
            self._OrderCondition._deserialize(params.get("OrderCondition"))
        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 DescribeTasksForCodeTemplateResponse(AbstractModel):
    r"""DescribeTasksForCodeTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DescribeTasksForCodeTemplatePage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DescribeTasksForCodeTemplatePage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DescribeTasksForCodeTemplatePage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTemplateDimCountRequest(AbstractModel):
    r"""DescribeTemplateDimCount请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Type: 模板类型
        :type Type: int
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._Type = None
        self._ProjectId = None

    @property
    def Type(self):
        r"""模板类型
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._ProjectId = params.get("ProjectId")
        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 DescribeTemplateDimCountResponse(AbstractModel):
    r"""DescribeTemplateDimCount返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 维度统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of DimensionCount
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""维度统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DimensionCount
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = DimensionCount()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeTenantProjectsRequest(AbstractModel):
    r"""DescribeTenantProjects请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageNumber: 第几页
        :type PageNumber: int
        :param _PageSize: 一页几条
        :type PageSize: int
        :param _DescribeExecutors: 是否展示关联执行组的信息。正常应该不是从项目列表里获取
        :type DescribeExecutors: bool
        :param _DescribeAdminUsers: 是否展示项目管理员信息，减少默认返回的请求内容
        :type DescribeAdminUsers: bool
        :param _DescribeMemberCount: 统计项目人员数量。数据地图需求
        :type DescribeMemberCount: bool
        :param _Filters: 自定义条件查询
        :type Filters: list of Filter
        :param _OrderFields: 排序字段
        :type OrderFields: list of OrderField
        :param _DescribeCreator: 默认不提供创建者信息，该参数与CAM交互比较耗时
        :type DescribeCreator: bool
        :param _DescribeResourcePools: 是否展示关联资源池信息
        :type DescribeResourcePools: bool
        """
        self._PageNumber = None
        self._PageSize = None
        self._DescribeExecutors = None
        self._DescribeAdminUsers = None
        self._DescribeMemberCount = None
        self._Filters = None
        self._OrderFields = None
        self._DescribeCreator = None
        self._DescribeResourcePools = None

    @property
    def PageNumber(self):
        r"""第几页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""一页几条
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def DescribeExecutors(self):
        r"""是否展示关联执行组的信息。正常应该不是从项目列表里获取
        :rtype: bool
        """
        return self._DescribeExecutors

    @DescribeExecutors.setter
    def DescribeExecutors(self, DescribeExecutors):
        self._DescribeExecutors = DescribeExecutors

    @property
    def DescribeAdminUsers(self):
        r"""是否展示项目管理员信息，减少默认返回的请求内容
        :rtype: bool
        """
        return self._DescribeAdminUsers

    @DescribeAdminUsers.setter
    def DescribeAdminUsers(self, DescribeAdminUsers):
        self._DescribeAdminUsers = DescribeAdminUsers

    @property
    def DescribeMemberCount(self):
        r"""统计项目人员数量。数据地图需求
        :rtype: bool
        """
        return self._DescribeMemberCount

    @DescribeMemberCount.setter
    def DescribeMemberCount(self, DescribeMemberCount):
        self._DescribeMemberCount = DescribeMemberCount

    @property
    def Filters(self):
        r"""自定义条件查询
        :rtype: list of Filter
        """
        return self._Filters

    @Filters.setter
    def Filters(self, Filters):
        self._Filters = Filters

    @property
    def OrderFields(self):
        r"""排序字段
        :rtype: list of OrderField
        """
        return self._OrderFields

    @OrderFields.setter
    def OrderFields(self, OrderFields):
        self._OrderFields = OrderFields

    @property
    def DescribeCreator(self):
        r"""默认不提供创建者信息，该参数与CAM交互比较耗时
        :rtype: bool
        """
        return self._DescribeCreator

    @DescribeCreator.setter
    def DescribeCreator(self, DescribeCreator):
        self._DescribeCreator = DescribeCreator

    @property
    def DescribeResourcePools(self):
        r"""是否展示关联资源池信息
        :rtype: bool
        """
        return self._DescribeResourcePools

    @DescribeResourcePools.setter
    def DescribeResourcePools(self, DescribeResourcePools):
        self._DescribeResourcePools = DescribeResourcePools


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._DescribeExecutors = params.get("DescribeExecutors")
        self._DescribeAdminUsers = params.get("DescribeAdminUsers")
        self._DescribeMemberCount = params.get("DescribeMemberCount")
        if params.get("Filters") is not None:
            self._Filters = []
            for item in params.get("Filters"):
                obj = Filter()
                obj._deserialize(item)
                self._Filters.append(obj)
        if params.get("OrderFields") is not None:
            self._OrderFields = []
            for item in params.get("OrderFields"):
                obj = OrderField()
                obj._deserialize(item)
                self._OrderFields.append(obj)
        self._DescribeCreator = params.get("DescribeCreator")
        self._DescribeResourcePools = params.get("DescribeResourcePools")
        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 DescribeTenantProjectsResponse(AbstractModel):
    r"""DescribeTenantProjects返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 项目列表
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ProjectPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""项目列表
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = ProjectPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTestRunningRecordRequest(AbstractModel):
    r"""DescribeTestRunningRecord请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TaskId: 任务id
        :type TaskId: str
        :param _SearchWord: 搜索关键词
        :type SearchWord: str
        :param _SearchUserUin: 搜索用户UIN
        :type SearchUserUin: str
        :param _CreateTime: 试运行记录创建时间
        :type CreateTime: str
        :param _EndTime: 试运行记录最大创建结束时间
        :type EndTime: str
        :param _RecordIdList: 试运行记录id
        :type RecordIdList: list of int
        :param _PageSize: 分页大小
        :type PageSize: int
        :param _PageIndex: 分页索引
        :type PageIndex: int
        :param _StatusList: 状态列表  LAUNCHED:等待运行 RUNNING:运行中 KILLING:终止中 KILLED:已终止 SUCCESS:成功 FAILED:失败 SKIP_RUNNING 跳过运行 NEVER_RUN:未运行
        :type StatusList: list of str
        :param _OrderConditionList: 排序条件 排序的key：timeCost,startTime
        :type OrderConditionList: list of OrderCondition
        """
        self._ProjectId = None
        self._TaskId = None
        self._SearchWord = None
        self._SearchUserUin = None
        self._CreateTime = None
        self._EndTime = None
        self._RecordIdList = None
        self._PageSize = None
        self._PageIndex = None
        self._StatusList = None
        self._OrderConditionList = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def SearchWord(self):
        r"""搜索关键词
        :rtype: str
        """
        return self._SearchWord

    @SearchWord.setter
    def SearchWord(self, SearchWord):
        self._SearchWord = SearchWord

    @property
    def SearchUserUin(self):
        r"""搜索用户UIN
        :rtype: str
        """
        return self._SearchUserUin

    @SearchUserUin.setter
    def SearchUserUin(self, SearchUserUin):
        self._SearchUserUin = SearchUserUin

    @property
    def CreateTime(self):
        r"""试运行记录创建时间
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def EndTime(self):
        r"""试运行记录最大创建结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def RecordIdList(self):
        r"""试运行记录id
        :rtype: list of int
        """
        return self._RecordIdList

    @RecordIdList.setter
    def RecordIdList(self, RecordIdList):
        self._RecordIdList = RecordIdList

    @property
    def PageSize(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageIndex(self):
        r"""分页索引
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def StatusList(self):
        r"""状态列表  LAUNCHED:等待运行 RUNNING:运行中 KILLING:终止中 KILLED:已终止 SUCCESS:成功 FAILED:失败 SKIP_RUNNING 跳过运行 NEVER_RUN:未运行
        :rtype: list of str
        """
        return self._StatusList

    @StatusList.setter
    def StatusList(self, StatusList):
        self._StatusList = StatusList

    @property
    def OrderConditionList(self):
        r"""排序条件 排序的key：timeCost,startTime
        :rtype: list of OrderCondition
        """
        return self._OrderConditionList

    @OrderConditionList.setter
    def OrderConditionList(self, OrderConditionList):
        self._OrderConditionList = OrderConditionList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._SearchWord = params.get("SearchWord")
        self._SearchUserUin = params.get("SearchUserUin")
        self._CreateTime = params.get("CreateTime")
        self._EndTime = params.get("EndTime")
        self._RecordIdList = params.get("RecordIdList")
        self._PageSize = params.get("PageSize")
        self._PageIndex = params.get("PageIndex")
        self._StatusList = params.get("StatusList")
        if params.get("OrderConditionList") is not None:
            self._OrderConditionList = []
            for item in params.get("OrderConditionList"):
                obj = OrderCondition()
                obj._deserialize(item)
                self._OrderConditionList.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 DescribeTestRunningRecordResponse(AbstractModel):
    r"""DescribeTestRunningRecord返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 编排空间试运行任务
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of TestRunningRecord
        :param _TotalPages: 总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPages: int
        :param _TotalItems: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalItems: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._TotalPages = None
        self._TotalItems = None
        self._RequestId = None

    @property
    def Data(self):
        r"""编排空间试运行任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TestRunningRecord
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def TotalPages(self):
        r"""总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPages

    @TotalPages.setter
    def TotalPages(self, TotalPages):
        self._TotalPages = TotalPages

    @property
    def TotalItems(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalItems

    @TotalItems.setter
    def TotalItems(self, TotalItems):
        self._TotalItems = TotalItems

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = TestRunningRecord()
                obj._deserialize(item)
                self._Data.append(obj)
        self._TotalPages = params.get("TotalPages")
        self._TotalItems = params.get("TotalItems")
        self._RequestId = params.get("RequestId")


class DescribeThirdTaskRunLogRequest(AbstractModel):
    r"""DescribeThirdTaskRunLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _CurRunDate: 实例数据时间
        :type CurRunDate: str
        """
        self._TaskId = None
        self._CurRunDate = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""实例数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        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 DescribeThirdTaskRunLogResponse(AbstractModel):
    r"""DescribeThirdTaskRunLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 获取第三方运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""获取第三方运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DescribeTopTableStatRequest(AbstractModel):
    r"""DescribeTopTableStat请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _BeginDate: 开始时间，时间戳到秒
        :type BeginDate: str
        :param _EndDate: 结束时间，时间戳到秒
        :type EndDate: str
        """
        self._ProjectId = None
        self._BeginDate = None
        self._EndDate = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BeginDate(self):
        r"""开始时间，时间戳到秒
        :rtype: str
        """
        return self._BeginDate

    @BeginDate.setter
    def BeginDate(self, BeginDate):
        self._BeginDate = BeginDate

    @property
    def EndDate(self):
        r"""结束时间，时间戳到秒
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._BeginDate = params.get("BeginDate")
        self._EndDate = params.get("EndDate")
        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 DescribeTopTableStatResponse(AbstractModel):
    r"""DescribeTopTableStat返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.TopTableStat`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TopTableStat`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = TopTableStat()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeTrendStatRequest(AbstractModel):
    r"""DescribeTrendStat请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _BeginDate: 开始时间，时间戳到秒
        :type BeginDate: str
        :param _EndDate: 结束时间，时间戳到秒
        :type EndDate: str
        """
        self._ProjectId = None
        self._BeginDate = None
        self._EndDate = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BeginDate(self):
        r"""开始时间，时间戳到秒
        :rtype: str
        """
        return self._BeginDate

    @BeginDate.setter
    def BeginDate(self, BeginDate):
        self._BeginDate = BeginDate

    @property
    def EndDate(self):
        r"""结束时间，时间戳到秒
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._BeginDate = params.get("BeginDate")
        self._EndDate = params.get("EndDate")
        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 DescribeTrendStatResponse(AbstractModel):
    r"""DescribeTrendStat返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: list of RuleExecDateStat
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: list of RuleExecDateStat
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = RuleExecDateStat()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeWorkflowByFordIdsRequest(AbstractModel):
    r"""DescribeWorkflowByFordIds请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _FolderIdList: 文件夹Id
        :type FolderIdList: list of str
        """
        self._ProjectId = None
        self._FolderIdList = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderIdList(self):
        r"""文件夹Id
        :rtype: list of str
        """
        return self._FolderIdList

    @FolderIdList.setter
    def FolderIdList(self, FolderIdList):
        self._FolderIdList = FolderIdList


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderIdList = params.get("FolderIdList")
        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 DescribeWorkflowByFordIdsResponse(AbstractModel):
    r"""DescribeWorkflowByFordIds返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of WorkflowDsDTO
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkflowDsDTO
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = WorkflowDsDTO()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeWorkflowCanvasInfoRequest(AbstractModel):
    r"""DescribeWorkflowCanvasInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        """
        self._WorkflowId = None
        self._ProjectId = None
        self._RequestFromSource = None

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectId = params.get("ProjectId")
        self._RequestFromSource = params.get("RequestFromSource")
        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 DescribeWorkflowCanvasInfoResponse(AbstractModel):
    r"""DescribeWorkflowCanvasInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流调度详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkflowCanvasOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流调度详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkflowCanvasOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkflowCanvasOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeWorkflowExecuteByIdRequest(AbstractModel):
    r"""DescribeWorkflowExecuteById请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _WorkFlowIdList: 工作流ID
        :type WorkFlowIdList: str
        :param _PageNumber: 分页大小
        :type PageNumber: int
        :param _PageSize: 分页索引
        :type PageSize: int
        """
        self._ProjectId = None
        self._WorkFlowIdList = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkFlowIdList(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkFlowIdList

    @WorkFlowIdList.setter
    def WorkFlowIdList(self, WorkFlowIdList):
        self._WorkFlowIdList = WorkFlowIdList

    @property
    def PageNumber(self):
        r"""分页大小
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页索引
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkFlowIdList = params.get("WorkFlowIdList")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 DescribeWorkflowExecuteByIdResponse(AbstractModel):
    r"""DescribeWorkflowExecuteById返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流运行时间信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkFlowExecuteDtoByPage`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流运行时间信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkFlowExecuteDtoByPage`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkFlowExecuteDtoByPage()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeWorkflowInfoByIdRequest(AbstractModel):
    r"""DescribeWorkflowInfoById请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._WorkflowId = None
        self._ProjectId = None

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeWorkflowInfoByIdResponse(AbstractModel):
    r"""DescribeWorkflowInfoById返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 工作流调度详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkflowSchedulerOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""工作流调度详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkflowSchedulerOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkflowSchedulerOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeWorkflowListByProjectIdRequest(AbstractModel):
    r"""DescribeWorkflowListByProjectId请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._ProjectId = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        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 DescribeWorkflowListByProjectIdResponse(AbstractModel):
    r"""DescribeWorkflowListByProjectId返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 根据项目id获取项目下所有工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of WorkflowCanvasOpsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""根据项目id获取项目下所有工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkflowCanvasOpsDto
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = WorkflowCanvasOpsDto()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class DescribeWorkflowSchedulerInfoDsRequest(AbstractModel):
    r"""DescribeWorkflowSchedulerInfoDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        """
        self._ProjectId = None
        self._WorkflowId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        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 DescribeWorkflowSchedulerInfoDsResponse(AbstractModel):
    r"""DescribeWorkflowSchedulerInfoDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkflowScheduleDtoDs`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkflowScheduleDtoDs`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkflowScheduleDtoDs()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DescribeWorkflowTaskCountRequest(AbstractModel):
    r"""DescribeWorkflowTaskCount请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流列表
        :type WorkflowId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._WorkflowId = None
        self._ProjectId = None

    @property
    def WorkflowId(self):
        r"""工作流列表
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._ProjectId = params.get("ProjectId")
        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 DescribeWorkflowTaskCountResponse(AbstractModel):
    r"""DescribeWorkflowTaskCount返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.WorkflowTaskCountOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""统计结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.WorkflowTaskCountOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = WorkflowTaskCountOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DiagnoseProRequest(AbstractModel):
    r"""DiagnosePro请求参数结构体

    """

    def __init__(self):
        r"""
        :param _SearchCondition: 查询条件（当前接口TaskId和CurRunDate需要填充在该字段方可诊断）
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Instances: 实例列表
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :type CheckFather: bool
        :param _RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :type RerunType: str
        :param _DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :type DependentWay: str
        :param _SkipEventListening: 重跑忽略事件监听与否 
        :type SkipEventListening: bool
        :param _SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        """
        self._SearchCondition = None
        self._ProjectId = None
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None

    @property
    def SearchCondition(self):
        r"""查询条件（当前接口TaskId和CurRunDate需要填充在该字段方可诊断）
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Instances(self):
        r"""实例列表
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""重跑忽略事件监听与否 
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount


    def _deserialize(self, params):
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._ProjectId = params.get("ProjectId")
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        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 DiagnoseProResponse(AbstractModel):
    r"""DiagnosePro返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.DiagnoseRep`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DiagnoseRep`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = DiagnoseRep()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DiagnoseRep(AbstractModel):
    r"""DiagnoseRep

    """

    def __init__(self):
        r"""
        :param _Content: 诊断信息内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: :class:`tencentcloud.wedata.v20210820.models.Content`
        :param _Table: 诊断结果相关信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Table: :class:`tencentcloud.wedata.v20210820.models.Table`
        """
        self._Content = None
        self._Table = None

    @property
    def Content(self):
        r"""诊断信息内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Content`
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def Table(self):
        r"""诊断结果相关信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.Table`
        """
        return self._Table

    @Table.setter
    def Table(self, Table):
        self._Table = Table


    def _deserialize(self, params):
        if params.get("Content") is not None:
            self._Content = Content()
            self._Content._deserialize(params.get("Content"))
        if params.get("Table") is not None:
            self._Table = Table()
            self._Table._deserialize(params.get("Table"))
        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 DimTableLink(AbstractModel):
    r"""维度关联单个表字段

    """

    def __init__(self):
        r"""
        :param _Key: 维度主键KEY对应的表列
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: 维度值对应的表列
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _TableGuid: 表 GUID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableGuid: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        """
        self._Key = None
        self._Value = None
        self._TableGuid = None
        self._TableName = None

    @property
    def Key(self):
        r"""维度主键KEY对应的表列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""维度值对应的表列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def TableGuid(self):
        r"""表 GUID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableGuid

    @TableGuid.setter
    def TableGuid(self, TableGuid):
        self._TableGuid = TableGuid

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        self._TableGuid = params.get("TableGuid")
        self._TableName = params.get("TableName")
        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 DimensionCount(AbstractModel):
    r"""维度统计业务视图

    """

    def __init__(self):
        r"""
        :param _DimType: 维度类型1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :type DimType: int
        :param _Count: 统计值
注意：此字段可能返回 null，表示取不到有效值。
        :type Count: int
        :param _QualityDim: 维度类型1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :type QualityDim: int
        """
        self._DimType = None
        self._Count = None
        self._QualityDim = None

    @property
    def DimType(self):
        warnings.warn("parameter `DimType` is deprecated", DeprecationWarning) 

        r"""维度类型1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DimType

    @DimType.setter
    def DimType(self, DimType):
        warnings.warn("parameter `DimType` is deprecated", DeprecationWarning) 

        self._DimType = DimType

    @property
    def Count(self):
        r"""统计值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def QualityDim(self):
        r"""维度类型1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim


    def _deserialize(self, params):
        self._DimType = params.get("DimType")
        self._Count = params.get("Count")
        self._QualityDim = params.get("QualityDim")
        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 DimensionScore(AbstractModel):
    r"""维度评分

    """

    def __init__(self):
        r"""
        :param _DimensionScoreList: 维度评分列表
注意：此字段可能返回 null，表示取不到有效值。
        :type DimensionScoreList: list of DimensionScoreInfo
        """
        self._DimensionScoreList = None

    @property
    def DimensionScoreList(self):
        r"""维度评分列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DimensionScoreInfo
        """
        return self._DimensionScoreList

    @DimensionScoreList.setter
    def DimensionScoreList(self, DimensionScoreList):
        self._DimensionScoreList = DimensionScoreList


    def _deserialize(self, params):
        if params.get("DimensionScoreList") is not None:
            self._DimensionScoreList = []
            for item in params.get("DimensionScoreList"):
                obj = DimensionScoreInfo()
                obj._deserialize(item)
                self._DimensionScoreList.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 DimensionScoreInfo(AbstractModel):
    r"""维度评分信息

    """

    def __init__(self):
        r"""
        :param _Name: 维度名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Weight: 权重
注意：此字段可能返回 null，表示取不到有效值。
        :type Weight: float
        :param _UserId: 设置人id
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: int
        :param _UserName: 设置人名
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _UpdateTime: 更新时间 时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: int
        :param _JoinTableNumber: 参与评估表数量
        :type JoinTableNumber: int
        :param _Score: 评分
        :type Score: float
        :param _UserIdStr: 设置人idStr
注意：此字段可能返回 null，表示取不到有效值。
        :type UserIdStr: str
        """
        self._Name = None
        self._Weight = None
        self._UserId = None
        self._UserName = None
        self._UpdateTime = None
        self._JoinTableNumber = None
        self._Score = None
        self._UserIdStr = None

    @property
    def Name(self):
        r"""维度名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Weight(self):
        r"""权重
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Weight

    @Weight.setter
    def Weight(self, Weight):
        self._Weight = Weight

    @property
    def UserId(self):
        r"""设置人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def UserName(self):
        r"""设置人名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def UpdateTime(self):
        r"""更新时间 时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def JoinTableNumber(self):
        r"""参与评估表数量
        :rtype: int
        """
        return self._JoinTableNumber

    @JoinTableNumber.setter
    def JoinTableNumber(self, JoinTableNumber):
        self._JoinTableNumber = JoinTableNumber

    @property
    def Score(self):
        r"""评分
        :rtype: float
        """
        return self._Score

    @Score.setter
    def Score(self, Score):
        self._Score = Score

    @property
    def UserIdStr(self):
        r"""设置人idStr
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserIdStr

    @UserIdStr.setter
    def UserIdStr(self, UserIdStr):
        self._UserIdStr = UserIdStr


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Weight = params.get("Weight")
        self._UserId = params.get("UserId")
        self._UserName = params.get("UserName")
        self._UpdateTime = params.get("UpdateTime")
        self._JoinTableNumber = params.get("JoinTableNumber")
        self._Score = params.get("Score")
        self._UserIdStr = params.get("UserIdStr")
        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 DisableProjectRequest(AbstractModel):
    r"""DisableProject请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ModuleKey: 模块名称
        :type ModuleKey: str
        """
        self._ProjectId = None
        self._ModuleKey = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ModuleKey(self):
        r"""模块名称
        :rtype: str
        """
        return self._ModuleKey

    @ModuleKey.setter
    def ModuleKey(self, ModuleKey):
        self._ModuleKey = ModuleKey


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ModuleKey = params.get("ModuleKey")
        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 DisableProjectResponse(AbstractModel):
    r"""DisableProject返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class DlcDataGovernPolicy(AbstractModel):
    r"""数据治理配置项

    """

    def __init__(self):
        r"""
        :param _RewriteDataPolicy: 数据排布治理项
注意：此字段可能返回 null，表示取不到有效值。
        :type RewriteDataPolicy: :class:`tencentcloud.wedata.v20210820.models.DlcRewriteDataInfo`
        :param _ExpiredSnapshotsPolicy: 快照过期治理项
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpiredSnapshotsPolicy: :class:`tencentcloud.wedata.v20210820.models.DlcExpiredSnapshotsInfo`
        :param _RemoveOrphanFilesPolicy: 移除孤立文件治理项
注意：此字段可能返回 null，表示取不到有效值。
        :type RemoveOrphanFilesPolicy: :class:`tencentcloud.wedata.v20210820.models.DlcRemoveOrphanFilesInfo`
        :param _MergeManifestsPolicy: 合并元数据Manifests治理项
注意：此字段可能返回 null，表示取不到有效值。
        :type MergeManifestsPolicy: :class:`tencentcloud.wedata.v20210820.models.DlcMergeManifestsInfo`
        :param _InheritDataBase: 是否集成库规则：default（默认继承）、none（不继承）
注意：此字段可能返回 null，表示取不到有效值。
        :type InheritDataBase: str
        :param _RuleType: 治理规则类型，Customize: 自定义；Intelligence: 智能治理
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleType: str
        :param _GovernEngine: 治理引擎
注意：此字段可能返回 null，表示取不到有效值。
        :type GovernEngine: str
        """
        self._RewriteDataPolicy = None
        self._ExpiredSnapshotsPolicy = None
        self._RemoveOrphanFilesPolicy = None
        self._MergeManifestsPolicy = None
        self._InheritDataBase = None
        self._RuleType = None
        self._GovernEngine = None

    @property
    def RewriteDataPolicy(self):
        r"""数据排布治理项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DlcRewriteDataInfo`
        """
        return self._RewriteDataPolicy

    @RewriteDataPolicy.setter
    def RewriteDataPolicy(self, RewriteDataPolicy):
        self._RewriteDataPolicy = RewriteDataPolicy

    @property
    def ExpiredSnapshotsPolicy(self):
        r"""快照过期治理项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DlcExpiredSnapshotsInfo`
        """
        return self._ExpiredSnapshotsPolicy

    @ExpiredSnapshotsPolicy.setter
    def ExpiredSnapshotsPolicy(self, ExpiredSnapshotsPolicy):
        self._ExpiredSnapshotsPolicy = ExpiredSnapshotsPolicy

    @property
    def RemoveOrphanFilesPolicy(self):
        r"""移除孤立文件治理项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DlcRemoveOrphanFilesInfo`
        """
        return self._RemoveOrphanFilesPolicy

    @RemoveOrphanFilesPolicy.setter
    def RemoveOrphanFilesPolicy(self, RemoveOrphanFilesPolicy):
        self._RemoveOrphanFilesPolicy = RemoveOrphanFilesPolicy

    @property
    def MergeManifestsPolicy(self):
        r"""合并元数据Manifests治理项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DlcMergeManifestsInfo`
        """
        return self._MergeManifestsPolicy

    @MergeManifestsPolicy.setter
    def MergeManifestsPolicy(self, MergeManifestsPolicy):
        self._MergeManifestsPolicy = MergeManifestsPolicy

    @property
    def InheritDataBase(self):
        r"""是否集成库规则：default（默认继承）、none（不继承）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InheritDataBase

    @InheritDataBase.setter
    def InheritDataBase(self, InheritDataBase):
        self._InheritDataBase = InheritDataBase

    @property
    def RuleType(self):
        r"""治理规则类型，Customize: 自定义；Intelligence: 智能治理
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleType

    @RuleType.setter
    def RuleType(self, RuleType):
        self._RuleType = RuleType

    @property
    def GovernEngine(self):
        r"""治理引擎
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GovernEngine

    @GovernEngine.setter
    def GovernEngine(self, GovernEngine):
        self._GovernEngine = GovernEngine


    def _deserialize(self, params):
        if params.get("RewriteDataPolicy") is not None:
            self._RewriteDataPolicy = DlcRewriteDataInfo()
            self._RewriteDataPolicy._deserialize(params.get("RewriteDataPolicy"))
        if params.get("ExpiredSnapshotsPolicy") is not None:
            self._ExpiredSnapshotsPolicy = DlcExpiredSnapshotsInfo()
            self._ExpiredSnapshotsPolicy._deserialize(params.get("ExpiredSnapshotsPolicy"))
        if params.get("RemoveOrphanFilesPolicy") is not None:
            self._RemoveOrphanFilesPolicy = DlcRemoveOrphanFilesInfo()
            self._RemoveOrphanFilesPolicy._deserialize(params.get("RemoveOrphanFilesPolicy"))
        if params.get("MergeManifestsPolicy") is not None:
            self._MergeManifestsPolicy = DlcMergeManifestsInfo()
            self._MergeManifestsPolicy._deserialize(params.get("MergeManifestsPolicy"))
        self._InheritDataBase = params.get("InheritDataBase")
        self._RuleType = params.get("RuleType")
        self._GovernEngine = params.get("GovernEngine")
        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 DlcExpiredSnapshotsInfo(AbstractModel):
    r"""快照过期治理项

    """

    def __init__(self):
        r"""
        :param _ExpiredSnapshotsEnable: 是否启用快照过期治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpiredSnapshotsEnable: str
        :param _Engine: 用于运行快照过期治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Engine: str
        :param _RetainLast: 需要保留的最近快照个数
注意：此字段可能返回 null，表示取不到有效值。
        :type RetainLast: int
        :param _BeforeDays: 过期指定天前的快照
注意：此字段可能返回 null，表示取不到有效值。
        :type BeforeDays: int
        :param _MaxConcurrentDeletes: 清理过期快照的并行数
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxConcurrentDeletes: int
        :param _IntervalMin: 快照过期治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type IntervalMin: int
        """
        self._ExpiredSnapshotsEnable = None
        self._Engine = None
        self._RetainLast = None
        self._BeforeDays = None
        self._MaxConcurrentDeletes = None
        self._IntervalMin = None

    @property
    def ExpiredSnapshotsEnable(self):
        r"""是否启用快照过期治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExpiredSnapshotsEnable

    @ExpiredSnapshotsEnable.setter
    def ExpiredSnapshotsEnable(self, ExpiredSnapshotsEnable):
        self._ExpiredSnapshotsEnable = ExpiredSnapshotsEnable

    @property
    def Engine(self):
        r"""用于运行快照过期治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Engine

    @Engine.setter
    def Engine(self, Engine):
        self._Engine = Engine

    @property
    def RetainLast(self):
        r"""需要保留的最近快照个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetainLast

    @RetainLast.setter
    def RetainLast(self, RetainLast):
        self._RetainLast = RetainLast

    @property
    def BeforeDays(self):
        r"""过期指定天前的快照
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._BeforeDays

    @BeforeDays.setter
    def BeforeDays(self, BeforeDays):
        self._BeforeDays = BeforeDays

    @property
    def MaxConcurrentDeletes(self):
        r"""清理过期快照的并行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MaxConcurrentDeletes

    @MaxConcurrentDeletes.setter
    def MaxConcurrentDeletes(self, MaxConcurrentDeletes):
        self._MaxConcurrentDeletes = MaxConcurrentDeletes

    @property
    def IntervalMin(self):
        r"""快照过期治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IntervalMin

    @IntervalMin.setter
    def IntervalMin(self, IntervalMin):
        self._IntervalMin = IntervalMin


    def _deserialize(self, params):
        self._ExpiredSnapshotsEnable = params.get("ExpiredSnapshotsEnable")
        self._Engine = params.get("Engine")
        self._RetainLast = params.get("RetainLast")
        self._BeforeDays = params.get("BeforeDays")
        self._MaxConcurrentDeletes = params.get("MaxConcurrentDeletes")
        self._IntervalMin = params.get("IntervalMin")
        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 DlcMergeManifestsInfo(AbstractModel):
    r"""合并元数据Manifests治理项

    """

    def __init__(self):
        r"""
        :param _MergeManifestsEnable: 是否启用合并元数据Manifests文件治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :type MergeManifestsEnable: str
        :param _Engine: 用于运行合并元数据Manifests文件治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Engine: str
        :param _IntervalMin: 合并元数据Manifests文件治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type IntervalMin: int
        """
        self._MergeManifestsEnable = None
        self._Engine = None
        self._IntervalMin = None

    @property
    def MergeManifestsEnable(self):
        r"""是否启用合并元数据Manifests文件治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MergeManifestsEnable

    @MergeManifestsEnable.setter
    def MergeManifestsEnable(self, MergeManifestsEnable):
        self._MergeManifestsEnable = MergeManifestsEnable

    @property
    def Engine(self):
        r"""用于运行合并元数据Manifests文件治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Engine

    @Engine.setter
    def Engine(self, Engine):
        self._Engine = Engine

    @property
    def IntervalMin(self):
        r"""合并元数据Manifests文件治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IntervalMin

    @IntervalMin.setter
    def IntervalMin(self, IntervalMin):
        self._IntervalMin = IntervalMin


    def _deserialize(self, params):
        self._MergeManifestsEnable = params.get("MergeManifestsEnable")
        self._Engine = params.get("Engine")
        self._IntervalMin = params.get("IntervalMin")
        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 DlcRemoveOrphanFilesInfo(AbstractModel):
    r"""移除孤立文件治理项

    """

    def __init__(self):
        r"""
        :param _RemoveOrphanFilesEnable: 是否启用移除孤立文件治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :type RemoveOrphanFilesEnable: str
        :param _Engine: 用于运行移除孤立文件治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Engine: str
        :param _BeforeDays: 移除指定天前的孤立文件
注意：此字段可能返回 null，表示取不到有效值。
        :type BeforeDays: int
        :param _MaxConcurrentDeletes: 移除孤立文件的并行数
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxConcurrentDeletes: int
        :param _IntervalMin: 移除孤立文件治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type IntervalMin: int
        """
        self._RemoveOrphanFilesEnable = None
        self._Engine = None
        self._BeforeDays = None
        self._MaxConcurrentDeletes = None
        self._IntervalMin = None

    @property
    def RemoveOrphanFilesEnable(self):
        r"""是否启用移除孤立文件治理项：enable、none
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RemoveOrphanFilesEnable

    @RemoveOrphanFilesEnable.setter
    def RemoveOrphanFilesEnable(self, RemoveOrphanFilesEnable):
        self._RemoveOrphanFilesEnable = RemoveOrphanFilesEnable

    @property
    def Engine(self):
        r"""用于运行移除孤立文件治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Engine

    @Engine.setter
    def Engine(self, Engine):
        self._Engine = Engine

    @property
    def BeforeDays(self):
        r"""移除指定天前的孤立文件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._BeforeDays

    @BeforeDays.setter
    def BeforeDays(self, BeforeDays):
        self._BeforeDays = BeforeDays

    @property
    def MaxConcurrentDeletes(self):
        r"""移除孤立文件的并行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MaxConcurrentDeletes

    @MaxConcurrentDeletes.setter
    def MaxConcurrentDeletes(self, MaxConcurrentDeletes):
        self._MaxConcurrentDeletes = MaxConcurrentDeletes

    @property
    def IntervalMin(self):
        r"""移除孤立文件治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IntervalMin

    @IntervalMin.setter
    def IntervalMin(self, IntervalMin):
        self._IntervalMin = IntervalMin


    def _deserialize(self, params):
        self._RemoveOrphanFilesEnable = params.get("RemoveOrphanFilesEnable")
        self._Engine = params.get("Engine")
        self._BeforeDays = params.get("BeforeDays")
        self._MaxConcurrentDeletes = params.get("MaxConcurrentDeletes")
        self._IntervalMin = params.get("IntervalMin")
        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 DlcRewriteDataInfo(AbstractModel):
    r"""数据排布治理项

    """

    def __init__(self):
        r"""
        :param _RewriteDataEnable: 是否启用数据重排布治理项：enable（启动）、disable（不启用，默认）
注意：此字段可能返回 null，表示取不到有效值。
        :type RewriteDataEnable: str
        :param _Engine: 用于运行数据重排布治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Engine: str
        :param _MinInputFiles: 重排布任务执行的文件个数
注意：此字段可能返回 null，表示取不到有效值。
        :type MinInputFiles: int
        :param _TargetFileSizeBytes: 数据重排布写后的数据文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetFileSizeBytes: int
        :param _IntervalMin: 数据重排布治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type IntervalMin: int
        """
        self._RewriteDataEnable = None
        self._Engine = None
        self._MinInputFiles = None
        self._TargetFileSizeBytes = None
        self._IntervalMin = None

    @property
    def RewriteDataEnable(self):
        r"""是否启用数据重排布治理项：enable（启动）、disable（不启用，默认）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RewriteDataEnable

    @RewriteDataEnable.setter
    def RewriteDataEnable(self, RewriteDataEnable):
        self._RewriteDataEnable = RewriteDataEnable

    @property
    def Engine(self):
        r"""用于运行数据重排布治理项的引擎名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Engine

    @Engine.setter
    def Engine(self, Engine):
        self._Engine = Engine

    @property
    def MinInputFiles(self):
        r"""重排布任务执行的文件个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MinInputFiles

    @MinInputFiles.setter
    def MinInputFiles(self, MinInputFiles):
        self._MinInputFiles = MinInputFiles

    @property
    def TargetFileSizeBytes(self):
        r"""数据重排布写后的数据文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TargetFileSizeBytes

    @TargetFileSizeBytes.setter
    def TargetFileSizeBytes(self, TargetFileSizeBytes):
        self._TargetFileSizeBytes = TargetFileSizeBytes

    @property
    def IntervalMin(self):
        r"""数据重排布治理运行周期，单位为分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IntervalMin

    @IntervalMin.setter
    def IntervalMin(self, IntervalMin):
        self._IntervalMin = IntervalMin


    def _deserialize(self, params):
        self._RewriteDataEnable = params.get("RewriteDataEnable")
        self._Engine = params.get("Engine")
        self._MinInputFiles = params.get("MinInputFiles")
        self._TargetFileSizeBytes = params.get("TargetFileSizeBytes")
        self._IntervalMin = params.get("IntervalMin")
        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 DownloadLogByLineRequest(AbstractModel):
    r"""DownloadLogByLine请求参数结构体

    """

    def __init__(self):
        r"""
        :param _StartLine: 开始行
        :type StartLine: int
        :param _LineCount: 读取行
        :type LineCount: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 实例运行时间
        :type CurRunDate: str
        :param _DetailId: 任务详情id，用于读取切分的日志文件
        :type DetailId: str
        :param _FilePath: base64编码的文件路径
        :type FilePath: str
        :param _RecordId: 任务记录id
        :type RecordId: str
        :param _SubJobId: 子job id
        :type SubJobId: str
        :param _JobType: hiveSql:34,sparkSql:36 dlcSql: 32
        :type JobType: str
        :param _ParseErrorTip: true:解析错误信息。false:不解析错误信息
        :type ParseErrorTip: bool
        :param _FileType: log 0 code 1 result 2 custo 3
        :type FileType: int
        :param _QueryFileFlag: 查询文件标志：0: 从执行机获取，1: 从cos获取，获取不到会再从执行机获取
        :type QueryFileFlag: int
        :param _ExtInfo: 透传字段，如果queryFileFlag为1，则ext回作为上一页的分页标识offset
        :type ExtInfo: str
        """
        self._StartLine = None
        self._LineCount = None
        self._ProjectId = None
        self._TaskId = None
        self._CurRunDate = None
        self._DetailId = None
        self._FilePath = None
        self._RecordId = None
        self._SubJobId = None
        self._JobType = None
        self._ParseErrorTip = None
        self._FileType = None
        self._QueryFileFlag = None
        self._ExtInfo = None

    @property
    def StartLine(self):
        r"""开始行
        :rtype: int
        """
        return self._StartLine

    @StartLine.setter
    def StartLine(self, StartLine):
        self._StartLine = StartLine

    @property
    def LineCount(self):
        r"""读取行
        :rtype: int
        """
        return self._LineCount

    @LineCount.setter
    def LineCount(self, LineCount):
        self._LineCount = LineCount

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""实例运行时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def DetailId(self):
        r"""任务详情id，用于读取切分的日志文件
        :rtype: str
        """
        return self._DetailId

    @DetailId.setter
    def DetailId(self, DetailId):
        self._DetailId = DetailId

    @property
    def FilePath(self):
        r"""base64编码的文件路径
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath

    @property
    def RecordId(self):
        r"""任务记录id
        :rtype: str
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def SubJobId(self):
        r"""子job id
        :rtype: str
        """
        return self._SubJobId

    @SubJobId.setter
    def SubJobId(self, SubJobId):
        self._SubJobId = SubJobId

    @property
    def JobType(self):
        r"""hiveSql:34,sparkSql:36 dlcSql: 32
        :rtype: str
        """
        return self._JobType

    @JobType.setter
    def JobType(self, JobType):
        self._JobType = JobType

    @property
    def ParseErrorTip(self):
        r"""true:解析错误信息。false:不解析错误信息
        :rtype: bool
        """
        return self._ParseErrorTip

    @ParseErrorTip.setter
    def ParseErrorTip(self, ParseErrorTip):
        self._ParseErrorTip = ParseErrorTip

    @property
    def FileType(self):
        r"""log 0 code 1 result 2 custo 3
        :rtype: int
        """
        return self._FileType

    @FileType.setter
    def FileType(self, FileType):
        self._FileType = FileType

    @property
    def QueryFileFlag(self):
        r"""查询文件标志：0: 从执行机获取，1: 从cos获取，获取不到会再从执行机获取
        :rtype: int
        """
        return self._QueryFileFlag

    @QueryFileFlag.setter
    def QueryFileFlag(self, QueryFileFlag):
        self._QueryFileFlag = QueryFileFlag

    @property
    def ExtInfo(self):
        r"""透传字段，如果queryFileFlag为1，则ext回作为上一页的分页标识offset
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo


    def _deserialize(self, params):
        self._StartLine = params.get("StartLine")
        self._LineCount = params.get("LineCount")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._DetailId = params.get("DetailId")
        self._FilePath = params.get("FilePath")
        self._RecordId = params.get("RecordId")
        self._SubJobId = params.get("SubJobId")
        self._JobType = params.get("JobType")
        self._ParseErrorTip = params.get("ParseErrorTip")
        self._FileType = params.get("FileType")
        self._QueryFileFlag = params.get("QueryFileFlag")
        self._ExtInfo = params.get("ExtInfo")
        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 DownloadLogByLineResponse(AbstractModel):
    r"""DownloadLogByLine返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 日志信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceLogByLine`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""日志信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLogByLine`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceLogByLine()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class DryRunDIOfflineTaskRequest(AbstractModel):
    r"""DryRunDIOfflineTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务Id
        :type TaskId: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _ResourceGroup: 资源组Id
        :type ResourceGroup: str
        :param _TaskTypeId: 默认 27
        :type TaskTypeId: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._ResourceGroup = None
        self._TaskTypeId = None

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ResourceGroup(self):
        r"""资源组Id
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def TaskTypeId(self):
        r"""默认 27
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._ResourceGroup = params.get("ResourceGroup")
        self._TaskTypeId = params.get("TaskTypeId")
        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 DryRunDIOfflineTaskResponse(AbstractModel):
    r"""DryRunDIOfflineTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _CurrentRunDate: 数据时间
        :type CurrentRunDate: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Status: 任务状态
        :type Status: str
        :param _TaskId: 任务Id
        :type TaskId: str
        :param _TaskInstanceKey: 任务实例唯一key
        :type TaskInstanceKey: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._CurrentRunDate = None
        self._ProjectId = None
        self._Status = None
        self._TaskId = None
        self._TaskInstanceKey = None
        self._RequestId = None

    @property
    def CurrentRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurrentRunDate

    @CurrentRunDate.setter
    def CurrentRunDate(self, CurrentRunDate):
        self._CurrentRunDate = CurrentRunDate

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Status(self):
        r"""任务状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskInstanceKey(self):
        r"""任务实例唯一key
        :rtype: str
        """
        return self._TaskInstanceKey

    @TaskInstanceKey.setter
    def TaskInstanceKey(self, TaskInstanceKey):
        self._TaskInstanceKey = TaskInstanceKey

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._CurrentRunDate = params.get("CurrentRunDate")
        self._ProjectId = params.get("ProjectId")
        self._Status = params.get("Status")
        self._TaskId = params.get("TaskId")
        self._TaskInstanceKey = params.get("TaskInstanceKey")
        self._RequestId = params.get("RequestId")


class Duty(AbstractModel):
    r"""值班信息

    """

    def __init__(self):
        r"""
        :param _DutyScheduleId: 值班Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DutyScheduleId: int
        :param _StartTime: 值班开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 值班结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _DutyPersons: 值班人员
注意：此字段可能返回 null，表示取不到有效值。
        :type DutyPersons: list of DutyPerson
        """
        self._DutyScheduleId = None
        self._StartTime = None
        self._EndTime = None
        self._DutyPersons = None

    @property
    def DutyScheduleId(self):
        r"""值班Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DutyScheduleId

    @DutyScheduleId.setter
    def DutyScheduleId(self, DutyScheduleId):
        self._DutyScheduleId = DutyScheduleId

    @property
    def StartTime(self):
        r"""值班开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""值班结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def DutyPersons(self):
        r"""值班人员
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DutyPerson
        """
        return self._DutyPersons

    @DutyPersons.setter
    def DutyPersons(self, DutyPersons):
        self._DutyPersons = DutyPersons


    def _deserialize(self, params):
        self._DutyScheduleId = params.get("DutyScheduleId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        if params.get("DutyPersons") is not None:
            self._DutyPersons = []
            for item in params.get("DutyPersons"):
                obj = DutyPerson()
                obj._deserialize(item)
                self._DutyPersons.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 DutyPerson(AbstractModel):
    r"""值班人员

    """

    def __init__(self):
        r"""
        :param _UserId: 值班人子账号id
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _UserName: 值班人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _OwnerUserId: 值班人员主账号用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserId: str
        :param _TenantId: 值班人tenantId
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: int
        :param _AddTime: 2023-11-02 08:00:00
注意：此字段可能返回 null，表示取不到有效值。
        :type AddTime: str
        :param _Params: 扩展字段
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        """
        self._UserId = None
        self._UserName = None
        self._OwnerUserId = None
        self._TenantId = None
        self._AddTime = None
        self._Params = None

    @property
    def UserId(self):
        r"""值班人子账号id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def UserName(self):
        r"""值班人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def OwnerUserId(self):
        r"""值班人员主账号用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUserId

    @OwnerUserId.setter
    def OwnerUserId(self, OwnerUserId):
        self._OwnerUserId = OwnerUserId

    @property
    def TenantId(self):
        r"""值班人tenantId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def AddTime(self):
        r"""2023-11-02 08:00:00
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AddTime

    @AddTime.setter
    def AddTime(self, AddTime):
        self._AddTime = AddTime

    @property
    def Params(self):
        r"""扩展字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params


    def _deserialize(self, params):
        self._UserId = params.get("UserId")
        self._UserName = params.get("UserName")
        self._OwnerUserId = params.get("OwnerUserId")
        self._TenantId = params.get("TenantId")
        self._AddTime = params.get("AddTime")
        self._Params = params.get("Params")
        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 DutySchedule(AbstractModel):
    r"""值班表列表

    """

    def __init__(self):
        r"""
        :param _Rows: 值班表列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of DutyScheduleData
        :param _TotalCount: 总条数
        :type TotalCount: int
        :param _PageNumber: 页号
        :type PageNumber: int
        :param _PageSize: 页大小
        :type PageSize: int
        :param _TotalPageNumber: 总页数
        :type TotalPageNumber: int
        """
        self._Rows = None
        self._TotalCount = None
        self._PageNumber = None
        self._PageSize = None
        self._TotalPageNumber = None

    @property
    def Rows(self):
        r"""值班表列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DutyScheduleData
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def TotalCount(self):
        r"""总条数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageNumber(self):
        r"""页号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalPageNumber(self):
        r"""总页数
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber


    def _deserialize(self, params):
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = DutyScheduleData()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TotalPageNumber = params.get("TotalPageNumber")
        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 DutyScheduleData(AbstractModel):
    r"""值班表列表

    """

    def __init__(self):
        r"""
        :param _Id: 值班表Id
        :type Id: int
        :param _Name: 值班表名称
        :type Name: str
        :param _Creator: 创建人
        :type Creator: str
        """
        self._Id = None
        self._Name = None
        self._Creator = None

    @property
    def Id(self):
        r"""值班表Id
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Name(self):
        r"""值班表名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Creator(self):
        r"""创建人
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Name = params.get("Name")
        self._Creator = params.get("Creator")
        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 DutyScheduleDetailsInfo(AbstractModel):
    r"""值班信息表

    """

    def __init__(self):
        r"""
        :param _Day: 值班日期
        :type Day: str
        :param _Duty: 值班信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Duty: list of Duty
        """
        self._Day = None
        self._Duty = None

    @property
    def Day(self):
        r"""值班日期
        :rtype: str
        """
        return self._Day

    @Day.setter
    def Day(self, Day):
        self._Day = Day

    @property
    def Duty(self):
        r"""值班信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Duty
        """
        return self._Duty

    @Duty.setter
    def Duty(self, Duty):
        self._Duty = Duty


    def _deserialize(self, params):
        self._Day = params.get("Day")
        if params.get("Duty") is not None:
            self._Duty = []
            for item in params.get("Duty"):
                obj = Duty()
                obj._deserialize(item)
                self._Duty.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 EnableProjectRequest(AbstractModel):
    r"""EnableProject请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ModuleKey: 模块名称
        :type ModuleKey: str
        """
        self._ProjectId = None
        self._ModuleKey = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ModuleKey(self):
        r"""模块名称
        :rtype: str
        """
        return self._ModuleKey

    @ModuleKey.setter
    def ModuleKey(self, ModuleKey):
        self._ModuleKey = ModuleKey


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ModuleKey = params.get("ModuleKey")
        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 EnableProjectResponse(AbstractModel):
    r"""EnableProject返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 无
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""无
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class EngineTaskInfo(AbstractModel):
    r"""引擎任务信息

    """

    def __init__(self):
        r"""
        :param _EngineSubmitTime: 引擎提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineSubmitTime: str
        :param _EngineExeTime: 引擎执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeTime: str
        :param _EngineExeTimeCost: 引擎执行总时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeTimeCost: float
        :param _CuConsume: cu消耗
注意：此字段可能返回 null，表示取不到有效值。
        :type CuConsume: int
        :param _ResourceUsage: 该值表示任务预设资源，sql任务不需要预设资源，该值为-1
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceUsage: int
        :param _EngineName: 引擎名。在wedata侧若获取不到引擎名，则是wedata侧生成dlc标识，与dlc侧的引擎名存在不一致的情况

注意：此字段可能返回 null，表示取不到有效值。
        :type EngineName: str
        :param _EngineExeStatus: 引擎执行状态
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeStatus: str
        :param _TaskKind: 任务种类
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskKind: str
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: str
        :param _TaskContent: 任务SQL语句
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskContent: str
        :param _InputBytesSum: 数据扫描总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :type InputBytesSum: int
        :param _ShuffleReadBytesSum: shuffle read 总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :type ShuffleReadBytesSum: int
        :param _ShuffleReadRecordsSum: shuffle read 总行数
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :type ShuffleReadRecordsSum: int
        :param _OutputRecordsSum: 输出总行数
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :type OutputRecordsSum: int
        :param _OutputBytesSum: 输出总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :type OutputBytesSum: int
        :param _OutputFilesNum: 输出文件数
注意：此字段可能返回 null，表示取不到有效值。
        :type OutputFilesNum: int
        :param _OutputSmallFilesNum: 输出小文件数
注意：此字段可能返回 null，表示取不到有效值。
        :type OutputSmallFilesNum: int
        :param _WaitTime: 执行等待时间
注意：此字段可能返回 null，表示取不到有效值。
        :type WaitTime: int
        :param _QueryResultTime: 查询结果时间
注意：此字段可能返回 null，表示取不到有效值。
        :type QueryResultTime: int
        :param _CmdArgs: 入参
注意：此字段可能返回 null，表示取不到有效值。
        :type CmdArgs: str
        :param _VCoreSeconds: 使用虚拟核心秒数
注意：此字段可能返回 null，表示取不到有效值。
        :type VCoreSeconds: int
        :param _MemorySeconds: 使用的内存秒数
注意：此字段可能返回 null，表示取不到有效值。
        :type MemorySeconds: int
        :param _EmrUserName: EMR用户名
注意：此字段可能返回 null，表示取不到有效值。
        :type EmrUserName: str
        :param _QueryId: 任务的查询ID
注意：此字段可能返回 null，表示取不到有效值。
        :type QueryId: str
        :param _ApplicationId: 应用程序ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ApplicationId: str
        """
        self._EngineSubmitTime = None
        self._EngineExeTime = None
        self._EngineExeTimeCost = None
        self._CuConsume = None
        self._ResourceUsage = None
        self._EngineName = None
        self._EngineExeStatus = None
        self._TaskKind = None
        self._TaskType = None
        self._TaskContent = None
        self._InputBytesSum = None
        self._ShuffleReadBytesSum = None
        self._ShuffleReadRecordsSum = None
        self._OutputRecordsSum = None
        self._OutputBytesSum = None
        self._OutputFilesNum = None
        self._OutputSmallFilesNum = None
        self._WaitTime = None
        self._QueryResultTime = None
        self._CmdArgs = None
        self._VCoreSeconds = None
        self._MemorySeconds = None
        self._EmrUserName = None
        self._QueryId = None
        self._ApplicationId = None

    @property
    def EngineSubmitTime(self):
        r"""引擎提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineSubmitTime

    @EngineSubmitTime.setter
    def EngineSubmitTime(self, EngineSubmitTime):
        self._EngineSubmitTime = EngineSubmitTime

    @property
    def EngineExeTime(self):
        r"""引擎执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeTime

    @EngineExeTime.setter
    def EngineExeTime(self, EngineExeTime):
        self._EngineExeTime = EngineExeTime

    @property
    def EngineExeTimeCost(self):
        r"""引擎执行总时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._EngineExeTimeCost

    @EngineExeTimeCost.setter
    def EngineExeTimeCost(self, EngineExeTimeCost):
        self._EngineExeTimeCost = EngineExeTimeCost

    @property
    def CuConsume(self):
        r"""cu消耗
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CuConsume

    @CuConsume.setter
    def CuConsume(self, CuConsume):
        self._CuConsume = CuConsume

    @property
    def ResourceUsage(self):
        r"""该值表示任务预设资源，sql任务不需要预设资源，该值为-1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ResourceUsage

    @ResourceUsage.setter
    def ResourceUsage(self, ResourceUsage):
        self._ResourceUsage = ResourceUsage

    @property
    def EngineName(self):
        r"""引擎名。在wedata侧若获取不到引擎名，则是wedata侧生成dlc标识，与dlc侧的引擎名存在不一致的情况

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineName

    @EngineName.setter
    def EngineName(self, EngineName):
        self._EngineName = EngineName

    @property
    def EngineExeStatus(self):
        r"""引擎执行状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeStatus

    @EngineExeStatus.setter
    def EngineExeStatus(self, EngineExeStatus):
        self._EngineExeStatus = EngineExeStatus

    @property
    def TaskKind(self):
        r"""任务种类
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskKind

    @TaskKind.setter
    def TaskKind(self, TaskKind):
        self._TaskKind = TaskKind

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TaskContent(self):
        r"""任务SQL语句
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskContent

    @TaskContent.setter
    def TaskContent(self, TaskContent):
        self._TaskContent = TaskContent

    @property
    def InputBytesSum(self):
        r"""数据扫描总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InputBytesSum

    @InputBytesSum.setter
    def InputBytesSum(self, InputBytesSum):
        self._InputBytesSum = InputBytesSum

    @property
    def ShuffleReadBytesSum(self):
        r"""shuffle read 总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ShuffleReadBytesSum

    @ShuffleReadBytesSum.setter
    def ShuffleReadBytesSum(self, ShuffleReadBytesSum):
        self._ShuffleReadBytesSum = ShuffleReadBytesSum

    @property
    def ShuffleReadRecordsSum(self):
        r"""shuffle read 总行数
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ShuffleReadRecordsSum

    @ShuffleReadRecordsSum.setter
    def ShuffleReadRecordsSum(self, ShuffleReadRecordsSum):
        self._ShuffleReadRecordsSum = ShuffleReadRecordsSum

    @property
    def OutputRecordsSum(self):
        r"""输出总行数
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OutputRecordsSum

    @OutputRecordsSum.setter
    def OutputRecordsSum(self, OutputRecordsSum):
        self._OutputRecordsSum = OutputRecordsSum

    @property
    def OutputBytesSum(self):
        r"""输出总 bytes
注意：此字段可能返回 null，表示取不到有效值。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OutputBytesSum

    @OutputBytesSum.setter
    def OutputBytesSum(self, OutputBytesSum):
        self._OutputBytesSum = OutputBytesSum

    @property
    def OutputFilesNum(self):
        r"""输出文件数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OutputFilesNum

    @OutputFilesNum.setter
    def OutputFilesNum(self, OutputFilesNum):
        self._OutputFilesNum = OutputFilesNum

    @property
    def OutputSmallFilesNum(self):
        r"""输出小文件数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OutputSmallFilesNum

    @OutputSmallFilesNum.setter
    def OutputSmallFilesNum(self, OutputSmallFilesNum):
        self._OutputSmallFilesNum = OutputSmallFilesNum

    @property
    def WaitTime(self):
        r"""执行等待时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WaitTime

    @WaitTime.setter
    def WaitTime(self, WaitTime):
        self._WaitTime = WaitTime

    @property
    def QueryResultTime(self):
        r"""查询结果时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._QueryResultTime

    @QueryResultTime.setter
    def QueryResultTime(self, QueryResultTime):
        self._QueryResultTime = QueryResultTime

    @property
    def CmdArgs(self):
        r"""入参
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CmdArgs

    @CmdArgs.setter
    def CmdArgs(self, CmdArgs):
        self._CmdArgs = CmdArgs

    @property
    def VCoreSeconds(self):
        r"""使用虚拟核心秒数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._VCoreSeconds

    @VCoreSeconds.setter
    def VCoreSeconds(self, VCoreSeconds):
        self._VCoreSeconds = VCoreSeconds

    @property
    def MemorySeconds(self):
        r"""使用的内存秒数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MemorySeconds

    @MemorySeconds.setter
    def MemorySeconds(self, MemorySeconds):
        self._MemorySeconds = MemorySeconds

    @property
    def EmrUserName(self):
        r"""EMR用户名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EmrUserName

    @EmrUserName.setter
    def EmrUserName(self, EmrUserName):
        self._EmrUserName = EmrUserName

    @property
    def QueryId(self):
        r"""任务的查询ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QueryId

    @QueryId.setter
    def QueryId(self, QueryId):
        self._QueryId = QueryId

    @property
    def ApplicationId(self):
        r"""应用程序ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApplicationId

    @ApplicationId.setter
    def ApplicationId(self, ApplicationId):
        self._ApplicationId = ApplicationId


    def _deserialize(self, params):
        self._EngineSubmitTime = params.get("EngineSubmitTime")
        self._EngineExeTime = params.get("EngineExeTime")
        self._EngineExeTimeCost = params.get("EngineExeTimeCost")
        self._CuConsume = params.get("CuConsume")
        self._ResourceUsage = params.get("ResourceUsage")
        self._EngineName = params.get("EngineName")
        self._EngineExeStatus = params.get("EngineExeStatus")
        self._TaskKind = params.get("TaskKind")
        self._TaskType = params.get("TaskType")
        self._TaskContent = params.get("TaskContent")
        self._InputBytesSum = params.get("InputBytesSum")
        self._ShuffleReadBytesSum = params.get("ShuffleReadBytesSum")
        self._ShuffleReadRecordsSum = params.get("ShuffleReadRecordsSum")
        self._OutputRecordsSum = params.get("OutputRecordsSum")
        self._OutputBytesSum = params.get("OutputBytesSum")
        self._OutputFilesNum = params.get("OutputFilesNum")
        self._OutputSmallFilesNum = params.get("OutputSmallFilesNum")
        self._WaitTime = params.get("WaitTime")
        self._QueryResultTime = params.get("QueryResultTime")
        self._CmdArgs = params.get("CmdArgs")
        self._VCoreSeconds = params.get("VCoreSeconds")
        self._MemorySeconds = params.get("MemorySeconds")
        self._EmrUserName = params.get("EmrUserName")
        self._QueryId = params.get("QueryId")
        self._ApplicationId = params.get("ApplicationId")
        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 EventBatchCaseDTO(AbstractModel):
    r"""事件连续时间实例信息

    """

    def __init__(self):
        r"""
        :param _CaseId: 事件实例id
        :type CaseId: str
        :param _Name: 事件名
        :type Name: str
        :param _StartDimension: 事件触发起始时间
        :type StartDimension: str
        :param _CreationTs: 创建时间
        :type CreationTs: str
        :param _ConsumerId: 消费者id
        :type ConsumerId: str
        :param _Description: 描述信息
        :type Description: str
        :param _EndDimension: 事件触发结束时间
        :type EndDimension: str
        :param _EventSubType: 事件周期
        :type EventSubType: str
        """
        self._CaseId = None
        self._Name = None
        self._StartDimension = None
        self._CreationTs = None
        self._ConsumerId = None
        self._Description = None
        self._EndDimension = None
        self._EventSubType = None

    @property
    def CaseId(self):
        r"""事件实例id
        :rtype: str
        """
        return self._CaseId

    @CaseId.setter
    def CaseId(self, CaseId):
        self._CaseId = CaseId

    @property
    def Name(self):
        r"""事件名
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def StartDimension(self):
        r"""事件触发起始时间
        :rtype: str
        """
        return self._StartDimension

    @StartDimension.setter
    def StartDimension(self, StartDimension):
        self._StartDimension = StartDimension

    @property
    def CreationTs(self):
        r"""创建时间
        :rtype: str
        """
        return self._CreationTs

    @CreationTs.setter
    def CreationTs(self, CreationTs):
        self._CreationTs = CreationTs

    @property
    def ConsumerId(self):
        r"""消费者id
        :rtype: str
        """
        return self._ConsumerId

    @ConsumerId.setter
    def ConsumerId(self, ConsumerId):
        self._ConsumerId = ConsumerId

    @property
    def Description(self):
        r"""描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def EndDimension(self):
        r"""事件触发结束时间
        :rtype: str
        """
        return self._EndDimension

    @EndDimension.setter
    def EndDimension(self, EndDimension):
        self._EndDimension = EndDimension

    @property
    def EventSubType(self):
        r"""事件周期
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType


    def _deserialize(self, params):
        self._CaseId = params.get("CaseId")
        self._Name = params.get("Name")
        self._StartDimension = params.get("StartDimension")
        self._CreationTs = params.get("CreationTs")
        self._ConsumerId = params.get("ConsumerId")
        self._Description = params.get("Description")
        self._EndDimension = params.get("EndDimension")
        self._EventSubType = params.get("EventSubType")
        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 EventCaseAuditLogOptDto(AbstractModel):
    r"""事件实例

    """

    def __init__(self):
        r"""
        :param _CaseId: 事件实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CaseId: str
        :param _EventName: 事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        :param _EventType: 事件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventType: str
        :param _EventSubType: 事件分割类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventSubType: str
        :param _EventBroadcastType: 事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventBroadcastType: str
        :param _TTL: 事件实例存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TTL: int
        :param _TimeUnit: 事件实例存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeUnit: str
        :param _Dimension: 数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type Dimension: str
        :param _Status: 事件实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _EventTriggerTimestamp: 事件实例触发时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type EventTriggerTimestamp: str
        :param _LogTimestamp: 事件实例消费时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type LogTimestamp: str
        :param _Description: 事件实例描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ConsumeCount: 消费次数
注意：此字段可能返回 null，表示取不到有效值。
        :type ConsumeCount: int
        """
        self._CaseId = None
        self._EventName = None
        self._EventType = None
        self._EventSubType = None
        self._EventBroadcastType = None
        self._TTL = None
        self._TimeUnit = None
        self._Dimension = None
        self._Status = None
        self._EventTriggerTimestamp = None
        self._LogTimestamp = None
        self._Description = None
        self._ConsumeCount = None

    @property
    def CaseId(self):
        r"""事件实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CaseId

    @CaseId.setter
    def CaseId(self, CaseId):
        self._CaseId = CaseId

    @property
    def EventName(self):
        r"""事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def EventType(self):
        r"""事件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        self._EventType = EventType

    @property
    def EventSubType(self):
        r"""事件分割类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def EventBroadcastType(self):
        r"""事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        self._EventBroadcastType = EventBroadcastType

    @property
    def TTL(self):
        r"""事件实例存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TTL

    @TTL.setter
    def TTL(self, TTL):
        self._TTL = TTL

    @property
    def TimeUnit(self):
        r"""事件实例存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def Dimension(self):
        r"""数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def Status(self):
        r"""事件实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def EventTriggerTimestamp(self):
        r"""事件实例触发时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventTriggerTimestamp

    @EventTriggerTimestamp.setter
    def EventTriggerTimestamp(self, EventTriggerTimestamp):
        self._EventTriggerTimestamp = EventTriggerTimestamp

    @property
    def LogTimestamp(self):
        r"""事件实例消费时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogTimestamp

    @LogTimestamp.setter
    def LogTimestamp(self, LogTimestamp):
        self._LogTimestamp = LogTimestamp

    @property
    def Description(self):
        r"""事件实例描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ConsumeCount(self):
        r"""消费次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConsumeCount

    @ConsumeCount.setter
    def ConsumeCount(self, ConsumeCount):
        self._ConsumeCount = ConsumeCount


    def _deserialize(self, params):
        self._CaseId = params.get("CaseId")
        self._EventName = params.get("EventName")
        self._EventType = params.get("EventType")
        self._EventSubType = params.get("EventSubType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._TTL = params.get("TTL")
        self._TimeUnit = params.get("TimeUnit")
        self._Dimension = params.get("Dimension")
        self._Status = params.get("Status")
        self._EventTriggerTimestamp = params.get("EventTriggerTimestamp")
        self._LogTimestamp = params.get("LogTimestamp")
        self._Description = params.get("Description")
        self._ConsumeCount = params.get("ConsumeCount")
        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 EventCaseAuditLogVOCollection(AbstractModel):
    r"""事件实例分页查询结果

    """

    def __init__(self):
        r"""
        :param _TotalCount: 结果总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 分页数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of EventCaseAuditLogOptDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""结果总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""分页数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventCaseAuditLogOptDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = EventCaseAuditLogOptDto()
                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 EventCaseConsumeLogOptDto(AbstractModel):
    r"""事件消费记录

    """

    def __init__(self):
        r"""
        :param _ConsumeLogId: 消费ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ConsumeLogId: str
        :param _EventCaseId: 事件案例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type EventCaseId: str
        :param _ConsumerId: 消费者ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ConsumerId: str
        :param _CreationTimestamp: 消费时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTimestamp: str
        :param _ConsumerDetail: 任务详情
注意：此字段可能返回 null，表示取不到有效值。
        :type ConsumerDetail: :class:`tencentcloud.wedata.v20210820.models.TaskOpsDto`
        """
        self._ConsumeLogId = None
        self._EventCaseId = None
        self._ConsumerId = None
        self._CreationTimestamp = None
        self._ConsumerDetail = None

    @property
    def ConsumeLogId(self):
        r"""消费ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConsumeLogId

    @ConsumeLogId.setter
    def ConsumeLogId(self, ConsumeLogId):
        self._ConsumeLogId = ConsumeLogId

    @property
    def EventCaseId(self):
        r"""事件案例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventCaseId

    @EventCaseId.setter
    def EventCaseId(self, EventCaseId):
        self._EventCaseId = EventCaseId

    @property
    def ConsumerId(self):
        r"""消费者ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConsumerId

    @ConsumerId.setter
    def ConsumerId(self, ConsumerId):
        self._ConsumerId = ConsumerId

    @property
    def CreationTimestamp(self):
        r"""消费时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTimestamp

    @CreationTimestamp.setter
    def CreationTimestamp(self, CreationTimestamp):
        self._CreationTimestamp = CreationTimestamp

    @property
    def ConsumerDetail(self):
        r"""任务详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskOpsDto`
        """
        return self._ConsumerDetail

    @ConsumerDetail.setter
    def ConsumerDetail(self, ConsumerDetail):
        self._ConsumerDetail = ConsumerDetail


    def _deserialize(self, params):
        self._ConsumeLogId = params.get("ConsumeLogId")
        self._EventCaseId = params.get("EventCaseId")
        self._ConsumerId = params.get("ConsumerId")
        self._CreationTimestamp = params.get("CreationTimestamp")
        if params.get("ConsumerDetail") is not None:
            self._ConsumerDetail = TaskOpsDto()
            self._ConsumerDetail._deserialize(params.get("ConsumerDetail"))
        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 EventCaseConsumeLogOptDtoCollection(AbstractModel):
    r"""事件消费任务记录列表

    """

    def __init__(self):
        r"""
        :param _TotalCount: 结果总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 结果总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页结果数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 每页数目
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 分页数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of EventCaseConsumeLogOptDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""结果总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""结果总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页结果数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页数目
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""分页数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventCaseConsumeLogOptDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = EventCaseConsumeLogOptDto()
                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 EventCaseDTO(AbstractModel):
    r"""事件实例信息

    """

    def __init__(self):
        r"""
        :param _CaseId: 事件实例id
        :type CaseId: str
        :param _Name: 事件名
        :type Name: str
        :param _Dimension: 事件格式
        :type Dimension: str
        :param _CreationTs: 创建时间
        :type CreationTs: str
        :param _ConsumerId: 消费者id
        :type ConsumerId: str
        :param _Description: 描述信息
        :type Description: str
        """
        self._CaseId = None
        self._Name = None
        self._Dimension = None
        self._CreationTs = None
        self._ConsumerId = None
        self._Description = None

    @property
    def CaseId(self):
        r"""事件实例id
        :rtype: str
        """
        return self._CaseId

    @CaseId.setter
    def CaseId(self, CaseId):
        self._CaseId = CaseId

    @property
    def Name(self):
        r"""事件名
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Dimension(self):
        r"""事件格式
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def CreationTs(self):
        r"""创建时间
        :rtype: str
        """
        return self._CreationTs

    @CreationTs.setter
    def CreationTs(self, CreationTs):
        self._CreationTs = CreationTs

    @property
    def ConsumerId(self):
        r"""消费者id
        :rtype: str
        """
        return self._ConsumerId

    @ConsumerId.setter
    def ConsumerId(self, ConsumerId):
        self._ConsumerId = ConsumerId

    @property
    def Description(self):
        r"""描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._CaseId = params.get("CaseId")
        self._Name = params.get("Name")
        self._Dimension = params.get("Dimension")
        self._CreationTs = params.get("CreationTs")
        self._ConsumerId = params.get("ConsumerId")
        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 EventCaseOpsDto(AbstractModel):
    r"""EventCaseOpsDto

    """

    def __init__(self):
        r"""
        :param _CaseId: 案例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CaseId: str
        :param _Name: 案例名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Dimension: 时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :type Dimension: str
        :param _CreationTimestamp: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTimestamp: str
        :param _ConsumerId: 消费者id
注意：此字段可能返回 null，表示取不到有效值。
        :type ConsumerId: str
        :param _Description: 描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._CaseId = None
        self._Name = None
        self._Dimension = None
        self._CreationTimestamp = None
        self._ConsumerId = None
        self._Description = None

    @property
    def CaseId(self):
        r"""案例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CaseId

    @CaseId.setter
    def CaseId(self, CaseId):
        self._CaseId = CaseId

    @property
    def Name(self):
        r"""案例名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Dimension(self):
        r"""时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def CreationTimestamp(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTimestamp

    @CreationTimestamp.setter
    def CreationTimestamp(self, CreationTimestamp):
        self._CreationTimestamp = CreationTimestamp

    @property
    def ConsumerId(self):
        r"""消费者id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConsumerId

    @ConsumerId.setter
    def ConsumerId(self, ConsumerId):
        self._ConsumerId = ConsumerId

    @property
    def Description(self):
        r"""描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._CaseId = params.get("CaseId")
        self._Name = params.get("Name")
        self._Dimension = params.get("Dimension")
        self._CreationTimestamp = params.get("CreationTimestamp")
        self._ConsumerId = params.get("ConsumerId")
        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 EventDsDto(AbstractModel):
    r"""事件管理- 事件实体

    """

    def __init__(self):
        r"""
        :param _Name: 事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _EventType: 事件类型GENERAL、TIME_SERIES
注意：此字段可能返回 null，表示取不到有效值。
        :type EventType: str
        :param _TimeToLive: 存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeToLive: int
        :param _TimeUnit: 存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeUnit: str
        :param _EventSubType: 事件分割类型 SECOND、MIN、HOUR、DAY
注意：此字段可能返回 null，表示取不到有效值。
        :type EventSubType: str
        :param _EventBroadcastType: 事件广播类型SINGLE、BROADCAST
注意：此字段可能返回 null，表示取不到有效值。
        :type EventBroadcastType: str
        :param _DimensionFormat: 时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :type DimensionFormat: str
        :param _CreationTs: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTs: str
        :param _Owner: 事件所属人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _Properties: 属性
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: str
        :param _Description: 描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Listeners: 事件监听者信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Listeners: list of EventListenerDTO
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ValidConsumeCount: 事件消费有效次数
注意：此字段可能返回 null，表示取不到有效值。
        :type ValidConsumeCount: int
        :param _EventId: 事件id
注意：此字段可能返回 null，表示取不到有效值。
        :type EventId: str
        :param _BundleId: bundleId
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleId: str
        :param _BundleInfo: bundle信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleInfo: str
        """
        self._Name = None
        self._EventType = None
        self._TimeToLive = None
        self._TimeUnit = None
        self._EventSubType = None
        self._EventBroadcastType = None
        self._DimensionFormat = None
        self._CreationTs = None
        self._Owner = None
        self._Properties = None
        self._Description = None
        self._Listeners = None
        self._ProjectId = None
        self._ProjectName = None
        self._ValidConsumeCount = None
        self._EventId = None
        self._BundleId = None
        self._BundleInfo = None

    @property
    def Name(self):
        r"""事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def EventType(self):
        r"""事件类型GENERAL、TIME_SERIES
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        self._EventType = EventType

    @property
    def TimeToLive(self):
        r"""存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TimeToLive

    @TimeToLive.setter
    def TimeToLive(self, TimeToLive):
        self._TimeToLive = TimeToLive

    @property
    def TimeUnit(self):
        r"""存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def EventSubType(self):
        r"""事件分割类型 SECOND、MIN、HOUR、DAY
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def EventBroadcastType(self):
        r"""事件广播类型SINGLE、BROADCAST
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        self._EventBroadcastType = EventBroadcastType

    @property
    def DimensionFormat(self):
        r"""时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimensionFormat

    @DimensionFormat.setter
    def DimensionFormat(self, DimensionFormat):
        self._DimensionFormat = DimensionFormat

    @property
    def CreationTs(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTs

    @CreationTs.setter
    def CreationTs(self, CreationTs):
        self._CreationTs = CreationTs

    @property
    def Owner(self):
        r"""事件所属人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def Properties(self):
        r"""属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def Description(self):
        r"""描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Listeners(self):
        r"""事件监听者信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventListenerDTO
        """
        return self._Listeners

    @Listeners.setter
    def Listeners(self, Listeners):
        self._Listeners = Listeners

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ValidConsumeCount(self):
        r"""事件消费有效次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ValidConsumeCount

    @ValidConsumeCount.setter
    def ValidConsumeCount(self, ValidConsumeCount):
        self._ValidConsumeCount = ValidConsumeCount

    @property
    def EventId(self):
        r"""事件id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventId

    @EventId.setter
    def EventId(self, EventId):
        self._EventId = EventId

    @property
    def BundleId(self):
        r"""bundleId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleId

    @BundleId.setter
    def BundleId(self, BundleId):
        self._BundleId = BundleId

    @property
    def BundleInfo(self):
        r"""bundle信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleInfo

    @BundleInfo.setter
    def BundleInfo(self, BundleInfo):
        self._BundleInfo = BundleInfo


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._EventType = params.get("EventType")
        self._TimeToLive = params.get("TimeToLive")
        self._TimeUnit = params.get("TimeUnit")
        self._EventSubType = params.get("EventSubType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._DimensionFormat = params.get("DimensionFormat")
        self._CreationTs = params.get("CreationTs")
        self._Owner = params.get("Owner")
        self._Properties = params.get("Properties")
        self._Description = params.get("Description")
        if params.get("Listeners") is not None:
            self._Listeners = []
            for item in params.get("Listeners"):
                obj = EventListenerDTO()
                obj._deserialize(item)
                self._Listeners.append(obj)
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._ValidConsumeCount = params.get("ValidConsumeCount")
        self._EventId = params.get("EventId")
        self._BundleId = params.get("BundleId")
        self._BundleInfo = params.get("BundleInfo")
        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 EventListenerDTO(AbstractModel):
    r"""事件监听者信息

    """

    def __init__(self):
        r"""
        :param _Key: 关键字，一般为任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Type: REST_API、KAFKA
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _CreationTs: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTs: str
        :param _PropertiesList: 配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type PropertiesList: list of ParamInfoDs
        :param _EventName: 事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        :param _TaskInfo: 监听者任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskInfo: :class:`tencentcloud.wedata.v20210820.models.EventListenerTaskInfo`
        :param _EventProjectId: 事件所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type EventProjectId: str
        """
        self._Key = None
        self._Type = None
        self._CreationTs = None
        self._PropertiesList = None
        self._EventName = None
        self._TaskInfo = None
        self._EventProjectId = None

    @property
    def Key(self):
        r"""关键字，一般为任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Type(self):
        r"""REST_API、KAFKA
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def CreationTs(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTs

    @CreationTs.setter
    def CreationTs(self, CreationTs):
        self._CreationTs = CreationTs

    @property
    def PropertiesList(self):
        r"""配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfoDs
        """
        return self._PropertiesList

    @PropertiesList.setter
    def PropertiesList(self, PropertiesList):
        self._PropertiesList = PropertiesList

    @property
    def EventName(self):
        r"""事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def TaskInfo(self):
        r"""监听者任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventListenerTaskInfo`
        """
        return self._TaskInfo

    @TaskInfo.setter
    def TaskInfo(self, TaskInfo):
        self._TaskInfo = TaskInfo

    @property
    def EventProjectId(self):
        r"""事件所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventProjectId

    @EventProjectId.setter
    def EventProjectId(self, EventProjectId):
        self._EventProjectId = EventProjectId


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Type = params.get("Type")
        self._CreationTs = params.get("CreationTs")
        if params.get("PropertiesList") is not None:
            self._PropertiesList = []
            for item in params.get("PropertiesList"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._PropertiesList.append(obj)
        self._EventName = params.get("EventName")
        if params.get("TaskInfo") is not None:
            self._TaskInfo = EventListenerTaskInfo()
            self._TaskInfo._deserialize(params.get("TaskInfo"))
        self._EventProjectId = params.get("EventProjectId")
        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 EventListenerOpsDto(AbstractModel):
    r"""事件监听器

    """

    def __init__(self):
        r"""
        :param _EventName: 事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        :param _Key: 关键字，如果是任务，则是任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Type: 触发方式
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Properties: 事件属性
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: str
        :param _CreationTimestamp: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTimestamp: str
        """
        self._EventName = None
        self._Key = None
        self._Type = None
        self._Properties = None
        self._CreationTimestamp = None

    @property
    def EventName(self):
        r"""事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def Key(self):
        r"""关键字，如果是任务，则是任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Type(self):
        r"""触发方式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Properties(self):
        r"""事件属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def CreationTimestamp(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTimestamp

    @CreationTimestamp.setter
    def CreationTimestamp(self, CreationTimestamp):
        self._CreationTimestamp = CreationTimestamp


    def _deserialize(self, params):
        self._EventName = params.get("EventName")
        self._Key = params.get("Key")
        self._Type = params.get("Type")
        self._Properties = params.get("Properties")
        self._CreationTimestamp = params.get("CreationTimestamp")
        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 EventListenerTaskInfo(AbstractModel):
    r"""监听者任务信息

    """

    def __init__(self):
        r"""
        :param _TaskId: <p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: <p>任务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: <p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: <p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _TaskTypeId: <p>任务类型id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _TaskType: <p>任务类型名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: str
        :param _ProjectId: <p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _CycleType: <p>任务周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _EventName: <p>事件名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EventName: str
        """
        self._TaskId = None
        self._TaskName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._TaskTypeId = None
        self._TaskType = None
        self._ProjectId = None
        self._CycleType = None
        self._EventName = None

    @property
    def TaskId(self):
        r"""<p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""<p>任务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""<p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""<p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def TaskTypeId(self):
        r"""<p>任务类型id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def TaskType(self):
        r"""<p>任务类型名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CycleType(self):
        r"""<p>任务周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def EventName(self):
        r"""<p>事件名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._TaskTypeId = params.get("TaskTypeId")
        self._TaskType = params.get("TaskType")
        self._ProjectId = params.get("ProjectId")
        self._CycleType = params.get("CycleType")
        self._EventName = params.get("EventName")
        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 EventOpsDto(AbstractModel):
    r"""事件详情

    """

    def __init__(self):
        r"""
        :param _Name: 事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _EventType: 事件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventType: str
        :param _EventSubType: 事件分割类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventSubType: str
        :param _EventBroadcastType: 事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EventBroadcastType: str
        :param _DimensionFormat: 数据时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :type DimensionFormat: str
        :param _TimeToLive: 存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeToLive: int
        :param _TimeUnit: 存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeUnit: str
        :param _CreationTimestamp: 创建时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTimestamp: str
        :param _Owner: 所属者
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _Properties: 属性
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Listeners: 监听器
注意：此字段可能返回 null，表示取不到有效值。
        :type Listeners: list of EventListenerOpsDto
        :param _EventCases: 事件案例
注意：此字段可能返回 null，表示取不到有效值。
        :type EventCases: list of EventCaseOpsDto
        """
        self._Name = None
        self._EventType = None
        self._EventSubType = None
        self._EventBroadcastType = None
        self._DimensionFormat = None
        self._TimeToLive = None
        self._TimeUnit = None
        self._CreationTimestamp = None
        self._Owner = None
        self._Properties = None
        self._Description = None
        self._Listeners = None
        self._EventCases = None

    @property
    def Name(self):
        r"""事件名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def EventType(self):
        r"""事件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        self._EventType = EventType

    @property
    def EventSubType(self):
        r"""事件分割类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def EventBroadcastType(self):
        r"""事件广播类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        self._EventBroadcastType = EventBroadcastType

    @property
    def DimensionFormat(self):
        r"""数据时间格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DimensionFormat

    @DimensionFormat.setter
    def DimensionFormat(self, DimensionFormat):
        self._DimensionFormat = DimensionFormat

    @property
    def TimeToLive(self):
        r"""存活时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TimeToLive

    @TimeToLive.setter
    def TimeToLive(self, TimeToLive):
        self._TimeToLive = TimeToLive

    @property
    def TimeUnit(self):
        r"""存活时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def CreationTimestamp(self):
        r"""创建时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTimestamp

    @CreationTimestamp.setter
    def CreationTimestamp(self, CreationTimestamp):
        self._CreationTimestamp = CreationTimestamp

    @property
    def Owner(self):
        r"""所属者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def Properties(self):
        r"""属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Listeners(self):
        r"""监听器
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventListenerOpsDto
        """
        return self._Listeners

    @Listeners.setter
    def Listeners(self, Listeners):
        self._Listeners = Listeners

    @property
    def EventCases(self):
        r"""事件案例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventCaseOpsDto
        """
        return self._EventCases

    @EventCases.setter
    def EventCases(self, EventCases):
        self._EventCases = EventCases


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._EventType = params.get("EventType")
        self._EventSubType = params.get("EventSubType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._DimensionFormat = params.get("DimensionFormat")
        self._TimeToLive = params.get("TimeToLive")
        self._TimeUnit = params.get("TimeUnit")
        self._CreationTimestamp = params.get("CreationTimestamp")
        self._Owner = params.get("Owner")
        self._Properties = params.get("Properties")
        self._Description = params.get("Description")
        if params.get("Listeners") is not None:
            self._Listeners = []
            for item in params.get("Listeners"):
                obj = EventListenerOpsDto()
                obj._deserialize(item)
                self._Listeners.append(obj)
        if params.get("EventCases") is not None:
            self._EventCases = []
            for item in params.get("EventCases"):
                obj = EventCaseOpsDto()
                obj._deserialize(item)
                self._EventCases.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 EventPublisherDTO(AbstractModel):
    r"""事件发布者信息

    """

    def __init__(self):
        r"""
        :param _Key: 关键字，一般为任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Type: REST_API、KAFKA
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _CreationTs: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreationTs: str
        :param _PropertiesList: 配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type PropertiesList: list of ParamInfoDs
        :param _Description: 描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Key = None
        self._Type = None
        self._CreationTs = None
        self._PropertiesList = None
        self._Description = None

    @property
    def Key(self):
        r"""关键字，一般为任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Type(self):
        r"""REST_API、KAFKA
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def CreationTs(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreationTs

    @CreationTs.setter
    def CreationTs(self, CreationTs):
        self._CreationTs = CreationTs

    @property
    def PropertiesList(self):
        r"""配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfoDs
        """
        return self._PropertiesList

    @PropertiesList.setter
    def PropertiesList(self, PropertiesList):
        self._PropertiesList = PropertiesList

    @property
    def Description(self):
        r"""描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Type = params.get("Type")
        self._CreationTs = params.get("CreationTs")
        if params.get("PropertiesList") is not None:
            self._PropertiesList = []
            for item in params.get("PropertiesList"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._PropertiesList.append(obj)
        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 ExecutorResourceGroupInfo(AbstractModel):
    r"""资源组详情

    """

    def __init__(self):
        r"""
        :param _ExecutorGroupId: 执行组id, 仅更新资源时需要传
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 执行组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _ExecutorGroupDesc: 执行组描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupDesc: str
        :param _ExecutorResourceType: SCHEDULER （标准调度资源组），CUSTOM_SCHEDULER （自定义调度资源），INTEGRATION（集成资源组），DATA_SERVICE（数据服务资源组）
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorResourceType: int
        :param _Region: 区域中文
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _VpcId: vpcId, 托管服务时需要传递
注意：此字段可能返回 null，表示取不到有效值。
        :type VpcId: str
        :param _SubnetId: subnetId, 托管服务时需要传递
注意：此字段可能返回 null，表示取不到有效值。
        :type SubnetId: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _BasicResourcePackage: 基础资源包，资源组至少包含一个基础资源包
注意：此字段可能返回 null，表示取不到有效值。
        :type BasicResourcePackage: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageInfo`
        :param _AdvanceResourcePackage: 增强资源包
注意：此字段可能返回 null，表示取不到有效值。
        :type AdvanceResourcePackage: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageInfo`
        :param _AutoRenewFlag: 是否自动续费
注意：此字段可能返回 null，表示取不到有效值。
        :type AutoRenewFlag: int
        :param _RegionEn: 区域英文
注意：此字段可能返回 null，表示取不到有效值。
        :type RegionEn: str
        :param _RegionId: 区域Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RegionId: int
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectDisplayName: 项目展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _AssociateProjectNums: 资源组关联项目数
注意：此字段可能返回 null，表示取不到有效值。
        :type AssociateProjectNums: int
        :param _IsLocked: 是否锁定，false为未锁定，true为锁定
注意：此字段可能返回 null，表示取不到有效值。
        :type IsLocked: bool
        :param _SourceType: 来源类型，0为系统默认，1为自定义
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceType: int
        :param _MQPackageVO: 队列资源包
注意：此字段可能返回 null，表示取不到有效值。
        :type MQPackageVO: :class:`tencentcloud.wedata.v20210820.models.MQPackageVO`
        :param _FirstChoice: 是否首选
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstChoice: bool
        :param _PythonSubVersions: 资源组python版本绑定详情
        :type PythonSubVersions: list of str
        """
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._ExecutorGroupDesc = None
        self._ExecutorResourceType = None
        self._Region = None
        self._VpcId = None
        self._SubnetId = None
        self._ProjectId = None
        self._BasicResourcePackage = None
        self._AdvanceResourcePackage = None
        self._AutoRenewFlag = None
        self._RegionEn = None
        self._RegionId = None
        self._ProjectName = None
        self._ProjectDisplayName = None
        self._AssociateProjectNums = None
        self._IsLocked = None
        self._SourceType = None
        self._MQPackageVO = None
        self._FirstChoice = None
        self._PythonSubVersions = None

    @property
    def ExecutorGroupId(self):
        r"""执行组id, 仅更新资源时需要传
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""执行组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def ExecutorGroupDesc(self):
        r"""执行组描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupDesc

    @ExecutorGroupDesc.setter
    def ExecutorGroupDesc(self, ExecutorGroupDesc):
        self._ExecutorGroupDesc = ExecutorGroupDesc

    @property
    def ExecutorResourceType(self):
        r"""SCHEDULER （标准调度资源组），CUSTOM_SCHEDULER （自定义调度资源），INTEGRATION（集成资源组），DATA_SERVICE（数据服务资源组）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExecutorResourceType

    @ExecutorResourceType.setter
    def ExecutorResourceType(self, ExecutorResourceType):
        self._ExecutorResourceType = ExecutorResourceType

    @property
    def Region(self):
        r"""区域中文
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def VpcId(self):
        r"""vpcId, 托管服务时需要传递
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VpcId

    @VpcId.setter
    def VpcId(self, VpcId):
        self._VpcId = VpcId

    @property
    def SubnetId(self):
        r"""subnetId, 托管服务时需要传递
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubnetId

    @SubnetId.setter
    def SubnetId(self, SubnetId):
        self._SubnetId = SubnetId

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def BasicResourcePackage(self):
        r"""基础资源包，资源组至少包含一个基础资源包
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageInfo`
        """
        return self._BasicResourcePackage

    @BasicResourcePackage.setter
    def BasicResourcePackage(self, BasicResourcePackage):
        self._BasicResourcePackage = BasicResourcePackage

    @property
    def AdvanceResourcePackage(self):
        r"""增强资源包
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageInfo`
        """
        return self._AdvanceResourcePackage

    @AdvanceResourcePackage.setter
    def AdvanceResourcePackage(self, AdvanceResourcePackage):
        self._AdvanceResourcePackage = AdvanceResourcePackage

    @property
    def AutoRenewFlag(self):
        r"""是否自动续费
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AutoRenewFlag

    @AutoRenewFlag.setter
    def AutoRenewFlag(self, AutoRenewFlag):
        self._AutoRenewFlag = AutoRenewFlag

    @property
    def RegionEn(self):
        r"""区域英文
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RegionEn

    @RegionEn.setter
    def RegionEn(self, RegionEn):
        self._RegionEn = RegionEn

    @property
    def RegionId(self):
        r"""区域Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RegionId

    @RegionId.setter
    def RegionId(self, RegionId):
        self._RegionId = RegionId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectDisplayName(self):
        r"""项目展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def AssociateProjectNums(self):
        r"""资源组关联项目数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssociateProjectNums

    @AssociateProjectNums.setter
    def AssociateProjectNums(self, AssociateProjectNums):
        self._AssociateProjectNums = AssociateProjectNums

    @property
    def IsLocked(self):
        r"""是否锁定，false为未锁定，true为锁定
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsLocked

    @IsLocked.setter
    def IsLocked(self, IsLocked):
        self._IsLocked = IsLocked

    @property
    def SourceType(self):
        r"""来源类型，0为系统默认，1为自定义
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SourceType

    @SourceType.setter
    def SourceType(self, SourceType):
        self._SourceType = SourceType

    @property
    def MQPackageVO(self):
        r"""队列资源包
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.MQPackageVO`
        """
        return self._MQPackageVO

    @MQPackageVO.setter
    def MQPackageVO(self, MQPackageVO):
        self._MQPackageVO = MQPackageVO

    @property
    def FirstChoice(self):
        r"""是否首选
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._FirstChoice

    @FirstChoice.setter
    def FirstChoice(self, FirstChoice):
        self._FirstChoice = FirstChoice

    @property
    def PythonSubVersions(self):
        r"""资源组python版本绑定详情
        :rtype: list of str
        """
        return self._PythonSubVersions

    @PythonSubVersions.setter
    def PythonSubVersions(self, PythonSubVersions):
        self._PythonSubVersions = PythonSubVersions


    def _deserialize(self, params):
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._ExecutorGroupDesc = params.get("ExecutorGroupDesc")
        self._ExecutorResourceType = params.get("ExecutorResourceType")
        self._Region = params.get("Region")
        self._VpcId = params.get("VpcId")
        self._SubnetId = params.get("SubnetId")
        self._ProjectId = params.get("ProjectId")
        if params.get("BasicResourcePackage") is not None:
            self._BasicResourcePackage = ExecutorResourcePackageInfo()
            self._BasicResourcePackage._deserialize(params.get("BasicResourcePackage"))
        if params.get("AdvanceResourcePackage") is not None:
            self._AdvanceResourcePackage = ExecutorResourcePackageInfo()
            self._AdvanceResourcePackage._deserialize(params.get("AdvanceResourcePackage"))
        self._AutoRenewFlag = params.get("AutoRenewFlag")
        self._RegionEn = params.get("RegionEn")
        self._RegionId = params.get("RegionId")
        self._ProjectName = params.get("ProjectName")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._AssociateProjectNums = params.get("AssociateProjectNums")
        self._IsLocked = params.get("IsLocked")
        self._SourceType = params.get("SourceType")
        if params.get("MQPackageVO") is not None:
            self._MQPackageVO = MQPackageVO()
            self._MQPackageVO._deserialize(params.get("MQPackageVO"))
        self._FirstChoice = params.get("FirstChoice")
        self._PythonSubVersions = params.get("PythonSubVersions")
        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 ExecutorResourcePackageExtInfo(AbstractModel):
    r"""执行资源包额外信息

    """

    def __init__(self):
        r"""
        :param _InlongGroupId: 集成资源组：InLong集群id
注意：此字段可能返回 null，表示取不到有效值。
        :type InlongGroupId: str
        :param _OceanusClusterId: 集成资源组：oceanus集群id
注意：此字段可能返回 null，表示取不到有效值。
        :type OceanusClusterId: str
        :param _ProductResourceIdList: 计费相关：产品资源id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductResourceIdList: list of str
        :param _BillingSuccess: 当前资源包对应订单是否发货成功
注意：此字段可能返回 null，表示取不到有效值。
        :type BillingSuccess: bool
        :param _ApigwServiceId: apigw服务id
注意：此字段可能返回 null，表示取不到有效值。
        :type ApigwServiceId: str
        :param _ApigwServiceName: apigw服务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ApigwServiceName: str
        :param _DataProxySpec: 数据集成相关：dataProxy配置规格
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxySpec: int
        :param _DataProxyNum: dataProxy数量
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyNum: int
        :param _DataProxyStatus: dataProxy状态，同ExecutorGroupStatus
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyStatus: int
        :param _InLongManagerUrl: inlongManager地址
注意：此字段可能返回 null，表示取不到有效值。
        :type InLongManagerUrl: str
        :param _InLongVersion: inlong版本
注意：此字段可能返回 null，表示取不到有效值。
        :type InLongVersion: str
        :param _ExecutorMachineIpList: 私有化资源组相关: 执行及机器ip列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorMachineIpList: str
        """
        self._InlongGroupId = None
        self._OceanusClusterId = None
        self._ProductResourceIdList = None
        self._BillingSuccess = None
        self._ApigwServiceId = None
        self._ApigwServiceName = None
        self._DataProxySpec = None
        self._DataProxyNum = None
        self._DataProxyStatus = None
        self._InLongManagerUrl = None
        self._InLongVersion = None
        self._ExecutorMachineIpList = None

    @property
    def InlongGroupId(self):
        r"""集成资源组：InLong集群id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InlongGroupId

    @InlongGroupId.setter
    def InlongGroupId(self, InlongGroupId):
        self._InlongGroupId = InlongGroupId

    @property
    def OceanusClusterId(self):
        r"""集成资源组：oceanus集群id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OceanusClusterId

    @OceanusClusterId.setter
    def OceanusClusterId(self, OceanusClusterId):
        self._OceanusClusterId = OceanusClusterId

    @property
    def ProductResourceIdList(self):
        r"""计费相关：产品资源id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._ProductResourceIdList

    @ProductResourceIdList.setter
    def ProductResourceIdList(self, ProductResourceIdList):
        self._ProductResourceIdList = ProductResourceIdList

    @property
    def BillingSuccess(self):
        r"""当前资源包对应订单是否发货成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._BillingSuccess

    @BillingSuccess.setter
    def BillingSuccess(self, BillingSuccess):
        self._BillingSuccess = BillingSuccess

    @property
    def ApigwServiceId(self):
        r"""apigw服务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApigwServiceId

    @ApigwServiceId.setter
    def ApigwServiceId(self, ApigwServiceId):
        self._ApigwServiceId = ApigwServiceId

    @property
    def ApigwServiceName(self):
        r"""apigw服务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApigwServiceName

    @ApigwServiceName.setter
    def ApigwServiceName(self, ApigwServiceName):
        self._ApigwServiceName = ApigwServiceName

    @property
    def DataProxySpec(self):
        r"""数据集成相关：dataProxy配置规格
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataProxySpec

    @DataProxySpec.setter
    def DataProxySpec(self, DataProxySpec):
        self._DataProxySpec = DataProxySpec

    @property
    def DataProxyNum(self):
        r"""dataProxy数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataProxyNum

    @DataProxyNum.setter
    def DataProxyNum(self, DataProxyNum):
        self._DataProxyNum = DataProxyNum

    @property
    def DataProxyStatus(self):
        r"""dataProxy状态，同ExecutorGroupStatus
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataProxyStatus

    @DataProxyStatus.setter
    def DataProxyStatus(self, DataProxyStatus):
        self._DataProxyStatus = DataProxyStatus

    @property
    def InLongManagerUrl(self):
        r"""inlongManager地址
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InLongManagerUrl

    @InLongManagerUrl.setter
    def InLongManagerUrl(self, InLongManagerUrl):
        self._InLongManagerUrl = InLongManagerUrl

    @property
    def InLongVersion(self):
        r"""inlong版本
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InLongVersion

    @InLongVersion.setter
    def InLongVersion(self, InLongVersion):
        self._InLongVersion = InLongVersion

    @property
    def ExecutorMachineIpList(self):
        r"""私有化资源组相关: 执行及机器ip列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorMachineIpList

    @ExecutorMachineIpList.setter
    def ExecutorMachineIpList(self, ExecutorMachineIpList):
        self._ExecutorMachineIpList = ExecutorMachineIpList


    def _deserialize(self, params):
        self._InlongGroupId = params.get("InlongGroupId")
        self._OceanusClusterId = params.get("OceanusClusterId")
        self._ProductResourceIdList = params.get("ProductResourceIdList")
        self._BillingSuccess = params.get("BillingSuccess")
        self._ApigwServiceId = params.get("ApigwServiceId")
        self._ApigwServiceName = params.get("ApigwServiceName")
        self._DataProxySpec = params.get("DataProxySpec")
        self._DataProxyNum = params.get("DataProxyNum")
        self._DataProxyStatus = params.get("DataProxyStatus")
        self._InLongManagerUrl = params.get("InLongManagerUrl")
        self._InLongVersion = params.get("InLongVersion")
        self._ExecutorMachineIpList = params.get("ExecutorMachineIpList")
        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 ExecutorResourcePackageInfo(AbstractModel):
    r"""执行资源包

    """

    def __init__(self):
        r"""
        :param _ResourcePackageNum: 资源包规格相关：资源包个数
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourcePackageNum: int
        :param _CpuNum: 资源包规格相关：cpu个数
注意：此字段可能返回 null，表示取不到有效值。
        :type CpuNum: int
        :param _ExecutorResourcePackageId: 资源包id
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorResourcePackageId: str
        :param _MemSize: 资源包规格相关：内存大小，单位:G
注意：此字段可能返回 null，表示取不到有效值。
        :type MemSize: int
        :param _Status: 资源包状态， /**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
    EXPIRED(9);
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _StatusDescription: 资源包状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :type StatusDescription: str
        :param _ExpireTime: 资源包到期时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpireTime: int
        :param _ExtInfo: 资源包额外属性
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtInfo: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageExtInfo`
        :param _ProjectId: 绑定的项目id，可为空
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectBindTime: 资源组绑定的时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectBindTime: int
        :param _ResourcePackageUsage: 资源包使用状态: cpu使用，内存使用及趋势
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourcePackageUsage: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageUsageInfo`
        :param _ProductResourceIdList: 计费相关：产品资源id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductResourceIdList: list of int
        :param _LifeTime: 生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeTime: int
        :param _VpcId: 私有网络Id
注意：此字段可能返回 null，表示取不到有效值。
        :type VpcId: str
        :param _VpcName: 私有网络名称
注意：此字段可能返回 null，表示取不到有效值。
        :type VpcName: str
        :param _SubnetId: 子网Id
注意：此字段可能返回 null，表示取不到有效值。
        :type SubnetId: str
        :param _SubnetName: 子网名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SubnetName: str
        :param _ResourceStandard: 执行资源相关：资源规格描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceStandard: str
        :param _TotalMemory: 内存总数
        :type TotalMemory: int
        """
        self._ResourcePackageNum = None
        self._CpuNum = None
        self._ExecutorResourcePackageId = None
        self._MemSize = None
        self._Status = None
        self._StatusDescription = None
        self._ExpireTime = None
        self._ExtInfo = None
        self._ProjectId = None
        self._ProjectBindTime = None
        self._ResourcePackageUsage = None
        self._ProductResourceIdList = None
        self._LifeTime = None
        self._VpcId = None
        self._VpcName = None
        self._SubnetId = None
        self._SubnetName = None
        self._ResourceStandard = None
        self._TotalMemory = None

    @property
    def ResourcePackageNum(self):
        r"""资源包规格相关：资源包个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ResourcePackageNum

    @ResourcePackageNum.setter
    def ResourcePackageNum(self, ResourcePackageNum):
        self._ResourcePackageNum = ResourcePackageNum

    @property
    def CpuNum(self):
        r"""资源包规格相关：cpu个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CpuNum

    @CpuNum.setter
    def CpuNum(self, CpuNum):
        self._CpuNum = CpuNum

    @property
    def ExecutorResourcePackageId(self):
        r"""资源包id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorResourcePackageId

    @ExecutorResourcePackageId.setter
    def ExecutorResourcePackageId(self, ExecutorResourcePackageId):
        self._ExecutorResourcePackageId = ExecutorResourcePackageId

    @property
    def MemSize(self):
        r"""资源包规格相关：内存大小，单位:G
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MemSize

    @MemSize.setter
    def MemSize(self, MemSize):
        self._MemSize = MemSize

    @property
    def Status(self):
        r"""资源包状态， /**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
    EXPIRED(9);
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def StatusDescription(self):
        r"""资源包状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StatusDescription

    @StatusDescription.setter
    def StatusDescription(self, StatusDescription):
        self._StatusDescription = StatusDescription

    @property
    def ExpireTime(self):
        r"""资源包到期时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExpireTime

    @ExpireTime.setter
    def ExpireTime(self, ExpireTime):
        self._ExpireTime = ExpireTime

    @property
    def ExtInfo(self):
        r"""资源包额外属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageExtInfo`
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo

    @property
    def ProjectId(self):
        r"""绑定的项目id，可为空
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectBindTime(self):
        r"""资源组绑定的时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProjectBindTime

    @ProjectBindTime.setter
    def ProjectBindTime(self, ProjectBindTime):
        self._ProjectBindTime = ProjectBindTime

    @property
    def ResourcePackageUsage(self):
        r"""资源包使用状态: cpu使用，内存使用及趋势
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExecutorResourcePackageUsageInfo`
        """
        return self._ResourcePackageUsage

    @ResourcePackageUsage.setter
    def ResourcePackageUsage(self, ResourcePackageUsage):
        self._ResourcePackageUsage = ResourcePackageUsage

    @property
    def ProductResourceIdList(self):
        r"""计费相关：产品资源id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._ProductResourceIdList

    @ProductResourceIdList.setter
    def ProductResourceIdList(self, ProductResourceIdList):
        self._ProductResourceIdList = ProductResourceIdList

    @property
    def LifeTime(self):
        r"""生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeTime

    @LifeTime.setter
    def LifeTime(self, LifeTime):
        self._LifeTime = LifeTime

    @property
    def VpcId(self):
        r"""私有网络Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VpcId

    @VpcId.setter
    def VpcId(self, VpcId):
        self._VpcId = VpcId

    @property
    def VpcName(self):
        r"""私有网络名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VpcName

    @VpcName.setter
    def VpcName(self, VpcName):
        self._VpcName = VpcName

    @property
    def SubnetId(self):
        r"""子网Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubnetId

    @SubnetId.setter
    def SubnetId(self, SubnetId):
        self._SubnetId = SubnetId

    @property
    def SubnetName(self):
        r"""子网名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubnetName

    @SubnetName.setter
    def SubnetName(self, SubnetName):
        self._SubnetName = SubnetName

    @property
    def ResourceStandard(self):
        r"""执行资源相关：资源规格描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceStandard

    @ResourceStandard.setter
    def ResourceStandard(self, ResourceStandard):
        self._ResourceStandard = ResourceStandard

    @property
    def TotalMemory(self):
        r"""内存总数
        :rtype: int
        """
        return self._TotalMemory

    @TotalMemory.setter
    def TotalMemory(self, TotalMemory):
        self._TotalMemory = TotalMemory


    def _deserialize(self, params):
        self._ResourcePackageNum = params.get("ResourcePackageNum")
        self._CpuNum = params.get("CpuNum")
        self._ExecutorResourcePackageId = params.get("ExecutorResourcePackageId")
        self._MemSize = params.get("MemSize")
        self._Status = params.get("Status")
        self._StatusDescription = params.get("StatusDescription")
        self._ExpireTime = params.get("ExpireTime")
        if params.get("ExtInfo") is not None:
            self._ExtInfo = ExecutorResourcePackageExtInfo()
            self._ExtInfo._deserialize(params.get("ExtInfo"))
        self._ProjectId = params.get("ProjectId")
        self._ProjectBindTime = params.get("ProjectBindTime")
        if params.get("ResourcePackageUsage") is not None:
            self._ResourcePackageUsage = ExecutorResourcePackageUsageInfo()
            self._ResourcePackageUsage._deserialize(params.get("ResourcePackageUsage"))
        self._ProductResourceIdList = params.get("ProductResourceIdList")
        self._LifeTime = params.get("LifeTime")
        self._VpcId = params.get("VpcId")
        self._VpcName = params.get("VpcName")
        self._SubnetId = params.get("SubnetId")
        self._SubnetName = params.get("SubnetName")
        self._ResourceStandard = params.get("ResourceStandard")
        self._TotalMemory = params.get("TotalMemory")
        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 ExecutorResourcePackageUsageInfo(AbstractModel):
    r"""执行资源包使用情况

    """

    def __init__(self):
        r"""
        :param _CpuUsagePercent: CPU占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type CpuUsagePercent: float
        :param _MemUsagePercent: 内存占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type MemUsagePercent: float
        :param _Status: 资源包状态, /**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
    EXPIRED(9);
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: float
        :param _RunningTaskNum: /**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
运行中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type RunningTaskNum: int
        :param _WaitingTaskNum: 等待中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type WaitingTaskNum: int
        :param _UsageTrendStartTime: 资源使用趋势: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UsageTrendStartTime: str
        :param _UsageTrendEndTime: 资源使用趋势: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UsageTrendEndTime: str
        :param _UsageTrendList: 资源使用趋势列表
注意：此字段可能返回 null，表示取不到有效值。
        :type UsageTrendList: list of ExecutorUsageTrendInfo
        """
        self._CpuUsagePercent = None
        self._MemUsagePercent = None
        self._Status = None
        self._RunningTaskNum = None
        self._WaitingTaskNum = None
        self._UsageTrendStartTime = None
        self._UsageTrendEndTime = None
        self._UsageTrendList = None

    @property
    def CpuUsagePercent(self):
        r"""CPU占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._CpuUsagePercent

    @CpuUsagePercent.setter
    def CpuUsagePercent(self, CpuUsagePercent):
        self._CpuUsagePercent = CpuUsagePercent

    @property
    def MemUsagePercent(self):
        r"""内存占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._MemUsagePercent

    @MemUsagePercent.setter
    def MemUsagePercent(self, MemUsagePercent):
        self._MemUsagePercent = MemUsagePercent

    @property
    def Status(self):
        r"""资源包状态, /**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
    EXPIRED(9);
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def RunningTaskNum(self):
        r"""/**
     * 初始化中
     */
    INIT(0),
    /**
     * 运行中
     */
    RUNNING(1),
    /**
     * 运行异常
     */
    RUNNING_FAILED(2),
    /**
     * 释放中
     */
    DELETEING(3),
    /**
     * 已释放
     */
    DELETED(4),
    /**
     * 创建中
     */
    CREATING(5),
    /**
     * 创建失败
     */
    CREATE_FAILED(6),
    /**
     * 更新中
     */
    UPDATING(7),
    /**
     * 更新失败
     */
    UPDATE_FAILED(8),
    /**
     * 已到期
     */
运行中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunningTaskNum

    @RunningTaskNum.setter
    def RunningTaskNum(self, RunningTaskNum):
        self._RunningTaskNum = RunningTaskNum

    @property
    def WaitingTaskNum(self):
        r"""等待中的任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WaitingTaskNum

    @WaitingTaskNum.setter
    def WaitingTaskNum(self, WaitingTaskNum):
        self._WaitingTaskNum = WaitingTaskNum

    @property
    def UsageTrendStartTime(self):
        r"""资源使用趋势: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UsageTrendStartTime

    @UsageTrendStartTime.setter
    def UsageTrendStartTime(self, UsageTrendStartTime):
        self._UsageTrendStartTime = UsageTrendStartTime

    @property
    def UsageTrendEndTime(self):
        r"""资源使用趋势: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UsageTrendEndTime

    @UsageTrendEndTime.setter
    def UsageTrendEndTime(self, UsageTrendEndTime):
        self._UsageTrendEndTime = UsageTrendEndTime

    @property
    def UsageTrendList(self):
        r"""资源使用趋势列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ExecutorUsageTrendInfo
        """
        return self._UsageTrendList

    @UsageTrendList.setter
    def UsageTrendList(self, UsageTrendList):
        self._UsageTrendList = UsageTrendList


    def _deserialize(self, params):
        self._CpuUsagePercent = params.get("CpuUsagePercent")
        self._MemUsagePercent = params.get("MemUsagePercent")
        self._Status = params.get("Status")
        self._RunningTaskNum = params.get("RunningTaskNum")
        self._WaitingTaskNum = params.get("WaitingTaskNum")
        self._UsageTrendStartTime = params.get("UsageTrendStartTime")
        self._UsageTrendEndTime = params.get("UsageTrendEndTime")
        if params.get("UsageTrendList") is not None:
            self._UsageTrendList = []
            for item in params.get("UsageTrendList"):
                obj = ExecutorUsageTrendInfo()
                obj._deserialize(item)
                self._UsageTrendList.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 ExecutorUsageTrendInfo(AbstractModel):
    r"""资源组/资源包使用趋势

    """

    def __init__(self):
        r"""
        :param _Timestamp: 时间戳，单位：毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :type Timestamp: int
        :param _CpuUsagePercent: CPU占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type CpuUsagePercent: float
        :param _MemUsagePercent: 内存占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type MemUsagePercent: float
        :param _ConcurrencyUsage: 当前并发度使用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type ConcurrencyUsage: float
        :param _OceanusCuUsage: oceanus CU使用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type OceanusCuUsage: float
        """
        self._Timestamp = None
        self._CpuUsagePercent = None
        self._MemUsagePercent = None
        self._ConcurrencyUsage = None
        self._OceanusCuUsage = None

    @property
    def Timestamp(self):
        r"""时间戳，单位：毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Timestamp

    @Timestamp.setter
    def Timestamp(self, Timestamp):
        self._Timestamp = Timestamp

    @property
    def CpuUsagePercent(self):
        r"""CPU占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._CpuUsagePercent

    @CpuUsagePercent.setter
    def CpuUsagePercent(self, CpuUsagePercent):
        self._CpuUsagePercent = CpuUsagePercent

    @property
    def MemUsagePercent(self):
        r"""内存占用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._MemUsagePercent

    @MemUsagePercent.setter
    def MemUsagePercent(self, MemUsagePercent):
        self._MemUsagePercent = MemUsagePercent

    @property
    def ConcurrencyUsage(self):
        r"""当前并发度使用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._ConcurrencyUsage

    @ConcurrencyUsage.setter
    def ConcurrencyUsage(self, ConcurrencyUsage):
        self._ConcurrencyUsage = ConcurrencyUsage

    @property
    def OceanusCuUsage(self):
        r"""oceanus CU使用百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._OceanusCuUsage

    @OceanusCuUsage.setter
    def OceanusCuUsage(self, OceanusCuUsage):
        self._OceanusCuUsage = OceanusCuUsage


    def _deserialize(self, params):
        self._Timestamp = params.get("Timestamp")
        self._CpuUsagePercent = params.get("CpuUsagePercent")
        self._MemUsagePercent = params.get("MemUsagePercent")
        self._ConcurrencyUsage = params.get("ConcurrencyUsage")
        self._OceanusCuUsage = params.get("OceanusCuUsage")
        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 ExtParam(AbstractModel):
    r"""扩展参数

    """

    def __init__(self):
        r"""
        :param _Key: key
        :type Key: str
        :param _Value: 具体值
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""key
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""具体值
        :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 ExtResourceFlagDto(AbstractModel):
    r"""扩展信息参数

    """

    def __init__(self):
        r"""
        :param _ParentTask: 父任务信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentTask: bool
        :param _EventListener: 生产事件获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type EventListener: str
        :param _DlcResourceConfig: Dlc相关配置获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcResourceConfig: str
        :param _Script: 脚本信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type Script: str
        :param _OfflineSyncTask: 离线任务信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type OfflineSyncTask: str
        """
        self._ParentTask = None
        self._EventListener = None
        self._DlcResourceConfig = None
        self._Script = None
        self._OfflineSyncTask = None

    @property
    def ParentTask(self):
        r"""父任务信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ParentTask

    @ParentTask.setter
    def ParentTask(self, ParentTask):
        self._ParentTask = ParentTask

    @property
    def EventListener(self):
        r"""生产事件获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventListener

    @EventListener.setter
    def EventListener(self, EventListener):
        self._EventListener = EventListener

    @property
    def DlcResourceConfig(self):
        r"""Dlc相关配置获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcResourceConfig

    @DlcResourceConfig.setter
    def DlcResourceConfig(self, DlcResourceConfig):
        self._DlcResourceConfig = DlcResourceConfig

    @property
    def Script(self):
        r"""脚本信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Script

    @Script.setter
    def Script(self, Script):
        self._Script = Script

    @property
    def OfflineSyncTask(self):
        r"""离线任务信息获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OfflineSyncTask

    @OfflineSyncTask.setter
    def OfflineSyncTask(self, OfflineSyncTask):
        self._OfflineSyncTask = OfflineSyncTask


    def _deserialize(self, params):
        self._ParentTask = params.get("ParentTask")
        self._EventListener = params.get("EventListener")
        self._DlcResourceConfig = params.get("DlcResourceConfig")
        self._Script = params.get("Script")
        self._OfflineSyncTask = params.get("OfflineSyncTask")
        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 ExtensionInfoVO(AbstractModel):
    r"""key-value 键值对

    """

    def __init__(self):
        r"""
        :param _Key: key
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: value
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Key = None
        self._Value = None
        self._Description = None

    @property
    def Key(self):
        r"""key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""value
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        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 FailMessage(AbstractModel):
    r"""错误处理结果信息

    """

    def __init__(self):
        r"""
        :param _Key: 数据唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _ErrorMessage: 失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        """
        self._Key = None
        self._ErrorMessage = None

    @property
    def Key(self):
        r"""数据唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def ErrorMessage(self):
        r"""失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._ErrorMessage = params.get("ErrorMessage")
        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 FieldConfig(AbstractModel):
    r"""字段变量

    """

    def __init__(self):
        r"""
        :param _FieldKey: 字段key
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldKey: str
        :param _FieldValue: 字段值
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldValue: str
        :param _FieldDataType: 字段值类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldDataType: str
        :param _ValueConfig: 字段值变量信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueConfig: :class:`tencentcloud.wedata.v20210820.models.ColumnValueConfig`
        """
        self._FieldKey = None
        self._FieldValue = None
        self._FieldDataType = None
        self._ValueConfig = None

    @property
    def FieldKey(self):
        r"""字段key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldKey

    @FieldKey.setter
    def FieldKey(self, FieldKey):
        self._FieldKey = FieldKey

    @property
    def FieldValue(self):
        r"""字段值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldValue

    @FieldValue.setter
    def FieldValue(self, FieldValue):
        self._FieldValue = FieldValue

    @property
    def FieldDataType(self):
        r"""字段值类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FieldDataType

    @FieldDataType.setter
    def FieldDataType(self, FieldDataType):
        self._FieldDataType = FieldDataType

    @property
    def ValueConfig(self):
        r"""字段值变量信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ColumnValueConfig`
        """
        return self._ValueConfig

    @ValueConfig.setter
    def ValueConfig(self, ValueConfig):
        self._ValueConfig = ValueConfig


    def _deserialize(self, params):
        self._FieldKey = params.get("FieldKey")
        self._FieldValue = params.get("FieldValue")
        self._FieldDataType = params.get("FieldDataType")
        if params.get("ValueConfig") is not None:
            self._ValueConfig = ColumnValueConfig()
            self._ValueConfig._deserialize(params.get("ValueConfig"))
        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 Filter(AbstractModel):
    r"""通用过滤器

    """

    def __init__(self):
        r"""
        :param _Name: 过滤字段名称
        :type Name: str
        :param _Values: 过滤值列表
        :type Values: list of str
        """
        self._Name = None
        self._Values = None

    @property
    def Name(self):
        r"""过滤字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Values(self):
        r"""过滤值列表
        :rtype: list of str
        """
        return self._Values

    @Values.setter
    def Values(self, Values):
        self._Values = Values


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Values = params.get("Values")
        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 FilterOptional(AbstractModel):
    r"""通用过滤器

    """

    def __init__(self):
        r"""
        :param _Name: 过滤字段名称
        :type Name: str
        :param _Values: 过滤值列表
        :type Values: list of str
        """
        self._Name = None
        self._Values = None

    @property
    def Name(self):
        r"""过滤字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Values(self):
        r"""过滤值列表
        :rtype: list of str
        """
        return self._Values

    @Values.setter
    def Values(self, Values):
        self._Values = Values


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Values = params.get("Values")
        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 FindAllFolderRequest(AbstractModel):
    r"""FindAllFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._ProjectId = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        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 FindAllFolderResponse(AbstractModel):
    r"""FindAllFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _FolderList: 文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderList: list of FolderDsDto
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._FolderList = None
        self._RequestId = None

    @property
    def FolderList(self):
        r"""文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FolderDsDto
        """
        return self._FolderList

    @FolderList.setter
    def FolderList(self, FolderList):
        self._FolderList = FolderList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("FolderList") is not None:
            self._FolderList = []
            for item in params.get("FolderList"):
                obj = FolderDsDto()
                obj._deserialize(item)
                self._FolderList.append(obj)
        self._RequestId = params.get("RequestId")


class FolderDsDto(AbstractModel):
    r"""文件夹属性

    """

    def __init__(self):
        r"""
        :param _Id: 文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Name: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ProjectId: 所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _ParentsFolderId: 父文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentsFolderId: str
        :param _Total: 工作流总数
注意：此字段可能返回 null，表示取不到有效值。
        :type Total: int
        :param _Workflows: 工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Workflows: list of WorkflowCanvasOpsDto
        :param _TotalFolders: 子文件夹总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalFolders: int
        :param _Folders: 子文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Folders: list of FolderDsDto
        :param _FindType: 搜索类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FindType: str
        """
        self._Id = None
        self._CreateTime = None
        self._Name = None
        self._ProjectId = None
        self._UpdateTime = None
        self._ParentsFolderId = None
        self._Total = None
        self._Workflows = None
        self._TotalFolders = None
        self._Folders = None
        self._FindType = None

    @property
    def Id(self):
        r"""文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Name(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ProjectId(self):
        r"""所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def ParentsFolderId(self):
        r"""父文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId

    @property
    def Total(self):
        r"""工作流总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total

    @property
    def Workflows(self):
        r"""工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkflowCanvasOpsDto
        """
        return self._Workflows

    @Workflows.setter
    def Workflows(self, Workflows):
        self._Workflows = Workflows

    @property
    def TotalFolders(self):
        r"""子文件夹总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalFolders

    @TotalFolders.setter
    def TotalFolders(self, TotalFolders):
        self._TotalFolders = TotalFolders

    @property
    def Folders(self):
        r"""子文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FolderDsDto
        """
        return self._Folders

    @Folders.setter
    def Folders(self, Folders):
        self._Folders = Folders

    @property
    def FindType(self):
        r"""搜索类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FindType

    @FindType.setter
    def FindType(self, FindType):
        self._FindType = FindType


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._CreateTime = params.get("CreateTime")
        self._Name = params.get("Name")
        self._ProjectId = params.get("ProjectId")
        self._UpdateTime = params.get("UpdateTime")
        self._ParentsFolderId = params.get("ParentsFolderId")
        self._Total = params.get("Total")
        if params.get("Workflows") is not None:
            self._Workflows = []
            for item in params.get("Workflows"):
                obj = WorkflowCanvasOpsDto()
                obj._deserialize(item)
                self._Workflows.append(obj)
        self._TotalFolders = params.get("TotalFolders")
        if params.get("Folders") is not None:
            self._Folders = []
            for item in params.get("Folders"):
                obj = FolderDsDto()
                obj._deserialize(item)
                self._Folders.append(obj)
        self._FindType = params.get("FindType")
        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 FolderOpsDto(AbstractModel):
    r"""文件夹属性

    """

    def __init__(self):
        r"""
        :param _Id: 文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Name: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ProjectId: 所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _ParentsFolderId: 父文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentsFolderId: str
        :param _Total: 工作流总数
注意：此字段可能返回 null，表示取不到有效值。
        :type Total: int
        :param _Workflows: 工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Workflows: list of WorkflowCanvasOpsDto
        :param _TotalFolders: 子文件夹总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalFolders: int
        :param _FoldersList: 子文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :type FoldersList: str
        :param _FindType: 搜索类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FindType: str
        """
        self._Id = None
        self._CreateTime = None
        self._Name = None
        self._ProjectId = None
        self._UpdateTime = None
        self._ParentsFolderId = None
        self._Total = None
        self._Workflows = None
        self._TotalFolders = None
        self._FoldersList = None
        self._FindType = None

    @property
    def Id(self):
        r"""文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Name(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ProjectId(self):
        r"""所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def ParentsFolderId(self):
        r"""父文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId

    @property
    def Total(self):
        r"""工作流总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total

    @property
    def Workflows(self):
        r"""工作流列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkflowCanvasOpsDto
        """
        return self._Workflows

    @Workflows.setter
    def Workflows(self, Workflows):
        self._Workflows = Workflows

    @property
    def TotalFolders(self):
        r"""子文件夹总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalFolders

    @TotalFolders.setter
    def TotalFolders(self, TotalFolders):
        self._TotalFolders = TotalFolders

    @property
    def FoldersList(self):
        r"""子文件夹列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FoldersList

    @FoldersList.setter
    def FoldersList(self, FoldersList):
        self._FoldersList = FoldersList

    @property
    def FindType(self):
        r"""搜索类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FindType

    @FindType.setter
    def FindType(self, FindType):
        self._FindType = FindType


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._CreateTime = params.get("CreateTime")
        self._Name = params.get("Name")
        self._ProjectId = params.get("ProjectId")
        self._UpdateTime = params.get("UpdateTime")
        self._ParentsFolderId = params.get("ParentsFolderId")
        self._Total = params.get("Total")
        if params.get("Workflows") is not None:
            self._Workflows = []
            for item in params.get("Workflows"):
                obj = WorkflowCanvasOpsDto()
                obj._deserialize(item)
                self._Workflows.append(obj)
        self._TotalFolders = params.get("TotalFolders")
        self._FoldersList = params.get("FoldersList")
        self._FindType = params.get("FindType")
        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 FreezeOpsTasksRequest(AbstractModel):
    r"""FreezeOpsTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Tasks: 任务列表
        :type Tasks: list of SimpleTaskInfo
        :param _OperateIsInform: 任务操作是否消息通知下游任务责任人
        :type OperateIsInform: bool
        :param _KillInstance: 是否终止已生成的实例
        :type KillInstance: bool
        """
        self._Tasks = None
        self._OperateIsInform = None
        self._KillInstance = None

    @property
    def Tasks(self):
        r"""任务列表
        :rtype: list of SimpleTaskInfo
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def OperateIsInform(self):
        r"""任务操作是否消息通知下游任务责任人
        :rtype: bool
        """
        return self._OperateIsInform

    @OperateIsInform.setter
    def OperateIsInform(self, OperateIsInform):
        self._OperateIsInform = OperateIsInform

    @property
    def KillInstance(self):
        r"""是否终止已生成的实例
        :rtype: bool
        """
        return self._KillInstance

    @KillInstance.setter
    def KillInstance(self, KillInstance):
        self._KillInstance = KillInstance


    def _deserialize(self, params):
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = SimpleTaskInfo()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._OperateIsInform = params.get("OperateIsInform")
        self._KillInstance = params.get("KillInstance")
        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 FreezeOpsTasksResponse(AbstractModel):
    r"""FreezeOpsTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class FreezeTasksByWorkflowIdsRequest(AbstractModel):
    r"""FreezeTasksByWorkflowIds请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WorkflowIds: 工作流id列表
        :type WorkflowIds: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _KillInstance: 是否终止已生成的实例
        :type KillInstance: bool
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        """
        self._WorkflowIds = None
        self._ProjectId = None
        self._KillInstance = None
        self._AsyncMode = None

    @property
    def WorkflowIds(self):
        r"""工作流id列表
        :rtype: list of str
        """
        return self._WorkflowIds

    @WorkflowIds.setter
    def WorkflowIds(self, WorkflowIds):
        self._WorkflowIds = WorkflowIds

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def KillInstance(self):
        r"""是否终止已生成的实例
        :rtype: bool
        """
        return self._KillInstance

    @KillInstance.setter
    def KillInstance(self, KillInstance):
        self._KillInstance = KillInstance

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode


    def _deserialize(self, params):
        self._WorkflowIds = params.get("WorkflowIds")
        self._ProjectId = params.get("ProjectId")
        self._KillInstance = params.get("KillInstance")
        self._AsyncMode = params.get("AsyncMode")
        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 FreezeTasksByWorkflowIdsResponse(AbstractModel):
    r"""FreezeTasksByWorkflowIds返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class FunctionResource(AbstractModel):
    r"""函数资源信息

    """

    def __init__(self):
        r"""
        :param _Path: 资源路径
注意：此字段可能返回 null，表示取不到有效值。
        :type Path: str
        :param _Name: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Id: 资源唯一标识
        :type Id: str
        :param _Md5: 资源 MD5 值
注意：此字段可能返回 null，表示取不到有效值。
        :type Md5: str
        :param _Type: 默认是 hdfs
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        """
        self._Path = None
        self._Name = None
        self._Id = None
        self._Md5 = None
        self._Type = None

    @property
    def Path(self):
        r"""资源路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Path

    @Path.setter
    def Path(self, Path):
        self._Path = Path

    @property
    def Name(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Id(self):
        r"""资源唯一标识
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Md5(self):
        r"""资源 MD5 值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Md5

    @Md5.setter
    def Md5(self, Md5):
        self._Md5 = Md5

    @property
    def Type(self):
        r"""默认是 hdfs
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type


    def _deserialize(self, params):
        self._Path = params.get("Path")
        self._Name = params.get("Name")
        self._Id = params.get("Id")
        self._Md5 = params.get("Md5")
        self._Type = params.get("Type")
        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 FunctionTypeOrKind(AbstractModel):
    r"""函数类型或函数分类

    """

    def __init__(self):
        r"""
        :param _Name: 名称
        :type Name: str
        :param _ZhName: 函数分类英文名
        :type ZhName: str
        :param _EnName: 函数分类中文名
        :type EnName: str
        """
        self._Name = None
        self._ZhName = None
        self._EnName = None

    @property
    def Name(self):
        r"""名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ZhName(self):
        r"""函数分类英文名
        :rtype: str
        """
        return self._ZhName

    @ZhName.setter
    def ZhName(self, ZhName):
        self._ZhName = ZhName

    @property
    def EnName(self):
        r"""函数分类中文名
        :rtype: str
        """
        return self._EnName

    @EnName.setter
    def EnName(self, EnName):
        self._EnName = EnName


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._ZhName = params.get("ZhName")
        self._EnName = params.get("EnName")
        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 FunctionVersion(AbstractModel):
    r"""函数提交版本信息

    """

    def __init__(self):
        r"""
        :param _Tag: 版本号：V0 V1 V2
        :type Tag: str
        :param _UserId: 提交人 ID
        :type UserId: str
        :param _Type: 变更类型：ADD、MODIFY
        :type Type: str
        :param _Comment: 备注
        :type Comment: str
        :param _Timestamp: 提交时间: UTC 秒数
        :type Timestamp: str
        :param _UserName: 提交人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _Content: 版本内容：json string 格式
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: str
        """
        self._Tag = None
        self._UserId = None
        self._Type = None
        self._Comment = None
        self._Timestamp = None
        self._UserName = None
        self._Content = None

    @property
    def Tag(self):
        r"""版本号：V0 V1 V2
        :rtype: str
        """
        return self._Tag

    @Tag.setter
    def Tag(self, Tag):
        self._Tag = Tag

    @property
    def UserId(self):
        r"""提交人 ID
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def Type(self):
        r"""变更类型：ADD、MODIFY
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Comment(self):
        r"""备注
        :rtype: str
        """
        return self._Comment

    @Comment.setter
    def Comment(self, Comment):
        self._Comment = Comment

    @property
    def Timestamp(self):
        r"""提交时间: UTC 秒数
        :rtype: str
        """
        return self._Timestamp

    @Timestamp.setter
    def Timestamp(self, Timestamp):
        self._Timestamp = Timestamp

    @property
    def UserName(self):
        r"""提交人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def Content(self):
        r"""版本内容：json string 格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content


    def _deserialize(self, params):
        self._Tag = params.get("Tag")
        self._UserId = params.get("UserId")
        self._Type = params.get("Type")
        self._Comment = params.get("Comment")
        self._Timestamp = params.get("Timestamp")
        self._UserName = params.get("UserName")
        self._Content = params.get("Content")
        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 GenHiveTableDDLSqlRequest(AbstractModel):
    r"""GenHiveTableDDLSql请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _SinkDatabase: 目标数据库
        :type SinkDatabase: str
        :param _Id: 节点id
        :type Id: str
        :param _MsType: 元数据类型(MYSQL、ORACLE)
        :type MsType: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _SourceDatabase: 来源库名
        :type SourceDatabase: str
        :param _TableName: 来源表名
        :type TableName: str
        :param _SinkType: 目标表元数据类型(HIVE、GBASE)
        :type SinkType: str
        :param _SchemaName: 源端schema名称
        :type SchemaName: str
        :param _SourceFieldInfoList: 上游节点的字段信息
        :type SourceFieldInfoList: list of SourceFieldInfo
        :param _Partitions: 分区字段
        :type Partitions: list of Partition
        :param _Properties: 建表属性
        :type Properties: list of Property
        :param _TableMode: 建表模式，0:向导模式，1:ddl
        :type TableMode: int
        :param _TableVersion: DLC表版本，v1/v2
        :type TableVersion: str
        :param _UpsertFlag: 是否upsert写入
        :type UpsertFlag: bool
        :param _TableComment: 表描述信息
        :type TableComment: str
        :param _AddDataFiles: 增加的文件数量阈值, 超过值将触发小文件合并
        :type AddDataFiles: int
        :param _AddEqualityDeletes: 增加的Equality delete数量阈值, 超过值将触发小文件合并
        :type AddEqualityDeletes: int
        :param _AddPositionDeletes: 增加的Position delete数量阈值, 超过值将触发小文件合并
        :type AddPositionDeletes: int
        :param _AddDeleteFiles: 增加的delete file数量阈值
        :type AddDeleteFiles: int
        :param _TargetDatasourceId: 下游节点数据源ID
        :type TargetDatasourceId: str
        :param _UpsertKeys: dlc upsert主键
        :type UpsertKeys: list of str
        :param _TableBaseInfo: dlc表治理信息
        :type TableBaseInfo: :class:`tencentcloud.wedata.v20210820.models.TableBaseInfo`
        :param _SinkSchemaName: 目标端schema名称
        :type SinkSchemaName: str
        :param _Env: 获取源信息的环境
        :type Env: str
        :param _WriteMode: doris写入模式配置
        :type WriteMode: str
        :param _TaskType: 任务类型 201（实时）， 202（离线） 
        :type TaskType: int
        :param _SinkTableName: 目标端table名称
        :type SinkTableName: str
        """
        self._ProjectId = None
        self._SinkDatabase = None
        self._Id = None
        self._MsType = None
        self._DatasourceId = None
        self._SourceDatabase = None
        self._TableName = None
        self._SinkType = None
        self._SchemaName = None
        self._SourceFieldInfoList = None
        self._Partitions = None
        self._Properties = None
        self._TableMode = None
        self._TableVersion = None
        self._UpsertFlag = None
        self._TableComment = None
        self._AddDataFiles = None
        self._AddEqualityDeletes = None
        self._AddPositionDeletes = None
        self._AddDeleteFiles = None
        self._TargetDatasourceId = None
        self._UpsertKeys = None
        self._TableBaseInfo = None
        self._SinkSchemaName = None
        self._Env = None
        self._WriteMode = None
        self._TaskType = None
        self._SinkTableName = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def SinkDatabase(self):
        r"""目标数据库
        :rtype: str
        """
        return self._SinkDatabase

    @SinkDatabase.setter
    def SinkDatabase(self, SinkDatabase):
        self._SinkDatabase = SinkDatabase

    @property
    def Id(self):
        r"""节点id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def MsType(self):
        r"""元数据类型(MYSQL、ORACLE)
        :rtype: str
        """
        return self._MsType

    @MsType.setter
    def MsType(self, MsType):
        self._MsType = MsType

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def SourceDatabase(self):
        r"""来源库名
        :rtype: str
        """
        return self._SourceDatabase

    @SourceDatabase.setter
    def SourceDatabase(self, SourceDatabase):
        self._SourceDatabase = SourceDatabase

    @property
    def TableName(self):
        r"""来源表名
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def SinkType(self):
        r"""目标表元数据类型(HIVE、GBASE)
        :rtype: str
        """
        return self._SinkType

    @SinkType.setter
    def SinkType(self, SinkType):
        self._SinkType = SinkType

    @property
    def SchemaName(self):
        r"""源端schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def SourceFieldInfoList(self):
        r"""上游节点的字段信息
        :rtype: list of SourceFieldInfo
        """
        return self._SourceFieldInfoList

    @SourceFieldInfoList.setter
    def SourceFieldInfoList(self, SourceFieldInfoList):
        self._SourceFieldInfoList = SourceFieldInfoList

    @property
    def Partitions(self):
        r"""分区字段
        :rtype: list of Partition
        """
        return self._Partitions

    @Partitions.setter
    def Partitions(self, Partitions):
        self._Partitions = Partitions

    @property
    def Properties(self):
        r"""建表属性
        :rtype: list of Property
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def TableMode(self):
        r"""建表模式，0:向导模式，1:ddl
        :rtype: int
        """
        return self._TableMode

    @TableMode.setter
    def TableMode(self, TableMode):
        self._TableMode = TableMode

    @property
    def TableVersion(self):
        r"""DLC表版本，v1/v2
        :rtype: str
        """
        return self._TableVersion

    @TableVersion.setter
    def TableVersion(self, TableVersion):
        self._TableVersion = TableVersion

    @property
    def UpsertFlag(self):
        r"""是否upsert写入
        :rtype: bool
        """
        return self._UpsertFlag

    @UpsertFlag.setter
    def UpsertFlag(self, UpsertFlag):
        self._UpsertFlag = UpsertFlag

    @property
    def TableComment(self):
        r"""表描述信息
        :rtype: str
        """
        return self._TableComment

    @TableComment.setter
    def TableComment(self, TableComment):
        self._TableComment = TableComment

    @property
    def AddDataFiles(self):
        r"""增加的文件数量阈值, 超过值将触发小文件合并
        :rtype: int
        """
        return self._AddDataFiles

    @AddDataFiles.setter
    def AddDataFiles(self, AddDataFiles):
        self._AddDataFiles = AddDataFiles

    @property
    def AddEqualityDeletes(self):
        r"""增加的Equality delete数量阈值, 超过值将触发小文件合并
        :rtype: int
        """
        return self._AddEqualityDeletes

    @AddEqualityDeletes.setter
    def AddEqualityDeletes(self, AddEqualityDeletes):
        self._AddEqualityDeletes = AddEqualityDeletes

    @property
    def AddPositionDeletes(self):
        r"""增加的Position delete数量阈值, 超过值将触发小文件合并
        :rtype: int
        """
        return self._AddPositionDeletes

    @AddPositionDeletes.setter
    def AddPositionDeletes(self, AddPositionDeletes):
        self._AddPositionDeletes = AddPositionDeletes

    @property
    def AddDeleteFiles(self):
        r"""增加的delete file数量阈值
        :rtype: int
        """
        return self._AddDeleteFiles

    @AddDeleteFiles.setter
    def AddDeleteFiles(self, AddDeleteFiles):
        self._AddDeleteFiles = AddDeleteFiles

    @property
    def TargetDatasourceId(self):
        r"""下游节点数据源ID
        :rtype: str
        """
        return self._TargetDatasourceId

    @TargetDatasourceId.setter
    def TargetDatasourceId(self, TargetDatasourceId):
        self._TargetDatasourceId = TargetDatasourceId

    @property
    def UpsertKeys(self):
        r"""dlc upsert主键
        :rtype: list of str
        """
        return self._UpsertKeys

    @UpsertKeys.setter
    def UpsertKeys(self, UpsertKeys):
        self._UpsertKeys = UpsertKeys

    @property
    def TableBaseInfo(self):
        r"""dlc表治理信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableBaseInfo`
        """
        return self._TableBaseInfo

    @TableBaseInfo.setter
    def TableBaseInfo(self, TableBaseInfo):
        self._TableBaseInfo = TableBaseInfo

    @property
    def SinkSchemaName(self):
        r"""目标端schema名称
        :rtype: str
        """
        return self._SinkSchemaName

    @SinkSchemaName.setter
    def SinkSchemaName(self, SinkSchemaName):
        self._SinkSchemaName = SinkSchemaName

    @property
    def Env(self):
        r"""获取源信息的环境
        :rtype: str
        """
        return self._Env

    @Env.setter
    def Env(self, Env):
        self._Env = Env

    @property
    def WriteMode(self):
        r"""doris写入模式配置
        :rtype: str
        """
        return self._WriteMode

    @WriteMode.setter
    def WriteMode(self, WriteMode):
        self._WriteMode = WriteMode

    @property
    def TaskType(self):
        r"""任务类型 201（实时）， 202（离线） 
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def SinkTableName(self):
        r"""目标端table名称
        :rtype: str
        """
        return self._SinkTableName

    @SinkTableName.setter
    def SinkTableName(self, SinkTableName):
        self._SinkTableName = SinkTableName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._SinkDatabase = params.get("SinkDatabase")
        self._Id = params.get("Id")
        self._MsType = params.get("MsType")
        self._DatasourceId = params.get("DatasourceId")
        self._SourceDatabase = params.get("SourceDatabase")
        self._TableName = params.get("TableName")
        self._SinkType = params.get("SinkType")
        self._SchemaName = params.get("SchemaName")
        if params.get("SourceFieldInfoList") is not None:
            self._SourceFieldInfoList = []
            for item in params.get("SourceFieldInfoList"):
                obj = SourceFieldInfo()
                obj._deserialize(item)
                self._SourceFieldInfoList.append(obj)
        if params.get("Partitions") is not None:
            self._Partitions = []
            for item in params.get("Partitions"):
                obj = Partition()
                obj._deserialize(item)
                self._Partitions.append(obj)
        if params.get("Properties") is not None:
            self._Properties = []
            for item in params.get("Properties"):
                obj = Property()
                obj._deserialize(item)
                self._Properties.append(obj)
        self._TableMode = params.get("TableMode")
        self._TableVersion = params.get("TableVersion")
        self._UpsertFlag = params.get("UpsertFlag")
        self._TableComment = params.get("TableComment")
        self._AddDataFiles = params.get("AddDataFiles")
        self._AddEqualityDeletes = params.get("AddEqualityDeletes")
        self._AddPositionDeletes = params.get("AddPositionDeletes")
        self._AddDeleteFiles = params.get("AddDeleteFiles")
        self._TargetDatasourceId = params.get("TargetDatasourceId")
        self._UpsertKeys = params.get("UpsertKeys")
        if params.get("TableBaseInfo") is not None:
            self._TableBaseInfo = TableBaseInfo()
            self._TableBaseInfo._deserialize(params.get("TableBaseInfo"))
        self._SinkSchemaName = params.get("SinkSchemaName")
        self._Env = params.get("Env")
        self._WriteMode = params.get("WriteMode")
        self._TaskType = params.get("TaskType")
        self._SinkTableName = params.get("SinkTableName")
        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 GenHiveTableDDLSqlResponse(AbstractModel):
    r"""GenHiveTableDDLSql返回参数结构体

    """

    def __init__(self):
        r"""
        :param _DDLSql: 生成的ddl语句
        :type DDLSql: str
        :param _Data: 生成的ddl语句。与DDLSql相同含义，优先取Data，如果Data为空，则取DDLSql。
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._DDLSql = None
        self._Data = None
        self._RequestId = None

    @property
    def DDLSql(self):
        r"""生成的ddl语句
        :rtype: str
        """
        return self._DDLSql

    @DDLSql.setter
    def DDLSql(self, DDLSql):
        self._DDLSql = DDLSql

    @property
    def Data(self):
        r"""生成的ddl语句。与DDLSql相同含义，优先取Data，如果Data为空，则取DDLSql。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._DDLSql = params.get("DDLSql")
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class GeneralTaskParam(AbstractModel):
    r"""Spark SQL配置参数

    """

    def __init__(self):
        r"""
        :param _Type: 通用任务参数类型,例：SPARK_SQL
        :type Type: str
        :param _Value: 通用任务参数内容,直接作用于任务的参数。不同参数用;
分割
        :type Value: str
        """
        self._Type = None
        self._Value = None

    @property
    def Type(self):
        r"""通用任务参数类型,例：SPARK_SQL
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Value(self):
        r"""通用任务参数内容,直接作用于任务的参数。不同参数用;
分割
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._Type = params.get("Type")
        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 GetBatchDetailErrorLogRequest(AbstractModel):
    r"""GetBatchDetailErrorLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 批量操作ID
        :type JobId: int
        :param _ResourceId: 资源对象ID
        :type ResourceId: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._JobId = None
        self._ResourceId = None
        self._ProjectId = None

    @property
    def JobId(self):
        r"""批量操作ID
        :rtype: int
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def ResourceId(self):
        r"""资源对象ID
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._JobId = params.get("JobId")
        self._ResourceId = params.get("ResourceId")
        self._ProjectId = params.get("ProjectId")
        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 GetBatchDetailErrorLogResponse(AbstractModel):
    r"""GetBatchDetailErrorLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 日志返回
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""日志返回
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class GetCosTokenRequest(AbstractModel):
    r"""GetCosToken请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: <p>项目id</p>
        :type ProjectId: str
        :param _OriginDomain: <p>请求域名</p>
        :type OriginDomain: str
        :param _CrossFlag: <p>是否需要跨域</p>
        :type CrossFlag: bool
        :param _BucketName: <p>桶名</p>
        :type BucketName: str
        :param _RemotePath: <p>远程地址</p>
        :type RemotePath: str
        :param _RemoteRegion: <p>地域</p>
        :type RemoteRegion: str
        """
        self._ProjectId = None
        self._OriginDomain = None
        self._CrossFlag = None
        self._BucketName = None
        self._RemotePath = None
        self._RemoteRegion = None

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def OriginDomain(self):
        r"""<p>请求域名</p>
        :rtype: str
        """
        return self._OriginDomain

    @OriginDomain.setter
    def OriginDomain(self, OriginDomain):
        self._OriginDomain = OriginDomain

    @property
    def CrossFlag(self):
        r"""<p>是否需要跨域</p>
        :rtype: bool
        """
        return self._CrossFlag

    @CrossFlag.setter
    def CrossFlag(self, CrossFlag):
        self._CrossFlag = CrossFlag

    @property
    def BucketName(self):
        r"""<p>桶名</p>
        :rtype: str
        """
        return self._BucketName

    @BucketName.setter
    def BucketName(self, BucketName):
        self._BucketName = BucketName

    @property
    def RemotePath(self):
        r"""<p>远程地址</p>
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath

    @property
    def RemoteRegion(self):
        r"""<p>地域</p>
        :rtype: str
        """
        return self._RemoteRegion

    @RemoteRegion.setter
    def RemoteRegion(self, RemoteRegion):
        self._RemoteRegion = RemoteRegion


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._OriginDomain = params.get("OriginDomain")
        self._CrossFlag = params.get("CrossFlag")
        self._BucketName = params.get("BucketName")
        self._RemotePath = params.get("RemotePath")
        self._RemoteRegion = params.get("RemoteRegion")
        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 GetCosTokenResponse(AbstractModel):
    r"""GetCosToken返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Region: <p>cos地域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _Token: <p>Token信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Token: :class:`tencentcloud.wedata.v20210820.models.CosTokenResponse`
        :param _Bucket: <p>桶名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Bucket: str
        :param _EndPoint: <p>终止点（针对私有云环境）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EndPoint: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Region = None
        self._Token = None
        self._Bucket = None
        self._EndPoint = None
        self._RequestId = None

    @property
    def Region(self):
        r"""<p>cos地域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def Token(self):
        r"""<p>Token信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CosTokenResponse`
        """
        return self._Token

    @Token.setter
    def Token(self, Token):
        self._Token = Token

    @property
    def Bucket(self):
        r"""<p>桶名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Bucket

    @Bucket.setter
    def Bucket(self, Bucket):
        self._Bucket = Bucket

    @property
    def EndPoint(self):
        r"""<p>终止点（针对私有云环境）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndPoint

    @EndPoint.setter
    def EndPoint(self, EndPoint):
        self._EndPoint = EndPoint

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Region = params.get("Region")
        if params.get("Token") is not None:
            self._Token = CosTokenResponse()
            self._Token._deserialize(params.get("Token"))
        self._Bucket = params.get("Bucket")
        self._EndPoint = params.get("EndPoint")
        self._RequestId = params.get("RequestId")


class GetFileInfoRequest(AbstractModel):
    r"""GetFileInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _FilePath: 文件路径
项目区1470575647377821696项目，f1目录下： /datastudio/project/1470575647377821696/f1/sql1234.sql 个人区： /datastudio/personal/sqlTTT.sql
        :type FilePath: str
        """
        self._ProjectId = None
        self._FilePath = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FilePath(self):
        r"""文件路径
项目区1470575647377821696项目，f1目录下： /datastudio/project/1470575647377821696/f1/sql1234.sql 个人区： /datastudio/personal/sqlTTT.sql
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FilePath = params.get("FilePath")
        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 GetFileInfoResponse(AbstractModel):
    r"""GetFileInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _UserFileInfo: 当前脚本信息
注意：此字段可能返回 null，表示取不到有效值。
        :type UserFileInfo: :class:`tencentcloud.wedata.v20210820.models.UserFileInfo`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._UserFileInfo = None
        self._RequestId = None

    @property
    def UserFileInfo(self):
        r"""当前脚本信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.UserFileInfo`
        """
        return self._UserFileInfo

    @UserFileInfo.setter
    def UserFileInfo(self, UserFileInfo):
        self._UserFileInfo = UserFileInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("UserFileInfo") is not None:
            self._UserFileInfo = UserFileInfo()
            self._UserFileInfo._deserialize(params.get("UserFileInfo"))
        self._RequestId = params.get("RequestId")


class GetInstanceLogRequest(AbstractModel):
    r"""GetInstanceLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: **项目ID**
        :type ProjectId: str
        :param _InstanceKey: **实例唯一标识**
        :type InstanceKey: str
        :param _LifeRoundNum: **实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次执行的编号为1
        :type LifeRoundNum: int
        :param _ScheduleTimeZone: **时区**
timeZone, 默认UTC+8
        :type ScheduleTimeZone: str
        :param _BrokerIp: **日志所在执行机Ip**
        :type BrokerIp: str
        :param _OriginFileName: **日志文件**
实例详情中 executionJobId 为空时，但 originFileName 不为空时，入参中必须包含 originFileName 与 brokerIp
如果 executionJobId 与 originFileName 都为空，则说明实例未下发执行或没有产生日志。例如分支节点 或 归并节点
        :type OriginFileName: str
        :param _ExecutionJobId: **执行ID**

实例详情中 executionJobId 不为空时，入参中需包含executionJobId 。originFileName 与 brokerIp为非必要参数
        :type ExecutionJobId: str
        :param _LogLevel: **日志级别**
默认All

- Info
- Debug
- Warn
- Error
- All
        :type LogLevel: str
        :param _StartLineNum: **获取日志的开始行 行号**
默认 1
        :type StartLineNum: int
        :param _EndLineCount: **获取日志的结束行 行号**
默认 10000
        :type EndLineCount: int
        :param _ExtInfo: **分页查询日志时使用，无具体业务含义**

第一次查询时值为null 
第二次及以后查询时使用上一次查询返回信息中的ExtInfo字段值即可
        :type ExtInfo: str
        """
        self._ProjectId = None
        self._InstanceKey = None
        self._LifeRoundNum = None
        self._ScheduleTimeZone = None
        self._BrokerIp = None
        self._OriginFileName = None
        self._ExecutionJobId = None
        self._LogLevel = None
        self._StartLineNum = None
        self._EndLineCount = None
        self._ExtInfo = None

    @property
    def ProjectId(self):
        r"""**项目ID**
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InstanceKey(self):
        r"""**实例唯一标识**
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def LifeRoundNum(self):
        r"""**实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次执行的编号为1
        :rtype: int
        """
        return self._LifeRoundNum

    @LifeRoundNum.setter
    def LifeRoundNum(self, LifeRoundNum):
        self._LifeRoundNum = LifeRoundNum

    @property
    def ScheduleTimeZone(self):
        r"""**时区**
timeZone, 默认UTC+8
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def BrokerIp(self):
        r"""**日志所在执行机Ip**
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def OriginFileName(self):
        r"""**日志文件**
实例详情中 executionJobId 为空时，但 originFileName 不为空时，入参中必须包含 originFileName 与 brokerIp
如果 executionJobId 与 originFileName 都为空，则说明实例未下发执行或没有产生日志。例如分支节点 或 归并节点
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def ExecutionJobId(self):
        r"""**执行ID**

实例详情中 executionJobId 不为空时，入参中需包含executionJobId 。originFileName 与 brokerIp为非必要参数
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def LogLevel(self):
        r"""**日志级别**
默认All

- Info
- Debug
- Warn
- Error
- All
        :rtype: str
        """
        return self._LogLevel

    @LogLevel.setter
    def LogLevel(self, LogLevel):
        self._LogLevel = LogLevel

    @property
    def StartLineNum(self):
        r"""**获取日志的开始行 行号**
默认 1
        :rtype: int
        """
        return self._StartLineNum

    @StartLineNum.setter
    def StartLineNum(self, StartLineNum):
        self._StartLineNum = StartLineNum

    @property
    def EndLineCount(self):
        r"""**获取日志的结束行 行号**
默认 10000
        :rtype: int
        """
        return self._EndLineCount

    @EndLineCount.setter
    def EndLineCount(self, EndLineCount):
        self._EndLineCount = EndLineCount

    @property
    def ExtInfo(self):
        r"""**分页查询日志时使用，无具体业务含义**

第一次查询时值为null 
第二次及以后查询时使用上一次查询返回信息中的ExtInfo字段值即可
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._InstanceKey = params.get("InstanceKey")
        self._LifeRoundNum = params.get("LifeRoundNum")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._BrokerIp = params.get("BrokerIp")
        self._OriginFileName = params.get("OriginFileName")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._LogLevel = params.get("LogLevel")
        self._StartLineNum = params.get("StartLineNum")
        self._EndLineCount = params.get("EndLineCount")
        self._ExtInfo = params.get("ExtInfo")
        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 GetInstanceLogResponse(AbstractModel):
    r"""GetInstanceLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 调度实例详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceLogVO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""调度实例详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLogVO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceLogVO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class GetIntegrationNodeColumnSchemaRequest(AbstractModel):
    r"""GetIntegrationNodeColumnSchema请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ColumnContent: 字段示例（json格式）
        :type ColumnContent: str
        :param _DatasourceType: 数据源类型 MYSQL|HIVE|KAFKA|ES|MONGODB|REST_API|SYBASE|TIDB|DORIS|DM|
        :type DatasourceType: str
        """
        self._ColumnContent = None
        self._DatasourceType = None

    @property
    def ColumnContent(self):
        r"""字段示例（json格式）
        :rtype: str
        """
        return self._ColumnContent

    @ColumnContent.setter
    def ColumnContent(self, ColumnContent):
        self._ColumnContent = ColumnContent

    @property
    def DatasourceType(self):
        r"""数据源类型 MYSQL|HIVE|KAFKA|ES|MONGODB|REST_API|SYBASE|TIDB|DORIS|DM|
        :rtype: str
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType


    def _deserialize(self, params):
        self._ColumnContent = params.get("ColumnContent")
        self._DatasourceType = params.get("DatasourceType")
        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 GetIntegrationNodeColumnSchemaResponse(AbstractModel):
    r"""GetIntegrationNodeColumnSchema返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Schemas: 字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Schemas: list of IntegrationNodeSchema
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Schemas = None
        self._RequestId = None

    @property
    def Schemas(self):
        r"""字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeSchema
        """
        return self._Schemas

    @Schemas.setter
    def Schemas(self, Schemas):
        self._Schemas = Schemas

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Schemas") is not None:
            self._Schemas = []
            for item in params.get("Schemas"):
                obj = IntegrationNodeSchema()
                obj._deserialize(item)
                self._Schemas.append(obj)
        self._RequestId = params.get("RequestId")


class GetJobStatusRequest(AbstractModel):
    r"""GetJobStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 异步任务id
        :type JobId: str
        """
        self._JobId = None

    @property
    def JobId(self):
        r"""异步任务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 GetJobStatusResponse(AbstractModel):
    r"""GetJobStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 异步任务id
        :type JobId: str
        :param _Completed: 是否已完成
        :type Completed: bool
        :param _Status: 任务状态,Success:成功,Fail:失败,Cancel:取消,Running:运行中
        :type Status: str
        :param _CreateTime: 创建时间时间戳,单位毫秒
        :type CreateTime: str
        :param _ErrorMessage: 错误信息
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._JobId = None
        self._Completed = None
        self._Status = None
        self._CreateTime = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def JobId(self):
        r"""异步任务id
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def Completed(self):
        r"""是否已完成
        :rtype: bool
        """
        return self._Completed

    @Completed.setter
    def Completed(self, Completed):
        self._Completed = Completed

    @property
    def Status(self):
        r"""任务状态,Success:成功,Fail:失败,Cancel:取消,Running:运行中
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def CreateTime(self):
        r"""创建时间时间戳,单位毫秒
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ErrorMessage(self):
        r"""错误信息
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 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._Completed = params.get("Completed")
        self._Status = params.get("Status")
        self._CreateTime = params.get("CreateTime")
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class GetOfflineDIInstanceListRequest(AbstractModel):
    r"""GetOfflineDIInstanceList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageIndex: 第几页
        :type PageIndex: int
        :param _PageSize: 每页几条
        :type PageSize: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _SearchCondition: 无
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.SearchConditionNew`
        """
        self._PageIndex = None
        self._PageSize = None
        self._ProjectId = None
        self._SearchCondition = None

    @property
    def PageIndex(self):
        r"""第几页
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""每页几条
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def SearchCondition(self):
        r"""无
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SearchConditionNew`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition


    def _deserialize(self, params):
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = SearchConditionNew()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        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 GetOfflineDIInstanceListResponse(AbstractModel):
    r"""GetOfflineDIInstanceList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Total: 总条数
        :type Total: int
        :param _List: 实例详情
        :type List: list of OfflineInstance
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Total = None
        self._List = None
        self._RequestId = None

    @property
    def Total(self):
        r"""总条数
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total

    @property
    def List(self):
        r"""实例详情
        :rtype: list of OfflineInstance
        """
        return self._List

    @List.setter
    def List(self, List):
        self._List = List

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Total = params.get("Total")
        if params.get("List") is not None:
            self._List = []
            for item in params.get("List"):
                obj = OfflineInstance()
                obj._deserialize(item)
                self._List.append(obj)
        self._RequestId = params.get("RequestId")


class GetOfflineInstanceListRequest(AbstractModel):
    r"""GetOfflineInstanceList请求参数结构体

    """

    def __init__(self):
        r"""
        :param _PageIndex: 第几页
        :type PageIndex: str
        :param _PageSize: 每页几条
        :type PageSize: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _SearchCondition: 无
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.SearchCondition`
        """
        self._PageIndex = None
        self._PageSize = None
        self._ProjectId = None
        self._SearchCondition = None

    @property
    def PageIndex(self):
        r"""第几页
        :rtype: str
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""每页几条
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def SearchCondition(self):
        r"""无
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SearchCondition`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition


    def _deserialize(self, params):
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._ProjectId = params.get("ProjectId")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = SearchCondition()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        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 GetOfflineInstanceListResponse(AbstractModel):
    r"""GetOfflineInstanceList返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Total: 总条数
        :type Total: int
        :param _List: 实例详情
        :type List: list of OfflineInstance
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Total = None
        self._List = None
        self._RequestId = None

    @property
    def Total(self):
        r"""总条数
        :rtype: int
        """
        return self._Total

    @Total.setter
    def Total(self, Total):
        self._Total = Total

    @property
    def List(self):
        r"""实例详情
        :rtype: list of OfflineInstance
        """
        return self._List

    @List.setter
    def List(self, List):
        self._List = List

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Total = params.get("Total")
        if params.get("List") is not None:
            self._List = []
            for item in params.get("List"):
                obj = OfflineInstance()
                obj._deserialize(item)
                self._List.append(obj)
        self._RequestId = params.get("RequestId")


class GetPaginationTaskScriptRequest(AbstractModel):
    r"""GetPaginationTaskScript请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目编号
        :type ProjectId: str
        :param _TaskId: 任务编号
        :type TaskId: str
        :param _PageNum: 页码（从1开始）
        :type PageNum: int
        """
        self._ProjectId = None
        self._TaskId = None
        self._PageNum = None

    @property
    def ProjectId(self):
        r"""项目编号
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务编号
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def PageNum(self):
        r"""页码（从1开始）
        :rtype: int
        """
        return self._PageNum

    @PageNum.setter
    def PageNum(self, PageNum):
        self._PageNum = PageNum


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._PageNum = params.get("PageNum")
        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 GetPaginationTaskScriptResponse(AbstractModel):
    r"""GetPaginationTaskScript返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of GetPaginationTaskScriptResponseInfo
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of GetPaginationTaskScriptResponseInfo
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = GetPaginationTaskScriptResponseInfo()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class GetPaginationTaskScriptResponseInfo(AbstractModel):
    r"""获取任务脚本内容返回体

    """

    def __init__(self):
        r"""
        :param _ProjectId: <p>项目编号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _TaskId: <p>任务编号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _PageSize: <p>页内尺寸</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _PageNum: <p>页码</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNum: int
        :param _PageTotal: <p>总页数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type PageTotal: int
        :param _Base64ScriptContent: <p>分页内容</p><p>分页拉取全部代码内容后，先拼接，再Base64解码获取完整脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Base64ScriptContent: str
        """
        self._ProjectId = None
        self._TaskId = None
        self._PageSize = None
        self._PageNum = None
        self._PageTotal = None
        self._Base64ScriptContent = None

    @property
    def ProjectId(self):
        r"""<p>项目编号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""<p>任务编号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def PageSize(self):
        r"""<p>页内尺寸</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageNum(self):
        r"""<p>页码</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNum

    @PageNum.setter
    def PageNum(self, PageNum):
        self._PageNum = PageNum

    @property
    def PageTotal(self):
        r"""<p>总页数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageTotal

    @PageTotal.setter
    def PageTotal(self, PageTotal):
        self._PageTotal = PageTotal

    @property
    def Base64ScriptContent(self):
        r"""<p>分页内容</p><p>分页拉取全部代码内容后，先拼接，再Base64解码获取完整脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Base64ScriptContent

    @Base64ScriptContent.setter
    def Base64ScriptContent(self, Base64ScriptContent):
        self._Base64ScriptContent = Base64ScriptContent


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._PageSize = params.get("PageSize")
        self._PageNum = params.get("PageNum")
        self._PageTotal = params.get("PageTotal")
        self._Base64ScriptContent = params.get("Base64ScriptContent")
        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 GetTaskInstanceRequest(AbstractModel):
    r"""GetTaskInstance请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: **项目ID**
        :type ProjectId: str
        :param _InstanceKey: **实例唯一标识**
        :type InstanceKey: str
        :param _ScheduleTimeZone: **时区**
timeZone, 默认UTC+8
        :type ScheduleTimeZone: str
        """
        self._ProjectId = None
        self._InstanceKey = None
        self._ScheduleTimeZone = None

    @property
    def ProjectId(self):
        r"""**项目ID**
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InstanceKey(self):
        r"""**实例唯一标识**
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def ScheduleTimeZone(self):
        r"""**时区**
timeZone, 默认UTC+8
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._InstanceKey = params.get("InstanceKey")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        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 GetTaskInstanceResponse(AbstractModel):
    r"""GetTaskInstance返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 调度实例详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstanceDetailVO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""调度实例详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceDetailVO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstanceDetailVO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class GovDatasourceInfo(AbstractModel):
    r"""数据源信息

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatasourceClusterId: 数据源集群ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceClusterId: str
        :param _DatasourceUrn: 数据源urn
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceUrn: str
        :param _DatasourceEnv: 数据源环境
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceEnv: str
        """
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatasourceClusterId = None
        self._DatasourceUrn = None
        self._DatasourceEnv = None

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatasourceClusterId(self):
        r"""数据源集群ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceClusterId

    @DatasourceClusterId.setter
    def DatasourceClusterId(self, DatasourceClusterId):
        self._DatasourceClusterId = DatasourceClusterId

    @property
    def DatasourceUrn(self):
        r"""数据源urn
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceUrn

    @DatasourceUrn.setter
    def DatasourceUrn(self, DatasourceUrn):
        self._DatasourceUrn = DatasourceUrn

    @property
    def DatasourceEnv(self):
        r"""数据源环境
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceEnv

    @DatasourceEnv.setter
    def DatasourceEnv(self, DatasourceEnv):
        self._DatasourceEnv = DatasourceEnv


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatasourceClusterId = params.get("DatasourceClusterId")
        self._DatasourceUrn = params.get("DatasourceUrn")
        self._DatasourceEnv = params.get("DatasourceEnv")
        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 IndicatorBaseInfo(AbstractModel):
    r"""指标查询出参

    """

    def __init__(self):
        r"""
        :param _Name: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _IndicatorCode: 指标编码
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorCode: str
        :param _IndicatorType: 指标类型（1-原子指标 2-衍生指标 3-复合指标）
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorType: int
        :param _BizOwner: 业务负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type BizOwner: str
        :param _TechOwner: 技术负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type TechOwner: str
        :param _BizCaliber: 业务口径
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCaliber: str
        :param _Description: 指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Level: 等级：40-L4核心 30-L3重要 20-L2一般 10-L1临时
注意：此字段可能返回 null，表示取不到有效值。
        :type Level: int
        :param _CalLogic: 计算逻辑
注意：此字段可能返回 null，表示取不到有效值。
        :type CalLogic: str
        :param _CalFreq: 计算频次
注意：此字段可能返回 null，表示取不到有效值。
        :type CalFreq: str
        :param _MeasureUnit: 度量单位
注意：此字段可能返回 null，表示取不到有效值。
        :type MeasureUnit: int
        :param _Accuracy: 精度
注意：此字段可能返回 null，表示取不到有效值。
        :type Accuracy: int
        :param _SourceIndicatorIds: 关联指标
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceIndicatorIds: list of IndicatorBaseSimpleInfo
        :param _Id: ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _DimensionIds: 维度列表
注意：此字段可能返回 null，表示取不到有效值。
        :type DimensionIds: list of AssetDimSimpleVO
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: int
        :param _Status: 状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _BizOwnerName: 业务负责人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type BizOwnerName: str
        :param _TechOwnerName: 技术负责人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type TechOwnerName: str
        :param _PublishTime: 发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :type PublishTime: str
        :param _PublishAccount: 发布人
注意：此字段可能返回 null，表示取不到有效值。
        :type PublishAccount: str
        :param _PublishAccountName: 发布人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type PublishAccountName: str
        :param _LastModifyTime: 最后修订时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastModifyTime: str
        :param _LastModifyAccount: 最后修订人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type LastModifyAccount: str
        :param _LastModifyAccountName: 最后修订人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type LastModifyAccountName: str
        :param _ChangeLogList: 变更日志
注意：此字段可能返回 null，表示取不到有效值。
        :type ChangeLogList: list of ChangeLog
        :param _TableColumns: 字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TableColumns: list of AssetDimTableColumn
        :param _AllSourceIndicatorIds: 关联指标(包含多层级关联指标)
注意：此字段可能返回 null，表示取不到有效值。
        :type AllSourceIndicatorIds: list of IndicatorBaseInfo
        :param _AssetId: 资产guid
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetId: str
        :param _AssetType: 类型
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetType: str
        :param _AssetCode: 资产编码
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetCode: str
        :param _RelatedIndicatorIds: 被关联的指标
注意：此字段可能返回 null，表示取不到有效值。
        :type RelatedIndicatorIds: list of IndicatorBaseInfo
        :param _BizCatalogIds: 数据目录ID列表
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogIds: list of int
        :param _BizCatalogNames: 数据目录名称列表
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogNames: list of str
        :param _AssetLevel: 资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetLevel: int
        :param _AssetStatus: 资产发布状态
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetStatus: int
        :param _AssetPublishTime: 资产发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetPublishTime: str
        :param _AssetPublishAccount: 资产发布人
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetPublishAccount: str
        :param _AssetPublishAccountName: 资产发布人名字
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetPublishAccountName: str
        :param _IndicatorPermission: 指标权限
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorPermission: :class:`tencentcloud.wedata.v20210820.models.PermissionStatus`
        :param _OperateOption: 资产权限
注意：此字段可能返回 null，表示取不到有效值。
        :type OperateOption: :class:`tencentcloud.wedata.v20210820.models.DataAssetOption`
        :param _ProjectId: 项目 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        """
        self._Name = None
        self._IndicatorCode = None
        self._IndicatorType = None
        self._BizOwner = None
        self._TechOwner = None
        self._BizCaliber = None
        self._Description = None
        self._Level = None
        self._CalLogic = None
        self._CalFreq = None
        self._MeasureUnit = None
        self._Accuracy = None
        self._SourceIndicatorIds = None
        self._Id = None
        self._DimensionIds = None
        self._FolderId = None
        self._Status = None
        self._BizOwnerName = None
        self._TechOwnerName = None
        self._PublishTime = None
        self._PublishAccount = None
        self._PublishAccountName = None
        self._LastModifyTime = None
        self._LastModifyAccount = None
        self._LastModifyAccountName = None
        self._ChangeLogList = None
        self._TableColumns = None
        self._AllSourceIndicatorIds = None
        self._AssetId = None
        self._AssetType = None
        self._AssetCode = None
        self._RelatedIndicatorIds = None
        self._BizCatalogIds = None
        self._BizCatalogNames = None
        self._AssetLevel = None
        self._AssetStatus = None
        self._AssetPublishTime = None
        self._AssetPublishAccount = None
        self._AssetPublishAccountName = None
        self._IndicatorPermission = None
        self._OperateOption = None
        self._ProjectId = None
        self._ProjectName = None

    @property
    def Name(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def IndicatorCode(self):
        r"""指标编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IndicatorCode

    @IndicatorCode.setter
    def IndicatorCode(self, IndicatorCode):
        self._IndicatorCode = IndicatorCode

    @property
    def IndicatorType(self):
        r"""指标类型（1-原子指标 2-衍生指标 3-复合指标）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IndicatorType

    @IndicatorType.setter
    def IndicatorType(self, IndicatorType):
        self._IndicatorType = IndicatorType

    @property
    def BizOwner(self):
        r"""业务负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizOwner

    @BizOwner.setter
    def BizOwner(self, BizOwner):
        self._BizOwner = BizOwner

    @property
    def TechOwner(self):
        r"""技术负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TechOwner

    @TechOwner.setter
    def TechOwner(self, TechOwner):
        self._TechOwner = TechOwner

    @property
    def BizCaliber(self):
        r"""业务口径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizCaliber

    @BizCaliber.setter
    def BizCaliber(self, BizCaliber):
        self._BizCaliber = BizCaliber

    @property
    def Description(self):
        r"""指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Level(self):
        r"""等级：40-L4核心 30-L3重要 20-L2一般 10-L1临时
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Level

    @Level.setter
    def Level(self, Level):
        self._Level = Level

    @property
    def CalLogic(self):
        r"""计算逻辑
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CalLogic

    @CalLogic.setter
    def CalLogic(self, CalLogic):
        self._CalLogic = CalLogic

    @property
    def CalFreq(self):
        r"""计算频次
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CalFreq

    @CalFreq.setter
    def CalFreq(self, CalFreq):
        self._CalFreq = CalFreq

    @property
    def MeasureUnit(self):
        r"""度量单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MeasureUnit

    @MeasureUnit.setter
    def MeasureUnit(self, MeasureUnit):
        self._MeasureUnit = MeasureUnit

    @property
    def Accuracy(self):
        r"""精度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Accuracy

    @Accuracy.setter
    def Accuracy(self, Accuracy):
        self._Accuracy = Accuracy

    @property
    def SourceIndicatorIds(self):
        r"""关联指标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IndicatorBaseSimpleInfo
        """
        return self._SourceIndicatorIds

    @SourceIndicatorIds.setter
    def SourceIndicatorIds(self, SourceIndicatorIds):
        self._SourceIndicatorIds = SourceIndicatorIds

    @property
    def Id(self):
        r"""ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def DimensionIds(self):
        r"""维度列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AssetDimSimpleVO
        """
        return self._DimensionIds

    @DimensionIds.setter
    def DimensionIds(self, DimensionIds):
        self._DimensionIds = DimensionIds

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def Status(self):
        r"""状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def BizOwnerName(self):
        r"""业务负责人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizOwnerName

    @BizOwnerName.setter
    def BizOwnerName(self, BizOwnerName):
        self._BizOwnerName = BizOwnerName

    @property
    def TechOwnerName(self):
        r"""技术负责人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TechOwnerName

    @TechOwnerName.setter
    def TechOwnerName(self, TechOwnerName):
        self._TechOwnerName = TechOwnerName

    @property
    def PublishTime(self):
        r"""发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PublishTime

    @PublishTime.setter
    def PublishTime(self, PublishTime):
        self._PublishTime = PublishTime

    @property
    def PublishAccount(self):
        r"""发布人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PublishAccount

    @PublishAccount.setter
    def PublishAccount(self, PublishAccount):
        self._PublishAccount = PublishAccount

    @property
    def PublishAccountName(self):
        r"""发布人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PublishAccountName

    @PublishAccountName.setter
    def PublishAccountName(self, PublishAccountName):
        self._PublishAccountName = PublishAccountName

    @property
    def LastModifyTime(self):
        r"""最后修订时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastModifyTime

    @LastModifyTime.setter
    def LastModifyTime(self, LastModifyTime):
        self._LastModifyTime = LastModifyTime

    @property
    def LastModifyAccount(self):
        r"""最后修订人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastModifyAccount

    @LastModifyAccount.setter
    def LastModifyAccount(self, LastModifyAccount):
        self._LastModifyAccount = LastModifyAccount

    @property
    def LastModifyAccountName(self):
        r"""最后修订人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastModifyAccountName

    @LastModifyAccountName.setter
    def LastModifyAccountName(self, LastModifyAccountName):
        self._LastModifyAccountName = LastModifyAccountName

    @property
    def ChangeLogList(self):
        r"""变更日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ChangeLog
        """
        return self._ChangeLogList

    @ChangeLogList.setter
    def ChangeLogList(self, ChangeLogList):
        self._ChangeLogList = ChangeLogList

    @property
    def TableColumns(self):
        r"""字段列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AssetDimTableColumn
        """
        return self._TableColumns

    @TableColumns.setter
    def TableColumns(self, TableColumns):
        self._TableColumns = TableColumns

    @property
    def AllSourceIndicatorIds(self):
        r"""关联指标(包含多层级关联指标)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IndicatorBaseInfo
        """
        return self._AllSourceIndicatorIds

    @AllSourceIndicatorIds.setter
    def AllSourceIndicatorIds(self, AllSourceIndicatorIds):
        self._AllSourceIndicatorIds = AllSourceIndicatorIds

    @property
    def AssetId(self):
        r"""资产guid
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetId

    @AssetId.setter
    def AssetId(self, AssetId):
        self._AssetId = AssetId

    @property
    def AssetType(self):
        r"""类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetType

    @AssetType.setter
    def AssetType(self, AssetType):
        self._AssetType = AssetType

    @property
    def AssetCode(self):
        r"""资产编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetCode

    @AssetCode.setter
    def AssetCode(self, AssetCode):
        self._AssetCode = AssetCode

    @property
    def RelatedIndicatorIds(self):
        r"""被关联的指标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IndicatorBaseInfo
        """
        return self._RelatedIndicatorIds

    @RelatedIndicatorIds.setter
    def RelatedIndicatorIds(self, RelatedIndicatorIds):
        self._RelatedIndicatorIds = RelatedIndicatorIds

    @property
    def BizCatalogIds(self):
        r"""数据目录ID列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._BizCatalogIds

    @BizCatalogIds.setter
    def BizCatalogIds(self, BizCatalogIds):
        self._BizCatalogIds = BizCatalogIds

    @property
    def BizCatalogNames(self):
        r"""数据目录名称列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._BizCatalogNames

    @BizCatalogNames.setter
    def BizCatalogNames(self, BizCatalogNames):
        self._BizCatalogNames = BizCatalogNames

    @property
    def AssetLevel(self):
        r"""资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetLevel

    @AssetLevel.setter
    def AssetLevel(self, AssetLevel):
        self._AssetLevel = AssetLevel

    @property
    def AssetStatus(self):
        r"""资产发布状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetStatus

    @AssetStatus.setter
    def AssetStatus(self, AssetStatus):
        self._AssetStatus = AssetStatus

    @property
    def AssetPublishTime(self):
        r"""资产发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetPublishTime

    @AssetPublishTime.setter
    def AssetPublishTime(self, AssetPublishTime):
        self._AssetPublishTime = AssetPublishTime

    @property
    def AssetPublishAccount(self):
        r"""资产发布人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetPublishAccount

    @AssetPublishAccount.setter
    def AssetPublishAccount(self, AssetPublishAccount):
        self._AssetPublishAccount = AssetPublishAccount

    @property
    def AssetPublishAccountName(self):
        r"""资产发布人名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetPublishAccountName

    @AssetPublishAccountName.setter
    def AssetPublishAccountName(self, AssetPublishAccountName):
        self._AssetPublishAccountName = AssetPublishAccountName

    @property
    def IndicatorPermission(self):
        r"""指标权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.PermissionStatus`
        """
        return self._IndicatorPermission

    @IndicatorPermission.setter
    def IndicatorPermission(self, IndicatorPermission):
        self._IndicatorPermission = IndicatorPermission

    @property
    def OperateOption(self):
        r"""资产权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DataAssetOption`
        """
        return self._OperateOption

    @OperateOption.setter
    def OperateOption(self, OperateOption):
        self._OperateOption = OperateOption

    @property
    def ProjectId(self):
        r"""项目 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._IndicatorCode = params.get("IndicatorCode")
        self._IndicatorType = params.get("IndicatorType")
        self._BizOwner = params.get("BizOwner")
        self._TechOwner = params.get("TechOwner")
        self._BizCaliber = params.get("BizCaliber")
        self._Description = params.get("Description")
        self._Level = params.get("Level")
        self._CalLogic = params.get("CalLogic")
        self._CalFreq = params.get("CalFreq")
        self._MeasureUnit = params.get("MeasureUnit")
        self._Accuracy = params.get("Accuracy")
        if params.get("SourceIndicatorIds") is not None:
            self._SourceIndicatorIds = []
            for item in params.get("SourceIndicatorIds"):
                obj = IndicatorBaseSimpleInfo()
                obj._deserialize(item)
                self._SourceIndicatorIds.append(obj)
        self._Id = params.get("Id")
        if params.get("DimensionIds") is not None:
            self._DimensionIds = []
            for item in params.get("DimensionIds"):
                obj = AssetDimSimpleVO()
                obj._deserialize(item)
                self._DimensionIds.append(obj)
        self._FolderId = params.get("FolderId")
        self._Status = params.get("Status")
        self._BizOwnerName = params.get("BizOwnerName")
        self._TechOwnerName = params.get("TechOwnerName")
        self._PublishTime = params.get("PublishTime")
        self._PublishAccount = params.get("PublishAccount")
        self._PublishAccountName = params.get("PublishAccountName")
        self._LastModifyTime = params.get("LastModifyTime")
        self._LastModifyAccount = params.get("LastModifyAccount")
        self._LastModifyAccountName = params.get("LastModifyAccountName")
        if params.get("ChangeLogList") is not None:
            self._ChangeLogList = []
            for item in params.get("ChangeLogList"):
                obj = ChangeLog()
                obj._deserialize(item)
                self._ChangeLogList.append(obj)
        if params.get("TableColumns") is not None:
            self._TableColumns = []
            for item in params.get("TableColumns"):
                obj = AssetDimTableColumn()
                obj._deserialize(item)
                self._TableColumns.append(obj)
        if params.get("AllSourceIndicatorIds") is not None:
            self._AllSourceIndicatorIds = []
            for item in params.get("AllSourceIndicatorIds"):
                obj = IndicatorBaseInfo()
                obj._deserialize(item)
                self._AllSourceIndicatorIds.append(obj)
        self._AssetId = params.get("AssetId")
        self._AssetType = params.get("AssetType")
        self._AssetCode = params.get("AssetCode")
        if params.get("RelatedIndicatorIds") is not None:
            self._RelatedIndicatorIds = []
            for item in params.get("RelatedIndicatorIds"):
                obj = IndicatorBaseInfo()
                obj._deserialize(item)
                self._RelatedIndicatorIds.append(obj)
        self._BizCatalogIds = params.get("BizCatalogIds")
        self._BizCatalogNames = params.get("BizCatalogNames")
        self._AssetLevel = params.get("AssetLevel")
        self._AssetStatus = params.get("AssetStatus")
        self._AssetPublishTime = params.get("AssetPublishTime")
        self._AssetPublishAccount = params.get("AssetPublishAccount")
        self._AssetPublishAccountName = params.get("AssetPublishAccountName")
        if params.get("IndicatorPermission") is not None:
            self._IndicatorPermission = PermissionStatus()
            self._IndicatorPermission._deserialize(params.get("IndicatorPermission"))
        if params.get("OperateOption") is not None:
            self._OperateOption = DataAssetOption()
            self._OperateOption._deserialize(params.get("OperateOption"))
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        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 IndicatorBaseSimpleInfo(AbstractModel):
    r"""指标列表简单结构

    """

    def __init__(self):
        r"""
        :param _Id: ID
        :type Id: int
        :param _Name: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _MeasureUnit: 单位
注意：此字段可能返回 null，表示取不到有效值。
        :type MeasureUnit: int
        :param _Status: 状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _IndicatorCode: 编码
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorCode: str
        :param _BizOwnerName: 业务负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type BizOwnerName: str
        :param _TechOwnerName: 技术服务站名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TechOwnerName: str
        :param _BizCaliber: 业务口径
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCaliber: str
        :param _IndicatorType: 指标类型（1-原子指标 2-衍生指标 3-复合指标）
注意：此字段可能返回 null，表示取不到有效值。
        :type IndicatorType: int
        """
        self._Id = None
        self._Name = None
        self._MeasureUnit = None
        self._Status = None
        self._IndicatorCode = None
        self._BizOwnerName = None
        self._TechOwnerName = None
        self._BizCaliber = None
        self._IndicatorType = None

    @property
    def Id(self):
        r"""ID
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Name(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def MeasureUnit(self):
        r"""单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MeasureUnit

    @MeasureUnit.setter
    def MeasureUnit(self, MeasureUnit):
        self._MeasureUnit = MeasureUnit

    @property
    def Status(self):
        r"""状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def IndicatorCode(self):
        r"""编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IndicatorCode

    @IndicatorCode.setter
    def IndicatorCode(self, IndicatorCode):
        self._IndicatorCode = IndicatorCode

    @property
    def BizOwnerName(self):
        r"""业务负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizOwnerName

    @BizOwnerName.setter
    def BizOwnerName(self, BizOwnerName):
        self._BizOwnerName = BizOwnerName

    @property
    def TechOwnerName(self):
        r"""技术服务站名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TechOwnerName

    @TechOwnerName.setter
    def TechOwnerName(self, TechOwnerName):
        self._TechOwnerName = TechOwnerName

    @property
    def BizCaliber(self):
        r"""业务口径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BizCaliber

    @BizCaliber.setter
    def BizCaliber(self, BizCaliber):
        self._BizCaliber = BizCaliber

    @property
    def IndicatorType(self):
        r"""指标类型（1-原子指标 2-衍生指标 3-复合指标）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IndicatorType

    @IndicatorType.setter
    def IndicatorType(self, IndicatorType):
        self._IndicatorType = IndicatorType


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Name = params.get("Name")
        self._MeasureUnit = params.get("MeasureUnit")
        self._Status = params.get("Status")
        self._IndicatorCode = params.get("IndicatorCode")
        self._BizOwnerName = params.get("BizOwnerName")
        self._TechOwnerName = params.get("TechOwnerName")
        self._BizCaliber = params.get("BizCaliber")
        self._IndicatorType = params.get("IndicatorType")
        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 InstanceApiOpsRequest(AbstractModel):
    r"""实例查询类型

    """

    def __init__(self):
        r"""
        :param _Instance: 单个查询条件
        :type Instance: :class:`tencentcloud.wedata.v20210820.models.InstanceOpsDto`
        :param _SortCol: 排序字段，目前包含：重试次数，实例数据时间，运行耗时
        :type SortCol: str
        :param _TaskIdList: 任务id列表
        :type TaskIdList: list of str
        :param _TaskNameList: 按照taskName模糊查询
        :type TaskNameList: list of str
        :param _FolderList: 文件夹列表
        :type FolderList: list of str
        :param _Sort: 升序或者降序
        :type Sort: str
        :param _StateList: 实例状态列表
        :type StateList: list of int
        :param _TaskTypeList: 实例类型列表
        :type TaskTypeList: list of int
        :param _CycleList: 周期类型
        :type CycleList: list of str
        :param _OwnerList: 责任人
        :type OwnerList: list of str
        :param _DateFrom: 数据时间
        :type DateFrom: str
        :param _DateTo: 数据时间
        :type DateTo: str
        :param _CreateTimeFrom: 实例入库时间
        :type CreateTimeFrom: str
        :param _CreateTimeTo: 实例入库时间
        :type CreateTimeTo: str
        :param _StartFrom:  开始执行时间
        :type StartFrom: str
        :param _StartTo:  开始执行时间
        :type StartTo: str
        :param _WorkflowIdList: 所属工作流
        :type WorkflowIdList: list of str
        :param _WorkflowNameList: 按照workflowName模糊查询
        :type WorkflowNameList: list of str
        :param _Keyword: 关键字模糊查询
        :type Keyword: str
        :param _SearchColumns: searchColumns是搜索的字段名列表
        :type SearchColumns: list of str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Limit: 限制
        :type Limit: int
        :param _TaskTypeMap: 任务类型映射关系, 存储任务类型id和任务类型描述信息
        :type TaskTypeMap: list of TaskTypeMap
        :param _InstanceType: 0 补录类型 1 周期实例 2 非周期实例
        :type InstanceType: str
        :param _DagDeal: 是否dag
        :type DagDeal: bool
        :param _DagType:  1 父实例 2 子实例
        :type DagType: str
        :param _DagDependent: 1 自依赖 2 任务依赖  3 所有依赖
        :type DagDependent: str
        :param _DagDepth: dag深度 默认为1，取值 1-6
        :type DagDepth: int
        :param _TenantId: 租户id
        :type TenantId: str
        :param _DataTimeCycle: 根据当前数据时间或者是下一个数据时间查询, 默认当前数据时间
        :type DataTimeCycle: str
        :param _ExecutorGroupIdList: 资源组id,多个资源组id用英文逗号分隔
        :type ExecutorGroupIdList: list of str
        :param _OnlyRerun: true 只过滤重跑过的实例，false 忽略此过滤条件，结果集过滤条件中不包括是否重跑
        :type OnlyRerun: bool
        :param _ScheduleTimeZone: 时区
        :type ScheduleTimeZone: str
        :param _ScheduleTimeFrom: 计划调度时间
        :type ScheduleTimeFrom: str
        :param _ScheduleTimeTo: 计划调度时间
        :type ScheduleTimeTo: str
        :param _RunPriorityList: 任务优先级过滤实例列表
        :type RunPriorityList: list of int
        :param _InstanceCycleType: 实例调度周期筛选
        :type InstanceCycleType: list of str
        """
        self._Instance = None
        self._SortCol = None
        self._TaskIdList = None
        self._TaskNameList = None
        self._FolderList = None
        self._Sort = None
        self._StateList = None
        self._TaskTypeList = None
        self._CycleList = None
        self._OwnerList = None
        self._DateFrom = None
        self._DateTo = None
        self._CreateTimeFrom = None
        self._CreateTimeTo = None
        self._StartFrom = None
        self._StartTo = None
        self._WorkflowIdList = None
        self._WorkflowNameList = None
        self._Keyword = None
        self._SearchColumns = None
        self._ProjectId = None
        self._Limit = None
        self._TaskTypeMap = None
        self._InstanceType = None
        self._DagDeal = None
        self._DagType = None
        self._DagDependent = None
        self._DagDepth = None
        self._TenantId = None
        self._DataTimeCycle = None
        self._ExecutorGroupIdList = None
        self._OnlyRerun = None
        self._ScheduleTimeZone = None
        self._ScheduleTimeFrom = None
        self._ScheduleTimeTo = None
        self._RunPriorityList = None
        self._InstanceCycleType = None

    @property
    def Instance(self):
        r"""单个查询条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceOpsDto`
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def SortCol(self):
        r"""排序字段，目前包含：重试次数，实例数据时间，运行耗时
        :rtype: str
        """
        return self._SortCol

    @SortCol.setter
    def SortCol(self, SortCol):
        self._SortCol = SortCol

    @property
    def TaskIdList(self):
        r"""任务id列表
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def TaskNameList(self):
        r"""按照taskName模糊查询
        :rtype: list of str
        """
        return self._TaskNameList

    @TaskNameList.setter
    def TaskNameList(self, TaskNameList):
        self._TaskNameList = TaskNameList

    @property
    def FolderList(self):
        r"""文件夹列表
        :rtype: list of str
        """
        return self._FolderList

    @FolderList.setter
    def FolderList(self, FolderList):
        self._FolderList = FolderList

    @property
    def Sort(self):
        r"""升序或者降序
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def StateList(self):
        r"""实例状态列表
        :rtype: list of int
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList

    @property
    def TaskTypeList(self):
        r"""实例类型列表
        :rtype: list of int
        """
        return self._TaskTypeList

    @TaskTypeList.setter
    def TaskTypeList(self, TaskTypeList):
        self._TaskTypeList = TaskTypeList

    @property
    def CycleList(self):
        r"""周期类型
        :rtype: list of str
        """
        return self._CycleList

    @CycleList.setter
    def CycleList(self, CycleList):
        self._CycleList = CycleList

    @property
    def OwnerList(self):
        r"""责任人
        :rtype: list of str
        """
        return self._OwnerList

    @OwnerList.setter
    def OwnerList(self, OwnerList):
        self._OwnerList = OwnerList

    @property
    def DateFrom(self):
        r"""数据时间
        :rtype: str
        """
        return self._DateFrom

    @DateFrom.setter
    def DateFrom(self, DateFrom):
        self._DateFrom = DateFrom

    @property
    def DateTo(self):
        r"""数据时间
        :rtype: str
        """
        return self._DateTo

    @DateTo.setter
    def DateTo(self, DateTo):
        self._DateTo = DateTo

    @property
    def CreateTimeFrom(self):
        r"""实例入库时间
        :rtype: str
        """
        return self._CreateTimeFrom

    @CreateTimeFrom.setter
    def CreateTimeFrom(self, CreateTimeFrom):
        self._CreateTimeFrom = CreateTimeFrom

    @property
    def CreateTimeTo(self):
        r"""实例入库时间
        :rtype: str
        """
        return self._CreateTimeTo

    @CreateTimeTo.setter
    def CreateTimeTo(self, CreateTimeTo):
        self._CreateTimeTo = CreateTimeTo

    @property
    def StartFrom(self):
        r""" 开始执行时间
        :rtype: str
        """
        return self._StartFrom

    @StartFrom.setter
    def StartFrom(self, StartFrom):
        self._StartFrom = StartFrom

    @property
    def StartTo(self):
        r""" 开始执行时间
        :rtype: str
        """
        return self._StartTo

    @StartTo.setter
    def StartTo(self, StartTo):
        self._StartTo = StartTo

    @property
    def WorkflowIdList(self):
        r"""所属工作流
        :rtype: list of str
        """
        return self._WorkflowIdList

    @WorkflowIdList.setter
    def WorkflowIdList(self, WorkflowIdList):
        self._WorkflowIdList = WorkflowIdList

    @property
    def WorkflowNameList(self):
        r"""按照workflowName模糊查询
        :rtype: list of str
        """
        return self._WorkflowNameList

    @WorkflowNameList.setter
    def WorkflowNameList(self, WorkflowNameList):
        self._WorkflowNameList = WorkflowNameList

    @property
    def Keyword(self):
        r"""关键字模糊查询
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def SearchColumns(self):
        r"""searchColumns是搜索的字段名列表
        :rtype: list of str
        """
        return self._SearchColumns

    @SearchColumns.setter
    def SearchColumns(self, SearchColumns):
        self._SearchColumns = SearchColumns

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Limit(self):
        r"""限制
        :rtype: int
        """
        return self._Limit

    @Limit.setter
    def Limit(self, Limit):
        self._Limit = Limit

    @property
    def TaskTypeMap(self):
        r"""任务类型映射关系, 存储任务类型id和任务类型描述信息
        :rtype: list of TaskTypeMap
        """
        return self._TaskTypeMap

    @TaskTypeMap.setter
    def TaskTypeMap(self, TaskTypeMap):
        self._TaskTypeMap = TaskTypeMap

    @property
    def InstanceType(self):
        r"""0 补录类型 1 周期实例 2 非周期实例
        :rtype: str
        """
        return self._InstanceType

    @InstanceType.setter
    def InstanceType(self, InstanceType):
        self._InstanceType = InstanceType

    @property
    def DagDeal(self):
        r"""是否dag
        :rtype: bool
        """
        return self._DagDeal

    @DagDeal.setter
    def DagDeal(self, DagDeal):
        self._DagDeal = DagDeal

    @property
    def DagType(self):
        r""" 1 父实例 2 子实例
        :rtype: str
        """
        return self._DagType

    @DagType.setter
    def DagType(self, DagType):
        self._DagType = DagType

    @property
    def DagDependent(self):
        r"""1 自依赖 2 任务依赖  3 所有依赖
        :rtype: str
        """
        return self._DagDependent

    @DagDependent.setter
    def DagDependent(self, DagDependent):
        self._DagDependent = DagDependent

    @property
    def DagDepth(self):
        r"""dag深度 默认为1，取值 1-6
        :rtype: int
        """
        return self._DagDepth

    @DagDepth.setter
    def DagDepth(self, DagDepth):
        self._DagDepth = DagDepth

    @property
    def TenantId(self):
        r"""租户id
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def DataTimeCycle(self):
        r"""根据当前数据时间或者是下一个数据时间查询, 默认当前数据时间
        :rtype: str
        """
        return self._DataTimeCycle

    @DataTimeCycle.setter
    def DataTimeCycle(self, DataTimeCycle):
        self._DataTimeCycle = DataTimeCycle

    @property
    def ExecutorGroupIdList(self):
        r"""资源组id,多个资源组id用英文逗号分隔
        :rtype: list of str
        """
        return self._ExecutorGroupIdList

    @ExecutorGroupIdList.setter
    def ExecutorGroupIdList(self, ExecutorGroupIdList):
        self._ExecutorGroupIdList = ExecutorGroupIdList

    @property
    def OnlyRerun(self):
        r"""true 只过滤重跑过的实例，false 忽略此过滤条件，结果集过滤条件中不包括是否重跑
        :rtype: bool
        """
        return self._OnlyRerun

    @OnlyRerun.setter
    def OnlyRerun(self, OnlyRerun):
        self._OnlyRerun = OnlyRerun

    @property
    def ScheduleTimeZone(self):
        r"""时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def ScheduleTimeFrom(self):
        r"""计划调度时间
        :rtype: str
        """
        return self._ScheduleTimeFrom

    @ScheduleTimeFrom.setter
    def ScheduleTimeFrom(self, ScheduleTimeFrom):
        self._ScheduleTimeFrom = ScheduleTimeFrom

    @property
    def ScheduleTimeTo(self):
        r"""计划调度时间
        :rtype: str
        """
        return self._ScheduleTimeTo

    @ScheduleTimeTo.setter
    def ScheduleTimeTo(self, ScheduleTimeTo):
        self._ScheduleTimeTo = ScheduleTimeTo

    @property
    def RunPriorityList(self):
        r"""任务优先级过滤实例列表
        :rtype: list of int
        """
        return self._RunPriorityList

    @RunPriorityList.setter
    def RunPriorityList(self, RunPriorityList):
        self._RunPriorityList = RunPriorityList

    @property
    def InstanceCycleType(self):
        r"""实例调度周期筛选
        :rtype: list of str
        """
        return self._InstanceCycleType

    @InstanceCycleType.setter
    def InstanceCycleType(self, InstanceCycleType):
        self._InstanceCycleType = InstanceCycleType


    def _deserialize(self, params):
        if params.get("Instance") is not None:
            self._Instance = InstanceOpsDto()
            self._Instance._deserialize(params.get("Instance"))
        self._SortCol = params.get("SortCol")
        self._TaskIdList = params.get("TaskIdList")
        self._TaskNameList = params.get("TaskNameList")
        self._FolderList = params.get("FolderList")
        self._Sort = params.get("Sort")
        self._StateList = params.get("StateList")
        self._TaskTypeList = params.get("TaskTypeList")
        self._CycleList = params.get("CycleList")
        self._OwnerList = params.get("OwnerList")
        self._DateFrom = params.get("DateFrom")
        self._DateTo = params.get("DateTo")
        self._CreateTimeFrom = params.get("CreateTimeFrom")
        self._CreateTimeTo = params.get("CreateTimeTo")
        self._StartFrom = params.get("StartFrom")
        self._StartTo = params.get("StartTo")
        self._WorkflowIdList = params.get("WorkflowIdList")
        self._WorkflowNameList = params.get("WorkflowNameList")
        self._Keyword = params.get("Keyword")
        self._SearchColumns = params.get("SearchColumns")
        self._ProjectId = params.get("ProjectId")
        self._Limit = params.get("Limit")
        if params.get("TaskTypeMap") is not None:
            self._TaskTypeMap = []
            for item in params.get("TaskTypeMap"):
                obj = TaskTypeMap()
                obj._deserialize(item)
                self._TaskTypeMap.append(obj)
        self._InstanceType = params.get("InstanceType")
        self._DagDeal = params.get("DagDeal")
        self._DagType = params.get("DagType")
        self._DagDependent = params.get("DagDependent")
        self._DagDepth = params.get("DagDepth")
        self._TenantId = params.get("TenantId")
        self._DataTimeCycle = params.get("DataTimeCycle")
        self._ExecutorGroupIdList = params.get("ExecutorGroupIdList")
        self._OnlyRerun = params.get("OnlyRerun")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._ScheduleTimeFrom = params.get("ScheduleTimeFrom")
        self._ScheduleTimeTo = params.get("ScheduleTimeTo")
        self._RunPriorityList = params.get("RunPriorityList")
        self._InstanceCycleType = params.get("InstanceCycleType")
        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 InstanceCondition(AbstractModel):
    r"""实例检索条件

    """

    def __init__(self):
        r"""
        :param _ExecutionSpace: 执行类型
        :type ExecutionSpace: str
        :param _ProductName: 任务产品类型
        :type ProductName: str
        """
        self._ExecutionSpace = None
        self._ProductName = None

    @property
    def ExecutionSpace(self):
        r"""执行类型
        :rtype: str
        """
        return self._ExecutionSpace

    @ExecutionSpace.setter
    def ExecutionSpace(self, ExecutionSpace):
        self._ExecutionSpace = ExecutionSpace

    @property
    def ProductName(self):
        r"""任务产品类型
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName


    def _deserialize(self, params):
        self._ExecutionSpace = params.get("ExecutionSpace")
        self._ProductName = params.get("ProductName")
        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 InstanceDetailVO(AbstractModel):
    r"""调度实例详情

    """

    def __init__(self):
        r"""
        :param _InstanceKey: 实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _InChargeList: 负责人列表
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeList: list of str
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TaskCycleType: **任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCycleType: str
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        :param _ExecutorGroupId: 执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _CurRunDate: 实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _NextCurDate: 下一个实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type NextCurDate: str
        :param _TryLimit: 每次运行失败，下发重试次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        :param _Tries: 当前运行已下发运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: int
        :param _TotalRunNum: 累计运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRunNum: int
        :param _LifeRoundNum: **实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次的执行的编号为1
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeRoundNum: int
        :param _InstanceType: **实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceType: int
        :param _InstanceState: **实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: int
        :param _SchedulerTime: 计划调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerTime: str
        :param _StartTime: 运行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CostTime: 耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        :param _InstanceRunType: **实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceRunType: str
        :param _ExecutionJobId: **下发执行ID**
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        :param _InstanceLifeCycleList: **实例生命周期列表**
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLifeCycleList: list of InstanceLifeCycleVO
        :param _LatestLog: **实例最近一次的执行日志**
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestLog: :class:`tencentcloud.wedata.v20210820.models.InstanceLogVO`
        """
        self._InstanceKey = None
        self._ProjectId = None
        self._FolderId = None
        self._FolderName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._InChargeList = None
        self._TaskId = None
        self._TaskName = None
        self._TaskCycleType = None
        self._TaskType = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._CurRunDate = None
        self._NextCurDate = None
        self._TryLimit = None
        self._Tries = None
        self._TotalRunNum = None
        self._LifeRoundNum = None
        self._InstanceType = None
        self._InstanceState = None
        self._SchedulerTime = None
        self._StartTime = None
        self._EndTime = None
        self._CostTime = None
        self._InstanceRunType = None
        self._ExecutionJobId = None
        self._InstanceLifeCycleList = None
        self._LatestLog = None

    @property
    def InstanceKey(self):
        r"""实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def InChargeList(self):
        r"""负责人列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._InChargeList

    @InChargeList.setter
    def InChargeList(self, InChargeList):
        self._InChargeList = InChargeList

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskCycleType(self):
        r"""**任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskCycleType

    @TaskCycleType.setter
    def TaskCycleType(self, TaskCycleType):
        self._TaskCycleType = TaskCycleType

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ExecutorGroupId(self):
        r"""执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def CurRunDate(self):
        r"""实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def NextCurDate(self):
        r"""下一个实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NextCurDate

    @NextCurDate.setter
    def NextCurDate(self, NextCurDate):
        self._NextCurDate = NextCurDate

    @property
    def TryLimit(self):
        r"""每次运行失败，下发重试次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def Tries(self):
        r"""当前运行已下发运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def TotalRunNum(self):
        r"""累计运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRunNum

    @TotalRunNum.setter
    def TotalRunNum(self, TotalRunNum):
        self._TotalRunNum = TotalRunNum

    @property
    def LifeRoundNum(self):
        r"""**实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次的执行的编号为1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeRoundNum

    @LifeRoundNum.setter
    def LifeRoundNum(self, LifeRoundNum):
        self._LifeRoundNum = LifeRoundNum

    @property
    def InstanceType(self):
        r"""**实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceType

    @InstanceType.setter
    def InstanceType(self, InstanceType):
        self._InstanceType = InstanceType

    @property
    def InstanceState(self):
        r"""**实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def SchedulerTime(self):
        r"""计划调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerTime

    @SchedulerTime.setter
    def SchedulerTime(self, SchedulerTime):
        self._SchedulerTime = SchedulerTime

    @property
    def StartTime(self):
        r"""运行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CostTime(self):
        r"""耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime

    @property
    def InstanceRunType(self):
        r"""**实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceRunType

    @InstanceRunType.setter
    def InstanceRunType(self, InstanceRunType):
        self._InstanceRunType = InstanceRunType

    @property
    def ExecutionJobId(self):
        r"""**下发执行ID**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def InstanceLifeCycleList(self):
        r"""**实例生命周期列表**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceLifeCycleVO
        """
        return self._InstanceLifeCycleList

    @InstanceLifeCycleList.setter
    def InstanceLifeCycleList(self, InstanceLifeCycleList):
        self._InstanceLifeCycleList = InstanceLifeCycleList

    @property
    def LatestLog(self):
        r"""**实例最近一次的执行日志**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLogVO`
        """
        return self._LatestLog

    @LatestLog.setter
    def LatestLog(self, LatestLog):
        self._LatestLog = LatestLog


    def _deserialize(self, params):
        self._InstanceKey = params.get("InstanceKey")
        self._ProjectId = params.get("ProjectId")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._InChargeList = params.get("InChargeList")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._TaskCycleType = params.get("TaskCycleType")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeOpsDto()
            self._TaskType._deserialize(params.get("TaskType"))
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._CurRunDate = params.get("CurRunDate")
        self._NextCurDate = params.get("NextCurDate")
        self._TryLimit = params.get("TryLimit")
        self._Tries = params.get("Tries")
        self._TotalRunNum = params.get("TotalRunNum")
        self._LifeRoundNum = params.get("LifeRoundNum")
        self._InstanceType = params.get("InstanceType")
        self._InstanceState = params.get("InstanceState")
        self._SchedulerTime = params.get("SchedulerTime")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CostTime = params.get("CostTime")
        self._InstanceRunType = params.get("InstanceRunType")
        self._ExecutionJobId = params.get("ExecutionJobId")
        if params.get("InstanceLifeCycleList") is not None:
            self._InstanceLifeCycleList = []
            for item in params.get("InstanceLifeCycleList"):
                obj = InstanceLifeCycleVO()
                obj._deserialize(item)
                self._InstanceLifeCycleList.append(obj)
        if params.get("LatestLog") is not None:
            self._LatestLog = InstanceLogVO()
            self._LatestLog._deserialize(params.get("LatestLog"))
        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 InstanceDownloadLogInfo(AbstractModel):
    r"""下载日志详情

    """

    def __init__(self):
        r"""
        :param _FileName: 文件名
注意：此字段可能返回 null，表示取不到有效值。
        :type FileName: str
        :param _FileUrl: 文件URL
注意：此字段可能返回 null，表示取不到有效值。
        :type FileUrl: str
        """
        self._FileName = None
        self._FileUrl = None

    @property
    def FileName(self):
        r"""文件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileName

    @FileName.setter
    def FileName(self, FileName):
        self._FileName = FileName

    @property
    def FileUrl(self):
        r"""文件URL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileUrl

    @FileUrl.setter
    def FileUrl(self, FileUrl):
        self._FileUrl = FileUrl


    def _deserialize(self, params):
        self._FileName = params.get("FileName")
        self._FileUrl = params.get("FileUrl")
        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 InstanceLifeCycleOpsDto(AbstractModel):
    r"""实例生命周期详情

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _CurRunDate: 数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _LifeRound: 实例生命次数
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeRound: int
        :param _RunType: 运行类型 重跑/补录/周期/非周期
注意：此字段可能返回 null，表示取不到有效值。
        :type RunType: str
        :param _Tries: 重跑次数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: int
        :param _InstanceLifeDetailDtoList: 实例生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLifeDetailDtoList: list of InstanceLifeDetailDto
        :param _RunnerState: Runner运行状态
注意：此字段可能返回 null，表示取不到有效值。
        :type RunnerState: str
        :param _ErrorDesc: 错误码
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _ErrorCodeLevel: 错误告警级别
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorCodeLevel: str
        :param _InstanceLogListOpsDto: 实例日志简略信息
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLogListOpsDto: :class:`tencentcloud.wedata.v20210820.models.InstanceLogInfo`
        :param _InstanceState: 实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: str
        :param _ScheduleRunType: 调度运行方式, 0: 周期调度, 1: 空跑调度
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleRunType: int
        :param _ExecutionJobId: 统一执行平台，下发执行Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        :param _InstanceRunType: 实例运行类型: 0: 普通运行, 1: 空跑运行
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceRunType: int
        :param _TotalLifeRound: 实例当前总生命周期数
        :type TotalLifeRound: int
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        :param _ResourceGroup: 资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        """
        self._TaskId = None
        self._TaskName = None
        self._CurRunDate = None
        self._LifeRound = None
        self._RunType = None
        self._Tries = None
        self._InstanceLifeDetailDtoList = None
        self._RunnerState = None
        self._ErrorDesc = None
        self._ErrorCodeLevel = None
        self._InstanceLogListOpsDto = None
        self._InstanceState = None
        self._ScheduleRunType = None
        self._ExecutionJobId = None
        self._InstanceRunType = None
        self._TotalLifeRound = None
        self._TaskType = None
        self._ResourceGroup = None

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CurRunDate(self):
        r"""数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def LifeRound(self):
        r"""实例生命次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeRound

    @LifeRound.setter
    def LifeRound(self, LifeRound):
        self._LifeRound = LifeRound

    @property
    def RunType(self):
        r"""运行类型 重跑/补录/周期/非周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunType

    @RunType.setter
    def RunType(self, RunType):
        self._RunType = RunType

    @property
    def Tries(self):
        r"""重跑次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def InstanceLifeDetailDtoList(self):
        r"""实例生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceLifeDetailDto
        """
        return self._InstanceLifeDetailDtoList

    @InstanceLifeDetailDtoList.setter
    def InstanceLifeDetailDtoList(self, InstanceLifeDetailDtoList):
        self._InstanceLifeDetailDtoList = InstanceLifeDetailDtoList

    @property
    def RunnerState(self):
        r"""Runner运行状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunnerState

    @RunnerState.setter
    def RunnerState(self, RunnerState):
        self._RunnerState = RunnerState

    @property
    def ErrorDesc(self):
        r"""错误码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def ErrorCodeLevel(self):
        r"""错误告警级别
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorCodeLevel

    @ErrorCodeLevel.setter
    def ErrorCodeLevel(self, ErrorCodeLevel):
        self._ErrorCodeLevel = ErrorCodeLevel

    @property
    def InstanceLogListOpsDto(self):
        r"""实例日志简略信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLogInfo`
        """
        return self._InstanceLogListOpsDto

    @InstanceLogListOpsDto.setter
    def InstanceLogListOpsDto(self, InstanceLogListOpsDto):
        self._InstanceLogListOpsDto = InstanceLogListOpsDto

    @property
    def InstanceState(self):
        r"""实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def ScheduleRunType(self):
        r"""调度运行方式, 0: 周期调度, 1: 空跑调度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ScheduleRunType

    @ScheduleRunType.setter
    def ScheduleRunType(self, ScheduleRunType):
        self._ScheduleRunType = ScheduleRunType

    @property
    def ExecutionJobId(self):
        r"""统一执行平台，下发执行Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def InstanceRunType(self):
        r"""实例运行类型: 0: 普通运行, 1: 空跑运行
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceRunType

    @InstanceRunType.setter
    def InstanceRunType(self, InstanceRunType):
        self._InstanceRunType = InstanceRunType

    @property
    def TotalLifeRound(self):
        r"""实例当前总生命周期数
        :rtype: int
        """
        return self._TotalLifeRound

    @TotalLifeRound.setter
    def TotalLifeRound(self, TotalLifeRound):
        self._TotalLifeRound = TotalLifeRound

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ResourceGroup(self):
        r"""资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._CurRunDate = params.get("CurRunDate")
        self._LifeRound = params.get("LifeRound")
        self._RunType = params.get("RunType")
        self._Tries = params.get("Tries")
        if params.get("InstanceLifeDetailDtoList") is not None:
            self._InstanceLifeDetailDtoList = []
            for item in params.get("InstanceLifeDetailDtoList"):
                obj = InstanceLifeDetailDto()
                obj._deserialize(item)
                self._InstanceLifeDetailDtoList.append(obj)
        self._RunnerState = params.get("RunnerState")
        self._ErrorDesc = params.get("ErrorDesc")
        self._ErrorCodeLevel = params.get("ErrorCodeLevel")
        if params.get("InstanceLogListOpsDto") is not None:
            self._InstanceLogListOpsDto = InstanceLogInfo()
            self._InstanceLogListOpsDto._deserialize(params.get("InstanceLogListOpsDto"))
        self._InstanceState = params.get("InstanceState")
        self._ScheduleRunType = params.get("ScheduleRunType")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._InstanceRunType = params.get("InstanceRunType")
        self._TotalLifeRound = params.get("TotalLifeRound")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeOpsDto()
            self._TaskType._deserialize(params.get("TaskType"))
        self._ResourceGroup = params.get("ResourceGroup")
        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 InstanceLifeCycleVO(AbstractModel):
    r"""调度实例详情

    """

    def __init__(self):
        r"""
        :param _InstanceKey: 实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        :param _InstanceState: **实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: int
        :param _LifeRoundNum: **实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次执行的编号为1
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeRoundNum: int
        :param _RunType: **实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :type RunType: str
        :param _Tries: 失败重试次数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: int
        :param _LifeCycleDetailList: **实例生命周期列表**
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeCycleDetailList: list of InstanceLifeDetailDto
        :param _CodeFileName: **实例代码文件**
该文件内容为当次执行实例运行使用的代码，仅部分任务支持
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeFileName: str
        :param _ExecutionJobId: **下发执行ID**
统一执行平台下发执行到新版执行机标识某次执行的唯一ID，存量老执行机下发执行没有此ID。
如果不知道执行机版本是否支持此ID，可以联系腾讯云运维同学
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        :param _BrokerIp: 日志所在执行节点
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _OriginFileName: 日志文件名
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginFileName: str
        :param _LogType: **实例日志类型**

- run: 运行; 
- kill: 终止
注意：此字段可能返回 null，表示取不到有效值。
        :type LogType: str
        :param _CostTime: 耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        """
        self._InstanceKey = None
        self._InstanceState = None
        self._LifeRoundNum = None
        self._RunType = None
        self._Tries = None
        self._LifeCycleDetailList = None
        self._CodeFileName = None
        self._ExecutionJobId = None
        self._BrokerIp = None
        self._OriginFileName = None
        self._LogType = None
        self._CostTime = None

    @property
    def InstanceKey(self):
        r"""实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def InstanceState(self):
        r"""**实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def LifeRoundNum(self):
        r"""**实例生命周期编号，标识实例的某一次执行**

例如：周期实例第一次运行的编号为0，用户后期又重跑了该实例，第二次执行的编号为1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeRoundNum

    @LifeRoundNum.setter
    def LifeRoundNum(self, LifeRoundNum):
        self._LifeRoundNum = LifeRoundNum

    @property
    def RunType(self):
        r"""**实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunType

    @RunType.setter
    def RunType(self, RunType):
        self._RunType = RunType

    @property
    def Tries(self):
        r"""失败重试次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def LifeCycleDetailList(self):
        r"""**实例生命周期列表**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceLifeDetailDto
        """
        return self._LifeCycleDetailList

    @LifeCycleDetailList.setter
    def LifeCycleDetailList(self, LifeCycleDetailList):
        self._LifeCycleDetailList = LifeCycleDetailList

    @property
    def CodeFileName(self):
        r"""**实例代码文件**
该文件内容为当次执行实例运行使用的代码，仅部分任务支持
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeFileName

    @CodeFileName.setter
    def CodeFileName(self, CodeFileName):
        self._CodeFileName = CodeFileName

    @property
    def ExecutionJobId(self):
        r"""**下发执行ID**
统一执行平台下发执行到新版执行机标识某次执行的唯一ID，存量老执行机下发执行没有此ID。
如果不知道执行机版本是否支持此ID，可以联系腾讯云运维同学
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def BrokerIp(self):
        r"""日志所在执行节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def OriginFileName(self):
        r"""日志文件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def LogType(self):
        r"""**实例日志类型**

- run: 运行; 
- kill: 终止
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogType

    @LogType.setter
    def LogType(self, LogType):
        self._LogType = LogType

    @property
    def CostTime(self):
        r"""耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime


    def _deserialize(self, params):
        self._InstanceKey = params.get("InstanceKey")
        self._InstanceState = params.get("InstanceState")
        self._LifeRoundNum = params.get("LifeRoundNum")
        self._RunType = params.get("RunType")
        self._Tries = params.get("Tries")
        if params.get("LifeCycleDetailList") is not None:
            self._LifeCycleDetailList = []
            for item in params.get("LifeCycleDetailList"):
                obj = InstanceLifeDetailDto()
                obj._deserialize(item)
                self._LifeCycleDetailList.append(obj)
        self._CodeFileName = params.get("CodeFileName")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._BrokerIp = params.get("BrokerIp")
        self._OriginFileName = params.get("OriginFileName")
        self._LogType = params.get("LogType")
        self._CostTime = params.get("CostTime")
        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 InstanceLifeDetailDto(AbstractModel):
    r"""实例生命周期detail

    """

    def __init__(self):
        r"""
        :param _State: **实例状态**
- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type State: str
        :param _StartTime: 该状态开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _DetailState: **实例生命周期阶段状态**

- WAIT_UPSTREAM 表示 等待事件/上游状态
- WAIT_RUN 表示 等待运行状态
- RUNNING 表示 运行中状态
- COMPLETE 表示 终态-完成
- FAILED 表示 终态-失败重试
- EXPIRED 表示 终态-失败
- SKIP_RUNNING 表示 终态-被上游分支节点跳过的分支
- HISTORY 表示 兼容2024-03-30之前的历史实例，之后实例无需关注次枚举类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DetailState: str
        :param _EndTime: 该状态结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        """
        self._State = None
        self._StartTime = None
        self._DetailState = None
        self._EndTime = None

    @property
    def State(self):
        r"""**实例状态**
- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def StartTime(self):
        r"""该状态开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def DetailState(self):
        r"""**实例生命周期阶段状态**

- WAIT_UPSTREAM 表示 等待事件/上游状态
- WAIT_RUN 表示 等待运行状态
- RUNNING 表示 运行中状态
- COMPLETE 表示 终态-完成
- FAILED 表示 终态-失败重试
- EXPIRED 表示 终态-失败
- SKIP_RUNNING 表示 终态-被上游分支节点跳过的分支
- HISTORY 表示 兼容2024-03-30之前的历史实例，之后实例无需关注次枚举类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DetailState

    @DetailState.setter
    def DetailState(self, DetailState):
        self._DetailState = DetailState

    @property
    def EndTime(self):
        r"""该状态结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._State = params.get("State")
        self._StartTime = params.get("StartTime")
        self._DetailState = params.get("DetailState")
        self._EndTime = params.get("EndTime")
        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 InstanceList(AbstractModel):
    r"""离线运维实例列表

    """

    def __init__(self):
        r"""
        :param _CostTime: 耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        :param _CurRunDate: 数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _CycleType: 周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _DoFlag: 是否补录
注意：此字段可能返回 null，表示取不到有效值。
        :type DoFlag: int
        :param _InCharge: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _LastLog: 日志
注意：此字段可能返回 null，表示取不到有效值。
        :type LastLog: str
        :param _SchedulerDesc: 调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _StartTime: 开始启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _State: 实例状态  EVENT_LISTENING|DEPENDENCE|BEFORE_ASPECT|ALLOCATED|LAUNCHED|KILL|SNAP_STATE_SAVING|ISSUED|RUNNING|AFTER_ASPECT|PENDING|KILLING|FINAL_STATE_SAVING|FAILED|KILL_FAILED| COMPLETED|EXPIRED|KILL_EXPIRED|DELETED
注意：此字段可能返回 null，表示取不到有效值。
        :type State: str
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TryLimit: 尝试运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        """
        self._CostTime = None
        self._CurRunDate = None
        self._CycleType = None
        self._DoFlag = None
        self._InCharge = None
        self._LastLog = None
        self._SchedulerDesc = None
        self._StartTime = None
        self._State = None
        self._TaskId = None
        self._TaskName = None
        self._TryLimit = None

    @property
    def CostTime(self):
        r"""耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime

    @property
    def CurRunDate(self):
        r"""数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def CycleType(self):
        r"""周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def DoFlag(self):
        r"""是否补录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DoFlag

    @DoFlag.setter
    def DoFlag(self, DoFlag):
        self._DoFlag = DoFlag

    @property
    def InCharge(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def LastLog(self):
        r"""日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastLog

    @LastLog.setter
    def LastLog(self, LastLog):
        self._LastLog = LastLog

    @property
    def SchedulerDesc(self):
        r"""调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def StartTime(self):
        r"""开始启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def State(self):
        r"""实例状态  EVENT_LISTENING|DEPENDENCE|BEFORE_ASPECT|ALLOCATED|LAUNCHED|KILL|SNAP_STATE_SAVING|ISSUED|RUNNING|AFTER_ASPECT|PENDING|KILLING|FINAL_STATE_SAVING|FAILED|KILL_FAILED| COMPLETED|EXPIRED|KILL_EXPIRED|DELETED
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TryLimit(self):
        r"""尝试运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit


    def _deserialize(self, params):
        self._CostTime = params.get("CostTime")
        self._CurRunDate = params.get("CurRunDate")
        self._CycleType = params.get("CycleType")
        self._DoFlag = params.get("DoFlag")
        self._InCharge = params.get("InCharge")
        self._LastLog = params.get("LastLog")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._StartTime = params.get("StartTime")
        self._State = params.get("State")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._TryLimit = params.get("TryLimit")
        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 InstanceLogByLine(AbstractModel):
    r"""日志信息

    """

    def __init__(self):
        r"""
        :param _Count: 返回行数
注意：此字段可能返回 null，表示取不到有效值。
        :type Count: int
        :param _Content: 内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: list of str
        :param _Over: 文件是否读取完
注意：此字段可能返回 null，表示取不到有效值。
        :type Over: bool
        :param _InstanceState: 实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: str
        :param _InstanceId: 实例id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _WorkerType: 执行机类型 0:老执行机loader 1:新执行机woker
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkerType: int
        :param _JobLogErrorTip: 日志sql错误信息，包含行列信息
注意：此字段可能返回 null，表示取不到有效值。
        :type JobLogErrorTip: :class:`tencentcloud.wedata.v20210820.models.JobLogErrorTip`
        :param _ExecutionExtendedProps: 执行实例的扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionExtendedProps: list of ExtensionInfoVO
        :param _ExtInfo: 如果queryFileFlag为1，则ext返回当前页数据的结束行信息，下一页把这个extInfo透传过来
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtInfo: str
        """
        self._Count = None
        self._Content = None
        self._Over = None
        self._InstanceState = None
        self._InstanceId = None
        self._TaskId = None
        self._WorkerType = None
        self._JobLogErrorTip = None
        self._ExecutionExtendedProps = None
        self._ExtInfo = None

    @property
    def Count(self):
        r"""返回行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def Content(self):
        r"""内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def Over(self):
        r"""文件是否读取完
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Over

    @Over.setter
    def Over(self, Over):
        self._Over = Over

    @property
    def InstanceState(self):
        r"""实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def InstanceId(self):
        r"""实例id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def WorkerType(self):
        r"""执行机类型 0:老执行机loader 1:新执行机woker
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WorkerType

    @WorkerType.setter
    def WorkerType(self, WorkerType):
        self._WorkerType = WorkerType

    @property
    def JobLogErrorTip(self):
        r"""日志sql错误信息，包含行列信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.JobLogErrorTip`
        """
        return self._JobLogErrorTip

    @JobLogErrorTip.setter
    def JobLogErrorTip(self, JobLogErrorTip):
        self._JobLogErrorTip = JobLogErrorTip

    @property
    def ExecutionExtendedProps(self):
        r"""执行实例的扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ExtensionInfoVO
        """
        return self._ExecutionExtendedProps

    @ExecutionExtendedProps.setter
    def ExecutionExtendedProps(self, ExecutionExtendedProps):
        self._ExecutionExtendedProps = ExecutionExtendedProps

    @property
    def ExtInfo(self):
        r"""如果queryFileFlag为1，则ext返回当前页数据的结束行信息，下一页把这个extInfo透传过来
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo


    def _deserialize(self, params):
        self._Count = params.get("Count")
        self._Content = params.get("Content")
        self._Over = params.get("Over")
        self._InstanceState = params.get("InstanceState")
        self._InstanceId = params.get("InstanceId")
        self._TaskId = params.get("TaskId")
        self._WorkerType = params.get("WorkerType")
        if params.get("JobLogErrorTip") is not None:
            self._JobLogErrorTip = JobLogErrorTip()
            self._JobLogErrorTip._deserialize(params.get("JobLogErrorTip"))
        if params.get("ExecutionExtendedProps") is not None:
            self._ExecutionExtendedProps = []
            for item in params.get("ExecutionExtendedProps"):
                obj = ExtensionInfoVO()
                obj._deserialize(item)
                self._ExecutionExtendedProps.append(obj)
        self._ExtInfo = params.get("ExtInfo")
        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 InstanceLogInfo(AbstractModel):
    r"""实例日志简述信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _CurRunDate: 数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _Tries: 尝试运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: str
        :param _LastUpdate: 日志更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdate: str
        :param _BrokerIp: 日志所在节点
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _FileSize: 文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type FileSize: str
        :param _OriginFileName: 文件名 含全路径
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginFileName: str
        :param _CreateTime: 日志创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _InstanceLogType: 实例日志类型, run: 运行; kill: 终止
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLogType: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _CostTime: 运行耗时
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        :param _InstanceStatus: 实例状态 COMPLETED 完成 FAILED失败重试 EXPIRED失败 RUNNING运行中
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceStatus: str
        :param _CodeFileName: 实例代码文件，为空表示对应代码文件不存在，可能是因为执行机未升级/对应类型任务无代码。
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeFileName: str
        :param _ExtensionInfo: 扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtensionInfo: list of AttributeItemDTO
        :param _ExecutionJobId: 统一执行平台，下发执行Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        """
        self._TaskId = None
        self._CurRunDate = None
        self._Tries = None
        self._LastUpdate = None
        self._BrokerIp = None
        self._FileSize = None
        self._OriginFileName = None
        self._CreateTime = None
        self._InstanceLogType = None
        self._TaskName = None
        self._CostTime = None
        self._InstanceStatus = None
        self._CodeFileName = None
        self._ExtensionInfo = None
        self._ExecutionJobId = None

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def Tries(self):
        r"""尝试运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def LastUpdate(self):
        r"""日志更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdate

    @LastUpdate.setter
    def LastUpdate(self, LastUpdate):
        self._LastUpdate = LastUpdate

    @property
    def BrokerIp(self):
        r"""日志所在节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def FileSize(self):
        r"""文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileSize

    @FileSize.setter
    def FileSize(self, FileSize):
        self._FileSize = FileSize

    @property
    def OriginFileName(self):
        r"""文件名 含全路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def CreateTime(self):
        r"""日志创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def InstanceLogType(self):
        r"""实例日志类型, run: 运行; kill: 终止
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceLogType

    @InstanceLogType.setter
    def InstanceLogType(self, InstanceLogType):
        self._InstanceLogType = InstanceLogType

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CostTime(self):
        r"""运行耗时
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime

    @property
    def InstanceStatus(self):
        r"""实例状态 COMPLETED 完成 FAILED失败重试 EXPIRED失败 RUNNING运行中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceStatus

    @InstanceStatus.setter
    def InstanceStatus(self, InstanceStatus):
        self._InstanceStatus = InstanceStatus

    @property
    def CodeFileName(self):
        r"""实例代码文件，为空表示对应代码文件不存在，可能是因为执行机未升级/对应类型任务无代码。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeFileName

    @CodeFileName.setter
    def CodeFileName(self, CodeFileName):
        self._CodeFileName = CodeFileName

    @property
    def ExtensionInfo(self):
        r"""扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AttributeItemDTO
        """
        return self._ExtensionInfo

    @ExtensionInfo.setter
    def ExtensionInfo(self, ExtensionInfo):
        self._ExtensionInfo = ExtensionInfo

    @property
    def ExecutionJobId(self):
        r"""统一执行平台，下发执行Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._Tries = params.get("Tries")
        self._LastUpdate = params.get("LastUpdate")
        self._BrokerIp = params.get("BrokerIp")
        self._FileSize = params.get("FileSize")
        self._OriginFileName = params.get("OriginFileName")
        self._CreateTime = params.get("CreateTime")
        self._InstanceLogType = params.get("InstanceLogType")
        self._TaskName = params.get("TaskName")
        self._CostTime = params.get("CostTime")
        self._InstanceStatus = params.get("InstanceStatus")
        self._CodeFileName = params.get("CodeFileName")
        if params.get("ExtensionInfo") is not None:
            self._ExtensionInfo = []
            for item in params.get("ExtensionInfo"):
                obj = AttributeItemDTO()
                obj._deserialize(item)
                self._ExtensionInfo.append(obj)
        self._ExecutionJobId = params.get("ExecutionJobId")
        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 InstanceLogInfoOpsDto(AbstractModel):
    r"""实例日志信息详情

    """

    def __init__(self):
        r"""
        :param _LogInfo: 实例运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :type LogInfo: str
        :param _YarnLogInfo: 实例运行提交的yarn日志地址
注意：此字段可能返回 null，表示取不到有效值。
        :type YarnLogInfo: list of str
        :param _DataLogInfo: 实例运行产生的datax日志
注意：此字段可能返回 null，表示取不到有效值。
        :type DataLogInfo: str
        :param _ThirdTaskRunLogInfo: 第三方任务运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :type ThirdTaskRunLogInfo: str
        :param _ThirdTaskLogUrlDesc: 第三方任务日志链接描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ThirdTaskLogUrlDesc: str
        :param _LineCount: 日志行数
注意：此字段可能返回 null，表示取不到有效值。
        :type LineCount: int
        :param _ExtInfo: 统一执行平台日志分页查询参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtInfo: str
        :param _IsEnd: 日志分页查询，是否最后一页
注意：此字段可能返回 null，表示取不到有效值。
        :type IsEnd: bool
        :param _FileSize: 文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type FileSize: str
        :param _MatchedBrokerIp: 日志匹配节点信息
        :type MatchedBrokerIp: str
        :param _ExecutionExtendedProps: 执行平台通用协议
        :type ExecutionExtendedProps: list of PairDto
        """
        self._LogInfo = None
        self._YarnLogInfo = None
        self._DataLogInfo = None
        self._ThirdTaskRunLogInfo = None
        self._ThirdTaskLogUrlDesc = None
        self._LineCount = None
        self._ExtInfo = None
        self._IsEnd = None
        self._FileSize = None
        self._MatchedBrokerIp = None
        self._ExecutionExtendedProps = None

    @property
    def LogInfo(self):
        r"""实例运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogInfo

    @LogInfo.setter
    def LogInfo(self, LogInfo):
        self._LogInfo = LogInfo

    @property
    def YarnLogInfo(self):
        r"""实例运行提交的yarn日志地址
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._YarnLogInfo

    @YarnLogInfo.setter
    def YarnLogInfo(self, YarnLogInfo):
        self._YarnLogInfo = YarnLogInfo

    @property
    def DataLogInfo(self):
        r"""实例运行产生的datax日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataLogInfo

    @DataLogInfo.setter
    def DataLogInfo(self, DataLogInfo):
        self._DataLogInfo = DataLogInfo

    @property
    def ThirdTaskRunLogInfo(self):
        r"""第三方任务运行日志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ThirdTaskRunLogInfo

    @ThirdTaskRunLogInfo.setter
    def ThirdTaskRunLogInfo(self, ThirdTaskRunLogInfo):
        self._ThirdTaskRunLogInfo = ThirdTaskRunLogInfo

    @property
    def ThirdTaskLogUrlDesc(self):
        r"""第三方任务日志链接描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ThirdTaskLogUrlDesc

    @ThirdTaskLogUrlDesc.setter
    def ThirdTaskLogUrlDesc(self, ThirdTaskLogUrlDesc):
        self._ThirdTaskLogUrlDesc = ThirdTaskLogUrlDesc

    @property
    def LineCount(self):
        r"""日志行数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LineCount

    @LineCount.setter
    def LineCount(self, LineCount):
        self._LineCount = LineCount

    @property
    def ExtInfo(self):
        r"""统一执行平台日志分页查询参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo

    @property
    def IsEnd(self):
        r"""日志分页查询，是否最后一页
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsEnd

    @IsEnd.setter
    def IsEnd(self, IsEnd):
        self._IsEnd = IsEnd

    @property
    def FileSize(self):
        r"""文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileSize

    @FileSize.setter
    def FileSize(self, FileSize):
        self._FileSize = FileSize

    @property
    def MatchedBrokerIp(self):
        r"""日志匹配节点信息
        :rtype: str
        """
        return self._MatchedBrokerIp

    @MatchedBrokerIp.setter
    def MatchedBrokerIp(self, MatchedBrokerIp):
        self._MatchedBrokerIp = MatchedBrokerIp

    @property
    def ExecutionExtendedProps(self):
        r"""执行平台通用协议
        :rtype: list of PairDto
        """
        return self._ExecutionExtendedProps

    @ExecutionExtendedProps.setter
    def ExecutionExtendedProps(self, ExecutionExtendedProps):
        self._ExecutionExtendedProps = ExecutionExtendedProps


    def _deserialize(self, params):
        self._LogInfo = params.get("LogInfo")
        self._YarnLogInfo = params.get("YarnLogInfo")
        self._DataLogInfo = params.get("DataLogInfo")
        self._ThirdTaskRunLogInfo = params.get("ThirdTaskRunLogInfo")
        self._ThirdTaskLogUrlDesc = params.get("ThirdTaskLogUrlDesc")
        self._LineCount = params.get("LineCount")
        self._ExtInfo = params.get("ExtInfo")
        self._IsEnd = params.get("IsEnd")
        self._FileSize = params.get("FileSize")
        self._MatchedBrokerIp = params.get("MatchedBrokerIp")
        if params.get("ExecutionExtendedProps") is not None:
            self._ExecutionExtendedProps = []
            for item in params.get("ExecutionExtendedProps"):
                obj = PairDto()
                obj._deserialize(item)
                self._ExecutionExtendedProps.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 InstanceLogList(AbstractModel):
    r"""实例日志信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _CurRunDate: 数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _Tries: 重试次数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: str
        :param _LastUpdate: 最后更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdate: str
        :param _BrokerIp: 节点ip
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _FileSize: 文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type FileSize: str
        :param _OriginFileName: 原始文件名
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginFileName: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _InstanceLogType: 实例日志类型
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLogType: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _CostTime: 耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        """
        self._TaskId = None
        self._CurRunDate = None
        self._Tries = None
        self._LastUpdate = None
        self._BrokerIp = None
        self._FileSize = None
        self._OriginFileName = None
        self._CreateTime = None
        self._InstanceLogType = None
        self._TaskName = None
        self._CostTime = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def Tries(self):
        r"""重试次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def LastUpdate(self):
        r"""最后更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdate

    @LastUpdate.setter
    def LastUpdate(self, LastUpdate):
        self._LastUpdate = LastUpdate

    @property
    def BrokerIp(self):
        r"""节点ip
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def FileSize(self):
        r"""文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileSize

    @FileSize.setter
    def FileSize(self, FileSize):
        self._FileSize = FileSize

    @property
    def OriginFileName(self):
        r"""原始文件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginFileName

    @OriginFileName.setter
    def OriginFileName(self, OriginFileName):
        self._OriginFileName = OriginFileName

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def InstanceLogType(self):
        r"""实例日志类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceLogType

    @InstanceLogType.setter
    def InstanceLogType(self, InstanceLogType):
        self._InstanceLogType = InstanceLogType

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CostTime(self):
        r"""耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._Tries = params.get("Tries")
        self._LastUpdate = params.get("LastUpdate")
        self._BrokerIp = params.get("BrokerIp")
        self._FileSize = params.get("FileSize")
        self._OriginFileName = params.get("OriginFileName")
        self._CreateTime = params.get("CreateTime")
        self._InstanceLogType = params.get("InstanceLogType")
        self._TaskName = params.get("TaskName")
        self._CostTime = params.get("CostTime")
        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 InstanceLogVO(AbstractModel):
    r"""实例日志内容

    """

    def __init__(self):
        r"""
        :param _InstanceKey: 实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _InstanceState: **实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: int
        :param _RunType: **实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :type RunType: str
        :param _StartTime: 开始运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CodeInfo: **运行代码内容**
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeInfo: str
        :param _CodeFileSize: **运行代码文件大小**
单位KB
注意：此字段可能返回 null，表示取不到有效值。
        :type CodeFileSize: str
        :param _BrokerIp: 日志所在节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _LogInfo: **日志内容**
注意：此字段可能返回 null，表示取不到有效值。
        :type LogInfo: str
        :param _LogFileSize: **日志文件大小**
单位KB
注意：此字段可能返回 null，表示取不到有效值。
        :type LogFileSize: str
        :param _LineCount: **本次查询返回的日志行数**
注意：此字段可能返回 null，表示取不到有效值。
        :type LineCount: int
        :param _ExtInfo: **分页查询日志时使用，无具体业务含义**

第一次查询时值为null 
第二次及以后查询时使用上一次查询返回信息中的ExtInfo字段值即可
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtInfo: str
        :param _IsEnd: 日志分页查询，是否最后一页
注意：此字段可能返回 null，表示取不到有效值。
        :type IsEnd: bool
        """
        self._InstanceKey = None
        self._ProjectId = None
        self._InstanceState = None
        self._RunType = None
        self._StartTime = None
        self._EndTime = None
        self._CodeInfo = None
        self._CodeFileSize = None
        self._BrokerIp = None
        self._LogInfo = None
        self._LogFileSize = None
        self._LineCount = None
        self._ExtInfo = None
        self._IsEnd = None

    @property
    def InstanceKey(self):
        r"""实例唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def InstanceState(self):
        r"""**实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def RunType(self):
        r"""**实例运行触发类型**

- RERUN 表示重跑
- ADDITION 表示补录
- PERIODIC 表示周期
- APERIODIC 表示非周期
- RERUN_SKIP_RUN 表示重跑 - 空跑
- ADDITION_SKIP_RUN 表示补录 - 空跑
- PERIODIC_SKIP_RUN 表示周期 - 空跑
- APERIODIC_SKIP_RUN 表示非周期 - 空跑
- MANUAL_TRIGGER 表示手动触发
- RERUN_MANUAL_TRIGGER 表示手动触发 - 重跑
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunType

    @RunType.setter
    def RunType(self, RunType):
        self._RunType = RunType

    @property
    def StartTime(self):
        r"""开始运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CodeInfo(self):
        r"""**运行代码内容**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeInfo

    @CodeInfo.setter
    def CodeInfo(self, CodeInfo):
        self._CodeInfo = CodeInfo

    @property
    def CodeFileSize(self):
        r"""**运行代码文件大小**
单位KB
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CodeFileSize

    @CodeFileSize.setter
    def CodeFileSize(self, CodeFileSize):
        self._CodeFileSize = CodeFileSize

    @property
    def BrokerIp(self):
        r"""日志所在节点信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def LogInfo(self):
        r"""**日志内容**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogInfo

    @LogInfo.setter
    def LogInfo(self, LogInfo):
        self._LogInfo = LogInfo

    @property
    def LogFileSize(self):
        r"""**日志文件大小**
单位KB
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogFileSize

    @LogFileSize.setter
    def LogFileSize(self, LogFileSize):
        self._LogFileSize = LogFileSize

    @property
    def LineCount(self):
        r"""**本次查询返回的日志行数**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LineCount

    @LineCount.setter
    def LineCount(self, LineCount):
        self._LineCount = LineCount

    @property
    def ExtInfo(self):
        r"""**分页查询日志时使用，无具体业务含义**

第一次查询时值为null 
第二次及以后查询时使用上一次查询返回信息中的ExtInfo字段值即可
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo

    @property
    def IsEnd(self):
        r"""日志分页查询，是否最后一页
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsEnd

    @IsEnd.setter
    def IsEnd(self, IsEnd):
        self._IsEnd = IsEnd


    def _deserialize(self, params):
        self._InstanceKey = params.get("InstanceKey")
        self._ProjectId = params.get("ProjectId")
        self._InstanceState = params.get("InstanceState")
        self._RunType = params.get("RunType")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CodeInfo = params.get("CodeInfo")
        self._CodeFileSize = params.get("CodeFileSize")
        self._BrokerIp = params.get("BrokerIp")
        self._LogInfo = params.get("LogInfo")
        self._LogFileSize = params.get("LogFileSize")
        self._LineCount = params.get("LineCount")
        self._ExtInfo = params.get("ExtInfo")
        self._IsEnd = params.get("IsEnd")
        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 InstanceNodeInfo(AbstractModel):
    r"""查询实时任务实例当前的节点信息

    """

    def __init__(self):
        r"""
        :param _NodeType: 读取节点SOURCE 写入节点SINK
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeType: str
        :param _NodeId: 节点id
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeId: str
        :param _NodeName: 节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeName: str
        """
        self._NodeType = None
        self._NodeId = None
        self._NodeName = None

    @property
    def NodeType(self):
        r"""读取节点SOURCE 写入节点SINK
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def NodeId(self):
        r"""节点id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeId

    @NodeId.setter
    def NodeId(self, NodeId):
        self._NodeId = NodeId

    @property
    def NodeName(self):
        r"""节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeName

    @NodeName.setter
    def NodeName(self, NodeName):
        self._NodeName = NodeName


    def _deserialize(self, params):
        self._NodeType = params.get("NodeType")
        self._NodeId = params.get("NodeId")
        self._NodeName = params.get("NodeName")
        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 InstanceOpsDto(AbstractModel):
    r"""实例运维详情

    """

    def __init__(self):
        r"""
        :param _TaskId: <p>任务ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: <p>任务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: <p>工作流ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: <p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _InCharge: <p>负责人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _CycleType: <p>周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CurRunDate: <p>数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _NextCurDate: <p>下一个数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NextCurDate: str
        :param _RunPriority: <p>运行优先级</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RunPriority: int
        :param _TryLimit: <p>尝试运行次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        :param _Tries: <p>当前运行次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: int
        :param _TotalRunNum: <p>重跑总次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRunNum: int
        :param _DoFlag: <p>是否补录</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DoFlag: int
        :param _RedoFlag: <p>是否是重跑</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RedoFlag: int
        :param _State: <p>实例状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type State: str
        :param _RuntimeBroker: <p>运行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RuntimeBroker: str
        :param _ErrorDesc: <p>失败的原因</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _TaskType: <p>任务类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        :param _DependenceFulfillTime: <p>依赖判断完成时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependenceFulfillTime: str
        :param _FirstDependenceFulfillTime: <p>首次依赖判断通过时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstDependenceFulfillTime: str
        :param _FirstStartTime: <p>首次启动时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstStartTime: str
        :param _StartTime: <p>开始启动时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: <p>运行完成时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CostTime: <p>耗费时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        :param _CostMillisecond: <p>耗费时间(ms)</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CostMillisecond: int
        :param _MaxCostTime: <p>最大运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxCostTime: int
        :param _MinCostTime: <p>最小运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MinCostTime: int
        :param _AvgCostTime: <p>平均运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type AvgCostTime: float
        :param _LastLog: <p>最近日志</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastLog: str
        :param _SchedulerDateTime: <p>调度时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDateTime: str
        :param _LastSchedulerDateTime: <p>上次调度时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastSchedulerDateTime: str
        :param _LastUpdate: <p>最后更新事件</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdate: str
        :param _CreateTime: <p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _DependencyRel: <p>分支，依赖关系 and、or</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyRel: str
        :param _ExecutionSpace: <p>执行空间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionSpace: str
        :param _IgnoreEvent: <p>忽略事件</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type IgnoreEvent: bool
        :param _VirtualFlag: <p>虚拟任务实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualFlag: bool
        :param _FolderId: <p>文件夹ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: <p>文件夹名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _SonList: <p>递归实例信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SonList: str
        :param _ProductName: <p>产品业务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductName: str
        :param _ResourceGroup: <p>资源组</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        :param _ResourceInstanceId: <p>资源组指定执行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceInstanceId: str
        :param _YarnQueue: <p>资源队列</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type YarnQueue: str
        :param _SchedulerDesc: <p>调度计划</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _FirstSubmitTime: <p>最近提交时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstSubmitTime: str
        :param _FirstRunTime: <p>首次执行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstRunTime: str
        :param _ProjectId: <p>项目ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: <p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: <p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _TenantId: <p>租户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _InstanceKey: <p>实例标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        :param _ExecutorGroupId: <p>资源组id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: <p>资源组名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _RelatedInstanceList: <p>关联实例信息。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RelatedInstanceList: list of InstanceOpsDto
        :param _RelatedInstanceSize: <p>关联实例信息数量，不和RelatedInstanceList强关联。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RelatedInstanceSize: int
        :param _OwnerId: <p>ownerId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _UserId: <p>用户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _InstanceLifeCycleOpsDto: <p>实例生命周期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceLifeCycleOpsDto: :class:`tencentcloud.wedata.v20210820.models.InstanceLifeCycleOpsDto`
        :param _RetryAttempts: <p>自动重试次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryAttempts: int
        :param _DeletedFatherList: <p>紧急去除的依赖父实例列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DeletedFatherList: list of str
        :param _CirculateInstanceList: <p>循环依赖关联的实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CirculateInstanceList: list of InstanceOpsDto
        :param _ConcurrentStrategy: <p>并发策略, 0: 等待并发, 1: kill自身</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ConcurrentStrategy: int
        :param _ScheduleRunType: <p>调度运行方式, 0: 周期调度, 1: 空跑调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleRunType: int
        :param _AllowRedoType: <p>允许重跑类型，ALL 表示无论实例运行成功还是失败都允许重跑，NONE表示无论成功或者失败都不允许重跑，FAILURE 表示只有运行失败才能重跑</p>
        :type AllowRedoType: str
        :param _InstanceCycleType: <p>实例生命周期</p>
        :type InstanceCycleType: str
        :param _InstanceSchedulerDesc: <p>实例执行计划描述</p>
        :type InstanceSchedulerDesc: str
        :param _Privileges: <p>当前用户对该实例的权限列表</p>
        :type Privileges: list of str
        :param _TaskExecutionId: <p>任务执行id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskExecutionId: str
        :param _DlcTaskId: <p>dlc taskid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcTaskId: str
        :param _DlcSparkJobId: <p>dlc jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcSparkJobId: str
        :param _Ext: <p>扩展属性</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Ext: :class:`tencentcloud.wedata.v20210820.models.StrToStrMap`
        :param _RelatedEventList: <p>事件列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RelatedEventList: list of EventCaseAuditLogOptDto
        :param _ProxyTaskId: <p>代理任务ID（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProxyTaskId: str
        :param _WorkflowRunName: <p>嵌套工作流名称（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowRunName: str
        :param _ProxyTaskType: <p>代理任务类型（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProxyTaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        self._TaskId = None
        self._TaskName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._InCharge = None
        self._CycleType = None
        self._CurRunDate = None
        self._NextCurDate = None
        self._RunPriority = None
        self._TryLimit = None
        self._Tries = None
        self._TotalRunNum = None
        self._DoFlag = None
        self._RedoFlag = None
        self._State = None
        self._RuntimeBroker = None
        self._ErrorDesc = None
        self._TaskType = None
        self._DependenceFulfillTime = None
        self._FirstDependenceFulfillTime = None
        self._FirstStartTime = None
        self._StartTime = None
        self._EndTime = None
        self._CostTime = None
        self._CostMillisecond = None
        self._MaxCostTime = None
        self._MinCostTime = None
        self._AvgCostTime = None
        self._LastLog = None
        self._SchedulerDateTime = None
        self._LastSchedulerDateTime = None
        self._LastUpdate = None
        self._CreateTime = None
        self._DependencyRel = None
        self._ExecutionSpace = None
        self._IgnoreEvent = None
        self._VirtualFlag = None
        self._FolderId = None
        self._FolderName = None
        self._SonList = None
        self._ProductName = None
        self._ResourceGroup = None
        self._ResourceInstanceId = None
        self._YarnQueue = None
        self._SchedulerDesc = None
        self._FirstSubmitTime = None
        self._FirstRunTime = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._TenantId = None
        self._InstanceKey = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._RelatedInstanceList = None
        self._RelatedInstanceSize = None
        self._OwnerId = None
        self._UserId = None
        self._InstanceLifeCycleOpsDto = None
        self._RetryAttempts = None
        self._DeletedFatherList = None
        self._CirculateInstanceList = None
        self._ConcurrentStrategy = None
        self._ScheduleRunType = None
        self._AllowRedoType = None
        self._InstanceCycleType = None
        self._InstanceSchedulerDesc = None
        self._Privileges = None
        self._TaskExecutionId = None
        self._DlcTaskId = None
        self._DlcSparkJobId = None
        self._Ext = None
        self._RelatedEventList = None
        self._ProxyTaskId = None
        self._WorkflowRunName = None
        self._ProxyTaskType = None

    @property
    def TaskId(self):
        r"""<p>任务ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""<p>任务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""<p>工作流ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""<p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def InCharge(self):
        r"""<p>负责人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def CycleType(self):
        r"""<p>周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CurRunDate(self):
        r"""<p>数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def NextCurDate(self):
        r"""<p>下一个数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NextCurDate

    @NextCurDate.setter
    def NextCurDate(self, NextCurDate):
        self._NextCurDate = NextCurDate

    @property
    def RunPriority(self):
        r"""<p>运行优先级</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def TryLimit(self):
        r"""<p>尝试运行次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def Tries(self):
        r"""<p>当前运行次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def TotalRunNum(self):
        r"""<p>重跑总次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRunNum

    @TotalRunNum.setter
    def TotalRunNum(self, TotalRunNum):
        self._TotalRunNum = TotalRunNum

    @property
    def DoFlag(self):
        r"""<p>是否补录</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DoFlag

    @DoFlag.setter
    def DoFlag(self, DoFlag):
        self._DoFlag = DoFlag

    @property
    def RedoFlag(self):
        r"""<p>是否是重跑</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RedoFlag

    @RedoFlag.setter
    def RedoFlag(self, RedoFlag):
        self._RedoFlag = RedoFlag

    @property
    def State(self):
        r"""<p>实例状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def RuntimeBroker(self):
        r"""<p>运行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuntimeBroker

    @RuntimeBroker.setter
    def RuntimeBroker(self, RuntimeBroker):
        self._RuntimeBroker = RuntimeBroker

    @property
    def ErrorDesc(self):
        r"""<p>失败的原因</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def TaskType(self):
        r"""<p>任务类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def DependenceFulfillTime(self):
        r"""<p>依赖判断完成时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependenceFulfillTime

    @DependenceFulfillTime.setter
    def DependenceFulfillTime(self, DependenceFulfillTime):
        self._DependenceFulfillTime = DependenceFulfillTime

    @property
    def FirstDependenceFulfillTime(self):
        r"""<p>首次依赖判断通过时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstDependenceFulfillTime

    @FirstDependenceFulfillTime.setter
    def FirstDependenceFulfillTime(self, FirstDependenceFulfillTime):
        self._FirstDependenceFulfillTime = FirstDependenceFulfillTime

    @property
    def FirstStartTime(self):
        r"""<p>首次启动时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstStartTime

    @FirstStartTime.setter
    def FirstStartTime(self, FirstStartTime):
        self._FirstStartTime = FirstStartTime

    @property
    def StartTime(self):
        r"""<p>开始启动时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""<p>运行完成时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CostTime(self):
        r"""<p>耗费时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime

    @property
    def CostMillisecond(self):
        r"""<p>耗费时间(ms)</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CostMillisecond

    @CostMillisecond.setter
    def CostMillisecond(self, CostMillisecond):
        self._CostMillisecond = CostMillisecond

    @property
    def MaxCostTime(self):
        r"""<p>最大运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MaxCostTime

    @MaxCostTime.setter
    def MaxCostTime(self, MaxCostTime):
        self._MaxCostTime = MaxCostTime

    @property
    def MinCostTime(self):
        r"""<p>最小运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MinCostTime

    @MinCostTime.setter
    def MinCostTime(self, MinCostTime):
        self._MinCostTime = MinCostTime

    @property
    def AvgCostTime(self):
        r"""<p>平均运行耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._AvgCostTime

    @AvgCostTime.setter
    def AvgCostTime(self, AvgCostTime):
        self._AvgCostTime = AvgCostTime

    @property
    def LastLog(self):
        r"""<p>最近日志</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastLog

    @LastLog.setter
    def LastLog(self, LastLog):
        self._LastLog = LastLog

    @property
    def SchedulerDateTime(self):
        r"""<p>调度时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDateTime

    @SchedulerDateTime.setter
    def SchedulerDateTime(self, SchedulerDateTime):
        self._SchedulerDateTime = SchedulerDateTime

    @property
    def LastSchedulerDateTime(self):
        r"""<p>上次调度时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastSchedulerDateTime

    @LastSchedulerDateTime.setter
    def LastSchedulerDateTime(self, LastSchedulerDateTime):
        self._LastSchedulerDateTime = LastSchedulerDateTime

    @property
    def LastUpdate(self):
        r"""<p>最后更新事件</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdate

    @LastUpdate.setter
    def LastUpdate(self, LastUpdate):
        self._LastUpdate = LastUpdate

    @property
    def CreateTime(self):
        r"""<p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def DependencyRel(self):
        r"""<p>分支，依赖关系 and、or</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyRel

    @DependencyRel.setter
    def DependencyRel(self, DependencyRel):
        self._DependencyRel = DependencyRel

    @property
    def ExecutionSpace(self):
        r"""<p>执行空间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionSpace

    @ExecutionSpace.setter
    def ExecutionSpace(self, ExecutionSpace):
        self._ExecutionSpace = ExecutionSpace

    @property
    def IgnoreEvent(self):
        r"""<p>忽略事件</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IgnoreEvent

    @IgnoreEvent.setter
    def IgnoreEvent(self, IgnoreEvent):
        self._IgnoreEvent = IgnoreEvent

    @property
    def VirtualFlag(self):
        r"""<p>虚拟任务实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def FolderId(self):
        r"""<p>文件夹ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""<p>文件夹名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def SonList(self):
        r"""<p>递归实例信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SonList

    @SonList.setter
    def SonList(self, SonList):
        self._SonList = SonList

    @property
    def ProductName(self):
        r"""<p>产品业务名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def ResourceGroup(self):
        r"""<p>资源组</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def ResourceInstanceId(self):
        r"""<p>资源组指定执行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceInstanceId

    @ResourceInstanceId.setter
    def ResourceInstanceId(self, ResourceInstanceId):
        self._ResourceInstanceId = ResourceInstanceId

    @property
    def YarnQueue(self):
        r"""<p>资源队列</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._YarnQueue

    @YarnQueue.setter
    def YarnQueue(self, YarnQueue):
        self._YarnQueue = YarnQueue

    @property
    def SchedulerDesc(self):
        r"""<p>调度计划</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def FirstSubmitTime(self):
        r"""<p>最近提交时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstSubmitTime

    @FirstSubmitTime.setter
    def FirstSubmitTime(self, FirstSubmitTime):
        self._FirstSubmitTime = FirstSubmitTime

    @property
    def FirstRunTime(self):
        r"""<p>首次执行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstRunTime

    @FirstRunTime.setter
    def FirstRunTime(self, FirstRunTime):
        self._FirstRunTime = FirstRunTime

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""<p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""<p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def TenantId(self):
        r"""<p>租户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def InstanceKey(self):
        r"""<p>实例标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def ExecutorGroupId(self):
        r"""<p>资源组id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""<p>资源组名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def RelatedInstanceList(self):
        r"""<p>关联实例信息。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceOpsDto
        """
        return self._RelatedInstanceList

    @RelatedInstanceList.setter
    def RelatedInstanceList(self, RelatedInstanceList):
        self._RelatedInstanceList = RelatedInstanceList

    @property
    def RelatedInstanceSize(self):
        r"""<p>关联实例信息数量，不和RelatedInstanceList强关联。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RelatedInstanceSize

    @RelatedInstanceSize.setter
    def RelatedInstanceSize(self, RelatedInstanceSize):
        self._RelatedInstanceSize = RelatedInstanceSize

    @property
    def OwnerId(self):
        r"""<p>ownerId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def UserId(self):
        r"""<p>用户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def InstanceLifeCycleOpsDto(self):
        r"""<p>实例生命周期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceLifeCycleOpsDto`
        """
        return self._InstanceLifeCycleOpsDto

    @InstanceLifeCycleOpsDto.setter
    def InstanceLifeCycleOpsDto(self, InstanceLifeCycleOpsDto):
        self._InstanceLifeCycleOpsDto = InstanceLifeCycleOpsDto

    @property
    def RetryAttempts(self):
        r"""<p>自动重试次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryAttempts

    @RetryAttempts.setter
    def RetryAttempts(self, RetryAttempts):
        self._RetryAttempts = RetryAttempts

    @property
    def DeletedFatherList(self):
        r"""<p>紧急去除的依赖父实例列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._DeletedFatherList

    @DeletedFatherList.setter
    def DeletedFatherList(self, DeletedFatherList):
        self._DeletedFatherList = DeletedFatherList

    @property
    def CirculateInstanceList(self):
        r"""<p>循环依赖关联的实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceOpsDto
        """
        return self._CirculateInstanceList

    @CirculateInstanceList.setter
    def CirculateInstanceList(self, CirculateInstanceList):
        self._CirculateInstanceList = CirculateInstanceList

    @property
    def ConcurrentStrategy(self):
        r"""<p>并发策略, 0: 等待并发, 1: kill自身</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConcurrentStrategy

    @ConcurrentStrategy.setter
    def ConcurrentStrategy(self, ConcurrentStrategy):
        self._ConcurrentStrategy = ConcurrentStrategy

    @property
    def ScheduleRunType(self):
        r"""<p>调度运行方式, 0: 周期调度, 1: 空跑调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ScheduleRunType

    @ScheduleRunType.setter
    def ScheduleRunType(self, ScheduleRunType):
        self._ScheduleRunType = ScheduleRunType

    @property
    def AllowRedoType(self):
        r"""<p>允许重跑类型，ALL 表示无论实例运行成功还是失败都允许重跑，NONE表示无论成功或者失败都不允许重跑，FAILURE 表示只有运行失败才能重跑</p>
        :rtype: str
        """
        return self._AllowRedoType

    @AllowRedoType.setter
    def AllowRedoType(self, AllowRedoType):
        self._AllowRedoType = AllowRedoType

    @property
    def InstanceCycleType(self):
        r"""<p>实例生命周期</p>
        :rtype: str
        """
        return self._InstanceCycleType

    @InstanceCycleType.setter
    def InstanceCycleType(self, InstanceCycleType):
        self._InstanceCycleType = InstanceCycleType

    @property
    def InstanceSchedulerDesc(self):
        r"""<p>实例执行计划描述</p>
        :rtype: str
        """
        return self._InstanceSchedulerDesc

    @InstanceSchedulerDesc.setter
    def InstanceSchedulerDesc(self, InstanceSchedulerDesc):
        self._InstanceSchedulerDesc = InstanceSchedulerDesc

    @property
    def Privileges(self):
        r"""<p>当前用户对该实例的权限列表</p>
        :rtype: list of str
        """
        return self._Privileges

    @Privileges.setter
    def Privileges(self, Privileges):
        self._Privileges = Privileges

    @property
    def TaskExecutionId(self):
        r"""<p>任务执行id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskExecutionId

    @TaskExecutionId.setter
    def TaskExecutionId(self, TaskExecutionId):
        self._TaskExecutionId = TaskExecutionId

    @property
    def DlcTaskId(self):
        r"""<p>dlc taskid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcTaskId

    @DlcTaskId.setter
    def DlcTaskId(self, DlcTaskId):
        self._DlcTaskId = DlcTaskId

    @property
    def DlcSparkJobId(self):
        r"""<p>dlc jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcSparkJobId

    @DlcSparkJobId.setter
    def DlcSparkJobId(self, DlcSparkJobId):
        self._DlcSparkJobId = DlcSparkJobId

    @property
    def Ext(self):
        r"""<p>扩展属性</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.StrToStrMap`
        """
        return self._Ext

    @Ext.setter
    def Ext(self, Ext):
        self._Ext = Ext

    @property
    def RelatedEventList(self):
        r"""<p>事件列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventCaseAuditLogOptDto
        """
        return self._RelatedEventList

    @RelatedEventList.setter
    def RelatedEventList(self, RelatedEventList):
        self._RelatedEventList = RelatedEventList

    @property
    def ProxyTaskId(self):
        r"""<p>代理任务ID（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProxyTaskId

    @ProxyTaskId.setter
    def ProxyTaskId(self, ProxyTaskId):
        self._ProxyTaskId = ProxyTaskId

    @property
    def WorkflowRunName(self):
        r"""<p>嵌套工作流名称（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowRunName

    @WorkflowRunName.setter
    def WorkflowRunName(self, WorkflowRunName):
        self._WorkflowRunName = WorkflowRunName

    @property
    def ProxyTaskType(self):
        r"""<p>代理任务类型（仅 嵌套场景使用，非 嵌套 场景为 null）</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._ProxyTaskType

    @ProxyTaskType.setter
    def ProxyTaskType(self, ProxyTaskType):
        self._ProxyTaskType = ProxyTaskType


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._InCharge = params.get("InCharge")
        self._CycleType = params.get("CycleType")
        self._CurRunDate = params.get("CurRunDate")
        self._NextCurDate = params.get("NextCurDate")
        self._RunPriority = params.get("RunPriority")
        self._TryLimit = params.get("TryLimit")
        self._Tries = params.get("Tries")
        self._TotalRunNum = params.get("TotalRunNum")
        self._DoFlag = params.get("DoFlag")
        self._RedoFlag = params.get("RedoFlag")
        self._State = params.get("State")
        self._RuntimeBroker = params.get("RuntimeBroker")
        self._ErrorDesc = params.get("ErrorDesc")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeOpsDto()
            self._TaskType._deserialize(params.get("TaskType"))
        self._DependenceFulfillTime = params.get("DependenceFulfillTime")
        self._FirstDependenceFulfillTime = params.get("FirstDependenceFulfillTime")
        self._FirstStartTime = params.get("FirstStartTime")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CostTime = params.get("CostTime")
        self._CostMillisecond = params.get("CostMillisecond")
        self._MaxCostTime = params.get("MaxCostTime")
        self._MinCostTime = params.get("MinCostTime")
        self._AvgCostTime = params.get("AvgCostTime")
        self._LastLog = params.get("LastLog")
        self._SchedulerDateTime = params.get("SchedulerDateTime")
        self._LastSchedulerDateTime = params.get("LastSchedulerDateTime")
        self._LastUpdate = params.get("LastUpdate")
        self._CreateTime = params.get("CreateTime")
        self._DependencyRel = params.get("DependencyRel")
        self._ExecutionSpace = params.get("ExecutionSpace")
        self._IgnoreEvent = params.get("IgnoreEvent")
        self._VirtualFlag = params.get("VirtualFlag")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._SonList = params.get("SonList")
        self._ProductName = params.get("ProductName")
        self._ResourceGroup = params.get("ResourceGroup")
        self._ResourceInstanceId = params.get("ResourceInstanceId")
        self._YarnQueue = params.get("YarnQueue")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._FirstSubmitTime = params.get("FirstSubmitTime")
        self._FirstRunTime = params.get("FirstRunTime")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._TenantId = params.get("TenantId")
        self._InstanceKey = params.get("InstanceKey")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        if params.get("RelatedInstanceList") is not None:
            self._RelatedInstanceList = []
            for item in params.get("RelatedInstanceList"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._RelatedInstanceList.append(obj)
        self._RelatedInstanceSize = params.get("RelatedInstanceSize")
        self._OwnerId = params.get("OwnerId")
        self._UserId = params.get("UserId")
        if params.get("InstanceLifeCycleOpsDto") is not None:
            self._InstanceLifeCycleOpsDto = InstanceLifeCycleOpsDto()
            self._InstanceLifeCycleOpsDto._deserialize(params.get("InstanceLifeCycleOpsDto"))
        self._RetryAttempts = params.get("RetryAttempts")
        self._DeletedFatherList = params.get("DeletedFatherList")
        if params.get("CirculateInstanceList") is not None:
            self._CirculateInstanceList = []
            for item in params.get("CirculateInstanceList"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._CirculateInstanceList.append(obj)
        self._ConcurrentStrategy = params.get("ConcurrentStrategy")
        self._ScheduleRunType = params.get("ScheduleRunType")
        self._AllowRedoType = params.get("AllowRedoType")
        self._InstanceCycleType = params.get("InstanceCycleType")
        self._InstanceSchedulerDesc = params.get("InstanceSchedulerDesc")
        self._Privileges = params.get("Privileges")
        self._TaskExecutionId = params.get("TaskExecutionId")
        self._DlcTaskId = params.get("DlcTaskId")
        self._DlcSparkJobId = params.get("DlcSparkJobId")
        if params.get("Ext") is not None:
            self._Ext = StrToStrMap()
            self._Ext._deserialize(params.get("Ext"))
        if params.get("RelatedEventList") is not None:
            self._RelatedEventList = []
            for item in params.get("RelatedEventList"):
                obj = EventCaseAuditLogOptDto()
                obj._deserialize(item)
                self._RelatedEventList.append(obj)
        self._ProxyTaskId = params.get("ProxyTaskId")
        self._WorkflowRunName = params.get("WorkflowRunName")
        if params.get("ProxyTaskType") is not None:
            self._ProxyTaskType = TaskTypeOpsDto()
            self._ProxyTaskType._deserialize(params.get("ProxyTaskType"))
        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 InstanceOpsInfoPage(AbstractModel):
    r"""任务运行历史分页记录

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of InstanceOpsDto
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceOpsDto
        """
        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 = InstanceOpsDto()
                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 InstancePageVO(AbstractModel):
    r"""实例列表分页实体

    """

    def __init__(self):
        r"""
        :param _TotalCount: **总条数**
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: **总分页数**
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 每页条目数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _PageCount: 总分页数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _Items: 数据列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of InstanceVO
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageNumber = None
        self._PageSize = None
        self._PageCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""**总条数**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""**总分页数**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页条目数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageCount(self):
        r"""总分页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def Items(self):
        r"""数据列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceVO
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._PageCount = params.get("PageCount")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = InstanceVO()
                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 InstanceSearchCondition(AbstractModel):
    r"""实例检索条件

    """

    def __init__(self):
        r"""
        :param _CycleList: 任务调度周期类型
        :type CycleList: list of str
        :param _DateFrom: 起始时间
        :type DateFrom: str
        :param _DateTo: 截止时间
        :type DateTo: str
        :param _Instance: 实例过滤条件
        :type Instance: :class:`tencentcloud.wedata.v20210820.models.InstanceCondition`
        :param _Keyword: 模糊查询关键字
        :type Keyword: str
        :param _Sort: 排序方式
        :type Sort: str
        :param _SortCol: 排序字段
        :type SortCol: str
        :param _StateList: 实例状态类型
        :type StateList: list of str
        """
        self._CycleList = None
        self._DateFrom = None
        self._DateTo = None
        self._Instance = None
        self._Keyword = None
        self._Sort = None
        self._SortCol = None
        self._StateList = None

    @property
    def CycleList(self):
        r"""任务调度周期类型
        :rtype: list of str
        """
        return self._CycleList

    @CycleList.setter
    def CycleList(self, CycleList):
        self._CycleList = CycleList

    @property
    def DateFrom(self):
        r"""起始时间
        :rtype: str
        """
        return self._DateFrom

    @DateFrom.setter
    def DateFrom(self, DateFrom):
        self._DateFrom = DateFrom

    @property
    def DateTo(self):
        r"""截止时间
        :rtype: str
        """
        return self._DateTo

    @DateTo.setter
    def DateTo(self, DateTo):
        self._DateTo = DateTo

    @property
    def Instance(self):
        r"""实例过滤条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceCondition`
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Keyword(self):
        r"""模糊查询关键字
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def Sort(self):
        r"""排序方式
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def SortCol(self):
        r"""排序字段
        :rtype: str
        """
        return self._SortCol

    @SortCol.setter
    def SortCol(self, SortCol):
        self._SortCol = SortCol

    @property
    def StateList(self):
        r"""实例状态类型
        :rtype: list of str
        """
        return self._StateList

    @StateList.setter
    def StateList(self, StateList):
        self._StateList = StateList


    def _deserialize(self, params):
        self._CycleList = params.get("CycleList")
        self._DateFrom = params.get("DateFrom")
        self._DateTo = params.get("DateTo")
        if params.get("Instance") is not None:
            self._Instance = InstanceCondition()
            self._Instance._deserialize(params.get("Instance"))
        self._Keyword = params.get("Keyword")
        self._Sort = params.get("Sort")
        self._SortCol = params.get("SortCol")
        self._StateList = params.get("StateList")
        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 InstanceStatisticInfo(AbstractModel):
    r"""运维大屏实例状态统计和实例状态趋势

    """

    def __init__(self):
        r"""
        :param _CountList: 实例状态趋势状态统计
注意：此字段可能返回 null，表示取不到有效值。
        :type CountList: list of int non-negative
        :param _TimeList: 实例状态趋势时间分割
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeList: list of str
        :param _InstanceStatus: 实例状态标识：WAITING_RUNNING、KILLING、FAILED、FAILED_TRYING、SUCCEED 分别表示等待执行、正在终止、失败、失败重试、成功，用于实例状态分布和实例状态趋势
        :type InstanceStatus: str
        :param _InstanceCount: 用于实例状态分布计数
        :type InstanceCount: int
        :param _ShowTime: 当前展示时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ShowTime: str
        :param _ReportTime: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type ReportTime: str
        :param _Count: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type Count: int
        """
        self._CountList = None
        self._TimeList = None
        self._InstanceStatus = None
        self._InstanceCount = None
        self._ShowTime = None
        self._ReportTime = None
        self._Count = None

    @property
    def CountList(self):
        r"""实例状态趋势状态统计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int non-negative
        """
        return self._CountList

    @CountList.setter
    def CountList(self, CountList):
        self._CountList = CountList

    @property
    def TimeList(self):
        r"""实例状态趋势时间分割
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TimeList

    @TimeList.setter
    def TimeList(self, TimeList):
        self._TimeList = TimeList

    @property
    def InstanceStatus(self):
        r"""实例状态标识：WAITING_RUNNING、KILLING、FAILED、FAILED_TRYING、SUCCEED 分别表示等待执行、正在终止、失败、失败重试、成功，用于实例状态分布和实例状态趋势
        :rtype: str
        """
        return self._InstanceStatus

    @InstanceStatus.setter
    def InstanceStatus(self, InstanceStatus):
        self._InstanceStatus = InstanceStatus

    @property
    def InstanceCount(self):
        r"""用于实例状态分布计数
        :rtype: int
        """
        return self._InstanceCount

    @InstanceCount.setter
    def InstanceCount(self, InstanceCount):
        self._InstanceCount = InstanceCount

    @property
    def ShowTime(self):
        r"""当前展示时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ShowTime

    @ShowTime.setter
    def ShowTime(self, ShowTime):
        self._ShowTime = ShowTime

    @property
    def ReportTime(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ReportTime

    @ReportTime.setter
    def ReportTime(self, ReportTime):
        self._ReportTime = ReportTime

    @property
    def Count(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count


    def _deserialize(self, params):
        self._CountList = params.get("CountList")
        self._TimeList = params.get("TimeList")
        self._InstanceStatus = params.get("InstanceStatus")
        self._InstanceCount = params.get("InstanceCount")
        self._ShowTime = params.get("ShowTime")
        self._ReportTime = params.get("ReportTime")
        self._Count = params.get("Count")
        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 InstanceVO(AbstractModel):
    r"""调度运行实例实体

    """

    def __init__(self):
        r"""
        :param _InstanceKey: **实例唯一标识**
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _InChargeList: 负责人列表
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeList: list of str
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        :param _TaskCycleType: **任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCycleType: str
        :param _CurRunDate: 实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunDate: str
        :param _TryLimit: 每次运行失败，下发重试次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        :param _Tries: **失败重试次数**
再次使用 手动重跑 或 补录实例等方式触发运行时，会被重置为 0 后重新计数
注意：此字段可能返回 null，表示取不到有效值。
        :type Tries: int
        :param _TotalRunNum: 累计运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRunNum: int
        :param _InstanceType: **实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceType: int
        :param _InstanceState: **实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceState: int
        :param _StartTime: 运行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CostTime: 耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CostTime: str
        :param _SchedulerTime: 计划调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerTime: str
        :param _LastUpdateTime: 实例最近更新时间, 时间格式为 yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdateTime: str
        :param _ExecutorGroupId: 执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _JobErrorMsg: 简要的任务失败信息
注意：此字段可能返回 null，表示取不到有效值。
        :type JobErrorMsg: str
        """
        self._InstanceKey = None
        self._ProjectId = None
        self._FolderId = None
        self._FolderName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._InChargeList = None
        self._TaskId = None
        self._TaskName = None
        self._TaskType = None
        self._TaskCycleType = None
        self._CurRunDate = None
        self._TryLimit = None
        self._Tries = None
        self._TotalRunNum = None
        self._InstanceType = None
        self._InstanceState = None
        self._StartTime = None
        self._EndTime = None
        self._CostTime = None
        self._SchedulerTime = None
        self._LastUpdateTime = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._JobErrorMsg = None

    @property
    def InstanceKey(self):
        r"""**实例唯一标识**
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def InChargeList(self):
        r"""负责人列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._InChargeList

    @InChargeList.setter
    def InChargeList(self, InChargeList):
        self._InChargeList = InChargeList

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TaskCycleType(self):
        r"""**任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskCycleType

    @TaskCycleType.setter
    def TaskCycleType(self, TaskCycleType):
        self._TaskCycleType = TaskCycleType

    @property
    def CurRunDate(self):
        r"""实例数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def TryLimit(self):
        r"""每次运行失败，下发重试次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def Tries(self):
        r"""**失败重试次数**
再次使用 手动重跑 或 补录实例等方式触发运行时，会被重置为 0 后重新计数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Tries

    @Tries.setter
    def Tries(self, Tries):
        self._Tries = Tries

    @property
    def TotalRunNum(self):
        r"""累计运行次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRunNum

    @TotalRunNum.setter
    def TotalRunNum(self, TotalRunNum):
        self._TotalRunNum = TotalRunNum

    @property
    def InstanceType(self):
        r"""**实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceType

    @InstanceType.setter
    def InstanceType(self, InstanceType):
        self._InstanceType = InstanceType

    @property
    def InstanceState(self):
        r"""**实例状态**

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceState

    @InstanceState.setter
    def InstanceState(self, InstanceState):
        self._InstanceState = InstanceState

    @property
    def StartTime(self):
        r"""运行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""运行完成时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CostTime(self):
        r"""耗费时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CostTime

    @CostTime.setter
    def CostTime(self, CostTime):
        self._CostTime = CostTime

    @property
    def SchedulerTime(self):
        r"""计划调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerTime

    @SchedulerTime.setter
    def SchedulerTime(self, SchedulerTime):
        self._SchedulerTime = SchedulerTime

    @property
    def LastUpdateTime(self):
        r"""实例最近更新时间, 时间格式为 yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdateTime

    @LastUpdateTime.setter
    def LastUpdateTime(self, LastUpdateTime):
        self._LastUpdateTime = LastUpdateTime

    @property
    def ExecutorGroupId(self):
        r"""执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def JobErrorMsg(self):
        r"""简要的任务失败信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobErrorMsg

    @JobErrorMsg.setter
    def JobErrorMsg(self, JobErrorMsg):
        self._JobErrorMsg = JobErrorMsg


    def _deserialize(self, params):
        self._InstanceKey = params.get("InstanceKey")
        self._ProjectId = params.get("ProjectId")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._InChargeList = params.get("InChargeList")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeOpsDto()
            self._TaskType._deserialize(params.get("TaskType"))
        self._TaskCycleType = params.get("TaskCycleType")
        self._CurRunDate = params.get("CurRunDate")
        self._TryLimit = params.get("TryLimit")
        self._Tries = params.get("Tries")
        self._TotalRunNum = params.get("TotalRunNum")
        self._InstanceType = params.get("InstanceType")
        self._InstanceState = params.get("InstanceState")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CostTime = params.get("CostTime")
        self._SchedulerTime = params.get("SchedulerTime")
        self._LastUpdateTime = params.get("LastUpdateTime")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._JobErrorMsg = params.get("JobErrorMsg")
        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 IntegrationInstanceLog(AbstractModel):
    r"""实例日志信息

    """

    def __init__(self):
        r"""
        :param _LogInfo: 任务日志信息
注意：此字段可能返回 null，表示取不到有效值。
        :type LogInfo: str
        """
        self._LogInfo = None

    @property
    def LogInfo(self):
        r"""任务日志信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogInfo

    @LogInfo.setter
    def LogInfo(self, LogInfo):
        self._LogInfo = LogInfo


    def _deserialize(self, params):
        self._LogInfo = params.get("LogInfo")
        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 IntegrationNodeDetail(AbstractModel):
    r"""集成节点详情

    """

    def __init__(self):
        r"""
        :param _Name: 集成节点名称
        :type Name: str
        :param _NodeType: 集成节点类型
        :type NodeType: str
        :param _DataSourceType: 节点数据源类型
        :type DataSourceType: str
        :param _Description: 节点描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _Config: 节点配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Config: list of RecordField
        :param _ExtConfig: 节点扩展配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtConfig: list of RecordField
        :param _Schema: 节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :type Schema: list of IntegrationNodeSchema
        :param _NodeMapping: 节点映射
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeMapping: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeMapping`
        :param _OwnerUin: owner uin
        :type OwnerUin: str
        """
        self._Name = None
        self._NodeType = None
        self._DataSourceType = None
        self._Description = None
        self._DatasourceId = None
        self._Config = None
        self._ExtConfig = None
        self._Schema = None
        self._NodeMapping = None
        self._OwnerUin = None

    @property
    def Name(self):
        r"""集成节点名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def NodeType(self):
        r"""集成节点类型
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def DataSourceType(self):
        r"""节点数据源类型
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def Description(self):
        r"""节点描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Config(self):
        r"""节点配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._Config

    @Config.setter
    def Config(self, Config):
        self._Config = Config

    @property
    def ExtConfig(self):
        r"""节点扩展配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def Schema(self):
        r"""节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeSchema
        """
        return self._Schema

    @Schema.setter
    def Schema(self, Schema):
        self._Schema = Schema

    @property
    def NodeMapping(self):
        r"""节点映射
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeMapping`
        """
        return self._NodeMapping

    @NodeMapping.setter
    def NodeMapping(self, NodeMapping):
        self._NodeMapping = NodeMapping

    @property
    def OwnerUin(self):
        r"""owner uin
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._NodeType = params.get("NodeType")
        self._DataSourceType = params.get("DataSourceType")
        self._Description = params.get("Description")
        self._DatasourceId = params.get("DatasourceId")
        if params.get("Config") is not None:
            self._Config = []
            for item in params.get("Config"):
                obj = RecordField()
                obj._deserialize(item)
                self._Config.append(obj)
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        if params.get("Schema") is not None:
            self._Schema = []
            for item in params.get("Schema"):
                obj = IntegrationNodeSchema()
                obj._deserialize(item)
                self._Schema.append(obj)
        if params.get("NodeMapping") is not None:
            self._NodeMapping = IntegrationNodeMapping()
            self._NodeMapping._deserialize(params.get("NodeMapping"))
        self._OwnerUin = params.get("OwnerUin")
        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 IntegrationNodeInfo(AbstractModel):
    r"""集成任务节点

    """

    def __init__(self):
        r"""
        :param _Id: 集成节点id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _TaskId: 集成节点所属任务id
        :type TaskId: str
        :param _Name: 集成节点名称
        :type Name: str
        :param _NodeType: 集成节点类型,INPUT: 输入节点，OUTPUT:输出节点 
        :type NodeType: str
        :param _DataSourceType: 节点数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE
        :type DataSourceType: str
        :param _Description: 节点描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _Config: 节点配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Config: list of RecordField
        :param _ExtConfig: 节点扩展配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtConfig: list of RecordField
        :param _Schema: 节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :type Schema: list of IntegrationNodeSchema
        :param _NodeMapping: 节点映射
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeMapping: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeMapping`
        :param _AppId: 归属用户AppId,展示字段 非传入
        :type AppId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _CreatorUin: 创建人uin,展示字段 非传入
注意：此字段可能返回 null，表示取不到有效值。
        :type CreatorUin: str
        :param _OperatorUin: 操作人uin，展示字段 非传入
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUin: str
        :param _OwnerUin: owner uin 展示字段 非传入
        :type OwnerUin: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        """
        self._Id = None
        self._TaskId = None
        self._Name = None
        self._NodeType = None
        self._DataSourceType = None
        self._Description = None
        self._DatasourceId = None
        self._Config = None
        self._ExtConfig = None
        self._Schema = None
        self._NodeMapping = None
        self._AppId = None
        self._ProjectId = None
        self._CreatorUin = None
        self._OperatorUin = None
        self._OwnerUin = None
        self._CreateTime = None
        self._UpdateTime = None

    @property
    def Id(self):
        r"""集成节点id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskId(self):
        r"""集成节点所属任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Name(self):
        r"""集成节点名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def NodeType(self):
        r"""集成节点类型,INPUT: 输入节点，OUTPUT:输出节点 
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def DataSourceType(self):
        r"""节点数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def Description(self):
        r"""节点描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Config(self):
        r"""节点配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._Config

    @Config.setter
    def Config(self, Config):
        self._Config = Config

    @property
    def ExtConfig(self):
        r"""节点扩展配置信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def Schema(self):
        r"""节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeSchema
        """
        return self._Schema

    @Schema.setter
    def Schema(self, Schema):
        self._Schema = Schema

    @property
    def NodeMapping(self):
        r"""节点映射
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeMapping`
        """
        return self._NodeMapping

    @NodeMapping.setter
    def NodeMapping(self, NodeMapping):
        self._NodeMapping = NodeMapping

    @property
    def AppId(self):
        r"""归属用户AppId,展示字段 非传入
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CreatorUin(self):
        r"""创建人uin,展示字段 非传入
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreatorUin

    @CreatorUin.setter
    def CreatorUin(self, CreatorUin):
        self._CreatorUin = CreatorUin

    @property
    def OperatorUin(self):
        r"""操作人uin，展示字段 非传入
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorUin

    @OperatorUin.setter
    def OperatorUin(self, OperatorUin):
        self._OperatorUin = OperatorUin

    @property
    def OwnerUin(self):
        r"""owner uin 展示字段 非传入
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskId = params.get("TaskId")
        self._Name = params.get("Name")
        self._NodeType = params.get("NodeType")
        self._DataSourceType = params.get("DataSourceType")
        self._Description = params.get("Description")
        self._DatasourceId = params.get("DatasourceId")
        if params.get("Config") is not None:
            self._Config = []
            for item in params.get("Config"):
                obj = RecordField()
                obj._deserialize(item)
                self._Config.append(obj)
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        if params.get("Schema") is not None:
            self._Schema = []
            for item in params.get("Schema"):
                obj = IntegrationNodeSchema()
                obj._deserialize(item)
                self._Schema.append(obj)
        if params.get("NodeMapping") is not None:
            self._NodeMapping = IntegrationNodeMapping()
            self._NodeMapping._deserialize(params.get("NodeMapping"))
        self._AppId = params.get("AppId")
        self._ProjectId = params.get("ProjectId")
        self._CreatorUin = params.get("CreatorUin")
        self._OperatorUin = params.get("OperatorUin")
        self._OwnerUin = params.get("OwnerUin")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        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 IntegrationNodeMapping(AbstractModel):
    r"""集成节点映射

    """

    def __init__(self):
        r"""
        :param _SourceId: 源节点id
        :type SourceId: str
        :param _SinkId: 目标节点id
        :type SinkId: str
        :param _SourceSchema: 源节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceSchema: list of IntegrationNodeSchema
        :param _SchemaMappings: 节点schema映射
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaMappings: list of IntegrationNodeSchemaMapping
        :param _ExtConfig: 节点映射扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtConfig: list of RecordField
        """
        self._SourceId = None
        self._SinkId = None
        self._SourceSchema = None
        self._SchemaMappings = None
        self._ExtConfig = None

    @property
    def SourceId(self):
        r"""源节点id
        :rtype: str
        """
        return self._SourceId

    @SourceId.setter
    def SourceId(self, SourceId):
        self._SourceId = SourceId

    @property
    def SinkId(self):
        r"""目标节点id
        :rtype: str
        """
        return self._SinkId

    @SinkId.setter
    def SinkId(self, SinkId):
        self._SinkId = SinkId

    @property
    def SourceSchema(self):
        r"""源节点schema
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeSchema
        """
        return self._SourceSchema

    @SourceSchema.setter
    def SourceSchema(self, SourceSchema):
        self._SourceSchema = SourceSchema

    @property
    def SchemaMappings(self):
        r"""节点schema映射
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeSchemaMapping
        """
        return self._SchemaMappings

    @SchemaMappings.setter
    def SchemaMappings(self, SchemaMappings):
        self._SchemaMappings = SchemaMappings

    @property
    def ExtConfig(self):
        r"""节点映射扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig


    def _deserialize(self, params):
        self._SourceId = params.get("SourceId")
        self._SinkId = params.get("SinkId")
        if params.get("SourceSchema") is not None:
            self._SourceSchema = []
            for item in params.get("SourceSchema"):
                obj = IntegrationNodeSchema()
                obj._deserialize(item)
                self._SourceSchema.append(obj)
        if params.get("SchemaMappings") is not None:
            self._SchemaMappings = []
            for item in params.get("SchemaMappings"):
                obj = IntegrationNodeSchemaMapping()
                obj._deserialize(item)
                self._SchemaMappings.append(obj)
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.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 IntegrationNodeSchema(AbstractModel):
    r"""集成节点schema

    """

    def __init__(self):
        r"""
        :param _Id: schema id 随机唯一
        :type Id: str
        :param _Name: schema名称
        :type Name: str
        :param _Type: schema类型
        :type Type: str
        :param _Value: schema值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Properties: schema拓展属性
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: list of RecordField
        :param _Alias: schema别名
注意：此字段可能返回 null，表示取不到有效值。
        :type Alias: str
        :param _Comment: 字段备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Comment: str
        :param _Category: category
注意：此字段可能返回 null，表示取不到有效值。
        :type Category: str
        """
        self._Id = None
        self._Name = None
        self._Type = None
        self._Value = None
        self._Properties = None
        self._Alias = None
        self._Comment = None
        self._Category = None

    @property
    def Id(self):
        r"""schema id 随机唯一
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Name(self):
        r"""schema名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Type(self):
        r"""schema类型
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Value(self):
        r"""schema值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Properties(self):
        r"""schema拓展属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def Alias(self):
        r"""schema别名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Alias

    @Alias.setter
    def Alias(self, Alias):
        self._Alias = Alias

    @property
    def Comment(self):
        r"""字段备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Comment

    @Comment.setter
    def Comment(self, Comment):
        self._Comment = Comment

    @property
    def Category(self):
        r"""category
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Name = params.get("Name")
        self._Type = params.get("Type")
        self._Value = params.get("Value")
        if params.get("Properties") is not None:
            self._Properties = []
            for item in params.get("Properties"):
                obj = RecordField()
                obj._deserialize(item)
                self._Properties.append(obj)
        self._Alias = params.get("Alias")
        self._Comment = params.get("Comment")
        self._Category = params.get("Category")
        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 IntegrationNodeSchemaMapping(AbstractModel):
    r"""集成节点schema映射

    """

    def __init__(self):
        r"""
        :param _SourceSchemaId: 任务节点的源schema id
        :type SourceSchemaId: str
        :param _SinkSchemaId: 任务节点目标schema id
        :type SinkSchemaId: str
        """
        self._SourceSchemaId = None
        self._SinkSchemaId = None

    @property
    def SourceSchemaId(self):
        r"""任务节点的源schema id
        :rtype: str
        """
        return self._SourceSchemaId

    @SourceSchemaId.setter
    def SourceSchemaId(self, SourceSchemaId):
        self._SourceSchemaId = SourceSchemaId

    @property
    def SinkSchemaId(self):
        r"""任务节点目标schema id
        :rtype: str
        """
        return self._SinkSchemaId

    @SinkSchemaId.setter
    def SinkSchemaId(self, SinkSchemaId):
        self._SinkSchemaId = SinkSchemaId


    def _deserialize(self, params):
        self._SourceSchemaId = params.get("SourceSchemaId")
        self._SinkSchemaId = params.get("SinkSchemaId")
        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 IntegrationStatisticsTrendResult(AbstractModel):
    r"""数据集成大屏趋势图统计结果

    """

    def __init__(self):
        r"""
        :param _StatisticName: 统计属性名称
注意：此字段可能返回 null，表示取不到有效值。
        :type StatisticName: list of str
        :param _StatisticValue: 统计值
注意：此字段可能返回 null，表示取不到有效值。
        :type StatisticValue: list of int
        :param _StatisticType: 统计项目
注意：此字段可能返回 null，表示取不到有效值。
        :type StatisticType: str
        """
        self._StatisticName = None
        self._StatisticValue = None
        self._StatisticType = None

    @property
    def StatisticName(self):
        r"""统计属性名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._StatisticName

    @StatisticName.setter
    def StatisticName(self, StatisticName):
        self._StatisticName = StatisticName

    @property
    def StatisticValue(self):
        r"""统计值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._StatisticValue

    @StatisticValue.setter
    def StatisticValue(self, StatisticValue):
        self._StatisticValue = StatisticValue

    @property
    def StatisticType(self):
        r"""统计项目
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StatisticType

    @StatisticType.setter
    def StatisticType(self, StatisticType):
        self._StatisticType = StatisticType


    def _deserialize(self, params):
        self._StatisticName = params.get("StatisticName")
        self._StatisticValue = params.get("StatisticValue")
        self._StatisticType = params.get("StatisticType")
        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 IntegrationTag(AbstractModel):
    r"""集成标签

    """

    def __init__(self):
        r"""
        :param _Key: key值
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: 标签值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""key值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""标签值
注意：此字段可能返回 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 IntegrationTaskInfo(AbstractModel):
    r"""集成任务

    """

    def __init__(self):
        r"""
        :param _TaskName: <p>任务名称</p>
        :type TaskName: str
        :param _Description: <p>任务描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _SyncType: <p>同步类型1.解决方案(整库迁移),2.单表同步</p>
        :type SyncType: int
        :param _TaskType: <p>201.实时,202.离线</p>
        :type TaskType: int
        :param _WorkflowId: <p>任务所属工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _TaskId: <p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _ScheduleTaskId: <p>任务调度id(oceanus or us等作业id)，非填项</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTaskId: str
        :param _TaskGroupId: <p>inlong任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskGroupId: str
        :param _ProjectId: <p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _CreatorUin: <p>创建人uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreatorUin: str
        :param _OperatorUin: <p>操作人uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUin: str
        :param _OwnerUin: <p>owner uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _AppId: <p>应用id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _Status: <p>0:新建(任务开发态默认状态)|1:未开始|2:操作中|3:运行中|4:暂停|5:任务停止中|6:停止|7:执行失败|20:异常|21:未知|</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _Nodes: <p>节点列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Nodes: list of IntegrationNodeInfo
        :param _ExecutorId: <p>执行资源id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorId: str
        :param _Config: <p>任务配置信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Config: list of RecordField
        :param _ExtConfig: <p>任务扩展配置信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtConfig: list of RecordField
        :param _ExecuteContext: <p>任务执行context信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecuteContext: list of RecordField
        :param _Mappings: <p>节点映射</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Mappings: list of IntegrationNodeMapping
        :param _TaskMode: <p>任务配置模式，0:画布 1:表单 3:脚本</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskMode: str
        :param _Incharge: <p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Incharge: str
        :param _OfflineTaskAddEntity: <p>离线新增参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OfflineTaskAddEntity: :class:`tencentcloud.wedata.v20210820.models.OfflineTaskAddParam`
        :param _ExecutorGroupName: <p>group name</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _InLongManagerUrl: <p>inlong manager url</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InLongManagerUrl: str
        :param _InLongStreamId: <p>stream id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InLongStreamId: str
        :param _InLongManagerVersion: <p>version</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InLongManagerVersion: str
        :param _DataProxyUrl: <p>inlong dataproxy url</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyUrl: list of str
        :param _Submit: <p>任务版本是否已提交运维</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Submit: bool
        :param _InputDatasourceType: <p>数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InputDatasourceType: str
        :param _OutputDatasourceType: <p>数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OutputDatasourceType: str
        :param _NumRecordsIn: <p>读取条数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NumRecordsIn: int
        :param _NumRecordsOut: <p>写入条数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NumRecordsOut: int
        :param _ReaderDelay: <p>读取延迟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ReaderDelay: float
        :param _NumRestarts: <p>重启次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NumRestarts: int
        :param _CreateTime: <p>任务创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: <p>任务更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _LastRunTime: <p>任务最后一次运行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastRunTime: str
        :param _StopTime: <p>任务停止时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StopTime: str
        :param _HasVersion: <p>作业是否已提交</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type HasVersion: bool
        :param _Locked: <p>任务是否被锁定</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Locked: bool
        :param _Locker: <p>任务锁定人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Locker: str
        :param _RunningCu: <p>耗费资源量</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RunningCu: float
        :param _TaskAlarmRegularList: <p>该任务关联的告警规则</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAlarmRegularList: list of str
        :param _SwitchResource: <p>实时任务资源分层情况： 0：进行中,1：成功 ,2：失败</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SwitchResource: int
        :param _ReadPhase: <p>实时任务读取阶段：0：全部全量,1：部分全量,2：全部增量</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ReadPhase: int
        :param _InstanceVersion: <p>实时任务版本号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceVersion: int
        :param _ArrangeSpaceTaskId: <p>离线任务导入到编排空间的任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ArrangeSpaceTaskId: str
        :param _OfflineTaskStatus: <p>离线任务状态区分1.未提交2.已提交3.已导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OfflineTaskStatus: int
        :param _TaskImportInfo: <p>导入到编排空间配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskImportInfo: :class:`tencentcloud.wedata.v20210820.models.TaskImportInfo`
        :param _BusinessLatency: <p>业务延迟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type BusinessLatency: int
        :param _CurrentSyncPosition: <p>当前同步位点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CurrentSyncPosition: int
        :param _TagList: <p>标签列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TagList: list of IntegrationTag
        :param _ErrorMessage: <p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _TaskSubType: <p>任务子状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskSubType: int
        :param _NotExistsCheckPoint: <p>是否存在SavePoint, 0-存在, 1-不存在, null 为未知</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NotExistsCheckPoint: int
        :param _SavePointId: <p>savepiontPath</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SavePointId: str
        :param _SavePointPath: <p>savepiontId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SavePointPath: str
        :param _LastOperateInfo: <p>最近一次操作信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastOperateInfo: :class:`tencentcloud.wedata.v20210820.models.LastOperateInfo`
        """
        self._TaskName = None
        self._Description = None
        self._SyncType = None
        self._TaskType = None
        self._WorkflowId = None
        self._TaskId = None
        self._ScheduleTaskId = None
        self._TaskGroupId = None
        self._ProjectId = None
        self._CreatorUin = None
        self._OperatorUin = None
        self._OwnerUin = None
        self._AppId = None
        self._Status = None
        self._Nodes = None
        self._ExecutorId = None
        self._Config = None
        self._ExtConfig = None
        self._ExecuteContext = None
        self._Mappings = None
        self._TaskMode = None
        self._Incharge = None
        self._OfflineTaskAddEntity = None
        self._ExecutorGroupName = None
        self._InLongManagerUrl = None
        self._InLongStreamId = None
        self._InLongManagerVersion = None
        self._DataProxyUrl = None
        self._Submit = None
        self._InputDatasourceType = None
        self._OutputDatasourceType = None
        self._NumRecordsIn = None
        self._NumRecordsOut = None
        self._ReaderDelay = None
        self._NumRestarts = None
        self._CreateTime = None
        self._UpdateTime = None
        self._LastRunTime = None
        self._StopTime = None
        self._HasVersion = None
        self._Locked = None
        self._Locker = None
        self._RunningCu = None
        self._TaskAlarmRegularList = None
        self._SwitchResource = None
        self._ReadPhase = None
        self._InstanceVersion = None
        self._ArrangeSpaceTaskId = None
        self._OfflineTaskStatus = None
        self._TaskImportInfo = None
        self._BusinessLatency = None
        self._CurrentSyncPosition = None
        self._TagList = None
        self._ErrorMessage = None
        self._TaskSubType = None
        self._NotExistsCheckPoint = None
        self._SavePointId = None
        self._SavePointPath = None
        self._LastOperateInfo = None

    @property
    def TaskName(self):
        r"""<p>任务名称</p>
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def Description(self):
        r"""<p>任务描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def SyncType(self):
        r"""<p>同步类型1.解决方案(整库迁移),2.单表同步</p>
        :rtype: int
        """
        return self._SyncType

    @SyncType.setter
    def SyncType(self, SyncType):
        self._SyncType = SyncType

    @property
    def TaskType(self):
        r"""<p>201.实时,202.离线</p>
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def WorkflowId(self):
        r"""<p>任务所属工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskId(self):
        r"""<p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ScheduleTaskId(self):
        r"""<p>任务调度id(oceanus or us等作业id)，非填项</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTaskId

    @ScheduleTaskId.setter
    def ScheduleTaskId(self, ScheduleTaskId):
        self._ScheduleTaskId = ScheduleTaskId

    @property
    def TaskGroupId(self):
        r"""<p>inlong任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskGroupId

    @TaskGroupId.setter
    def TaskGroupId(self, TaskGroupId):
        self._TaskGroupId = TaskGroupId

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CreatorUin(self):
        r"""<p>创建人uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreatorUin

    @CreatorUin.setter
    def CreatorUin(self, CreatorUin):
        self._CreatorUin = CreatorUin

    @property
    def OperatorUin(self):
        r"""<p>操作人uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorUin

    @OperatorUin.setter
    def OperatorUin(self, OperatorUin):
        self._OperatorUin = OperatorUin

    @property
    def OwnerUin(self):
        r"""<p>owner uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def AppId(self):
        r"""<p>应用id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def Status(self):
        r"""<p>0:新建(任务开发态默认状态)|1:未开始|2:操作中|3:运行中|4:暂停|5:任务停止中|6:停止|7:执行失败|20:异常|21:未知|</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def Nodes(self):
        r"""<p>节点列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeInfo
        """
        return self._Nodes

    @Nodes.setter
    def Nodes(self, Nodes):
        self._Nodes = Nodes

    @property
    def ExecutorId(self):
        r"""<p>执行资源id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorId

    @ExecutorId.setter
    def ExecutorId(self, ExecutorId):
        self._ExecutorId = ExecutorId

    @property
    def Config(self):
        r"""<p>任务配置信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._Config

    @Config.setter
    def Config(self, Config):
        self._Config = Config

    @property
    def ExtConfig(self):
        r"""<p>任务扩展配置信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def ExecuteContext(self):
        r"""<p>任务执行context信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExecuteContext

    @ExecuteContext.setter
    def ExecuteContext(self, ExecuteContext):
        self._ExecuteContext = ExecuteContext

    @property
    def Mappings(self):
        r"""<p>节点映射</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationNodeMapping
        """
        return self._Mappings

    @Mappings.setter
    def Mappings(self, Mappings):
        self._Mappings = Mappings

    @property
    def TaskMode(self):
        r"""<p>任务配置模式，0:画布 1:表单 3:脚本</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskMode

    @TaskMode.setter
    def TaskMode(self, TaskMode):
        self._TaskMode = TaskMode

    @property
    def Incharge(self):
        r"""<p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Incharge

    @Incharge.setter
    def Incharge(self, Incharge):
        self._Incharge = Incharge

    @property
    def OfflineTaskAddEntity(self):
        r"""<p>离线新增参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OfflineTaskAddParam`
        """
        return self._OfflineTaskAddEntity

    @OfflineTaskAddEntity.setter
    def OfflineTaskAddEntity(self, OfflineTaskAddEntity):
        self._OfflineTaskAddEntity = OfflineTaskAddEntity

    @property
    def ExecutorGroupName(self):
        r"""<p>group name</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def InLongManagerUrl(self):
        r"""<p>inlong manager url</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InLongManagerUrl

    @InLongManagerUrl.setter
    def InLongManagerUrl(self, InLongManagerUrl):
        self._InLongManagerUrl = InLongManagerUrl

    @property
    def InLongStreamId(self):
        r"""<p>stream id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InLongStreamId

    @InLongStreamId.setter
    def InLongStreamId(self, InLongStreamId):
        self._InLongStreamId = InLongStreamId

    @property
    def InLongManagerVersion(self):
        r"""<p>version</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InLongManagerVersion

    @InLongManagerVersion.setter
    def InLongManagerVersion(self, InLongManagerVersion):
        self._InLongManagerVersion = InLongManagerVersion

    @property
    def DataProxyUrl(self):
        r"""<p>inlong dataproxy url</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._DataProxyUrl

    @DataProxyUrl.setter
    def DataProxyUrl(self, DataProxyUrl):
        self._DataProxyUrl = DataProxyUrl

    @property
    def Submit(self):
        r"""<p>任务版本是否已提交运维</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Submit

    @Submit.setter
    def Submit(self, Submit):
        self._Submit = Submit

    @property
    def InputDatasourceType(self):
        r"""<p>数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InputDatasourceType

    @InputDatasourceType.setter
    def InputDatasourceType(self, InputDatasourceType):
        self._InputDatasourceType = InputDatasourceType

    @property
    def OutputDatasourceType(self):
        r"""<p>数据源类型：MYSQL|POSTGRE|ORACLE|SQLSERVER|FTP|HIVE|HDFS|ICEBERG|KAFKA|HBASE|SPARK|VIRTUAL|TBASE|DB2|DM|GAUSSDB|GBASE|IMPALA|ES|S3_DATAINSIGHT|GREENPLUM|PHOENIX|SAP_HANA|SFTP|OCEANBASE|CLICKHOUSE|KUDU|VERTICA|REDIS|COS|DLC|DLCV1|DORIS|CKAFKA|DTS_KAFKA|S3|CDW|LOCAL|TDSQLC|TDSQL|TDSQL_MYSQL|MONGODB|INFORMIX|SYBASE|REST_API|SuperSQL|PRESTO|DR_SUM|TiDB|StarRocks|Trino|Kyuubi|GDB|TCHOUSE_X|TCHOUSE_P|TDSQL_POSTGRE</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OutputDatasourceType

    @OutputDatasourceType.setter
    def OutputDatasourceType(self, OutputDatasourceType):
        self._OutputDatasourceType = OutputDatasourceType

    @property
    def NumRecordsIn(self):
        r"""<p>读取条数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NumRecordsIn

    @NumRecordsIn.setter
    def NumRecordsIn(self, NumRecordsIn):
        self._NumRecordsIn = NumRecordsIn

    @property
    def NumRecordsOut(self):
        r"""<p>写入条数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NumRecordsOut

    @NumRecordsOut.setter
    def NumRecordsOut(self, NumRecordsOut):
        self._NumRecordsOut = NumRecordsOut

    @property
    def ReaderDelay(self):
        r"""<p>读取延迟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._ReaderDelay

    @ReaderDelay.setter
    def ReaderDelay(self, ReaderDelay):
        self._ReaderDelay = ReaderDelay

    @property
    def NumRestarts(self):
        r"""<p>重启次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NumRestarts

    @NumRestarts.setter
    def NumRestarts(self, NumRestarts):
        self._NumRestarts = NumRestarts

    @property
    def CreateTime(self):
        r"""<p>任务创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""<p>任务更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def LastRunTime(self):
        r"""<p>任务最后一次运行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastRunTime

    @LastRunTime.setter
    def LastRunTime(self, LastRunTime):
        self._LastRunTime = LastRunTime

    @property
    def StopTime(self):
        r"""<p>任务停止时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StopTime

    @StopTime.setter
    def StopTime(self, StopTime):
        self._StopTime = StopTime

    @property
    def HasVersion(self):
        r"""<p>作业是否已提交</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasVersion

    @HasVersion.setter
    def HasVersion(self, HasVersion):
        self._HasVersion = HasVersion

    @property
    def Locked(self):
        r"""<p>任务是否被锁定</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Locked

    @Locked.setter
    def Locked(self, Locked):
        self._Locked = Locked

    @property
    def Locker(self):
        r"""<p>任务锁定人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Locker

    @Locker.setter
    def Locker(self, Locker):
        self._Locker = Locker

    @property
    def RunningCu(self):
        r"""<p>耗费资源量</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._RunningCu

    @RunningCu.setter
    def RunningCu(self, RunningCu):
        self._RunningCu = RunningCu

    @property
    def TaskAlarmRegularList(self):
        r"""<p>该任务关联的告警规则</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskAlarmRegularList

    @TaskAlarmRegularList.setter
    def TaskAlarmRegularList(self, TaskAlarmRegularList):
        self._TaskAlarmRegularList = TaskAlarmRegularList

    @property
    def SwitchResource(self):
        r"""<p>实时任务资源分层情况： 0：进行中,1：成功 ,2：失败</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SwitchResource

    @SwitchResource.setter
    def SwitchResource(self, SwitchResource):
        self._SwitchResource = SwitchResource

    @property
    def ReadPhase(self):
        r"""<p>实时任务读取阶段：0：全部全量,1：部分全量,2：全部增量</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ReadPhase

    @ReadPhase.setter
    def ReadPhase(self, ReadPhase):
        self._ReadPhase = ReadPhase

    @property
    def InstanceVersion(self):
        r"""<p>实时任务版本号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceVersion

    @InstanceVersion.setter
    def InstanceVersion(self, InstanceVersion):
        self._InstanceVersion = InstanceVersion

    @property
    def ArrangeSpaceTaskId(self):
        r"""<p>离线任务导入到编排空间的任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ArrangeSpaceTaskId

    @ArrangeSpaceTaskId.setter
    def ArrangeSpaceTaskId(self, ArrangeSpaceTaskId):
        self._ArrangeSpaceTaskId = ArrangeSpaceTaskId

    @property
    def OfflineTaskStatus(self):
        r"""<p>离线任务状态区分1.未提交2.已提交3.已导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OfflineTaskStatus

    @OfflineTaskStatus.setter
    def OfflineTaskStatus(self, OfflineTaskStatus):
        self._OfflineTaskStatus = OfflineTaskStatus

    @property
    def TaskImportInfo(self):
        r"""<p>导入到编排空间配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskImportInfo`
        """
        return self._TaskImportInfo

    @TaskImportInfo.setter
    def TaskImportInfo(self, TaskImportInfo):
        self._TaskImportInfo = TaskImportInfo

    @property
    def BusinessLatency(self):
        r"""<p>业务延迟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._BusinessLatency

    @BusinessLatency.setter
    def BusinessLatency(self, BusinessLatency):
        self._BusinessLatency = BusinessLatency

    @property
    def CurrentSyncPosition(self):
        r"""<p>当前同步位点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CurrentSyncPosition

    @CurrentSyncPosition.setter
    def CurrentSyncPosition(self, CurrentSyncPosition):
        self._CurrentSyncPosition = CurrentSyncPosition

    @property
    def TagList(self):
        r"""<p>标签列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of IntegrationTag
        """
        return self._TagList

    @TagList.setter
    def TagList(self, TagList):
        self._TagList = TagList

    @property
    def ErrorMessage(self):
        r"""<p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def TaskSubType(self):
        r"""<p>任务子状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskSubType

    @TaskSubType.setter
    def TaskSubType(self, TaskSubType):
        self._TaskSubType = TaskSubType

    @property
    def NotExistsCheckPoint(self):
        r"""<p>是否存在SavePoint, 0-存在, 1-不存在, null 为未知</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NotExistsCheckPoint

    @NotExistsCheckPoint.setter
    def NotExistsCheckPoint(self, NotExistsCheckPoint):
        self._NotExistsCheckPoint = NotExistsCheckPoint

    @property
    def SavePointId(self):
        r"""<p>savepiontPath</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SavePointId

    @SavePointId.setter
    def SavePointId(self, SavePointId):
        self._SavePointId = SavePointId

    @property
    def SavePointPath(self):
        r"""<p>savepiontId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SavePointPath

    @SavePointPath.setter
    def SavePointPath(self, SavePointPath):
        self._SavePointPath = SavePointPath

    @property
    def LastOperateInfo(self):
        r"""<p>最近一次操作信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LastOperateInfo`
        """
        return self._LastOperateInfo

    @LastOperateInfo.setter
    def LastOperateInfo(self, LastOperateInfo):
        self._LastOperateInfo = LastOperateInfo


    def _deserialize(self, params):
        self._TaskName = params.get("TaskName")
        self._Description = params.get("Description")
        self._SyncType = params.get("SyncType")
        self._TaskType = params.get("TaskType")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskId = params.get("TaskId")
        self._ScheduleTaskId = params.get("ScheduleTaskId")
        self._TaskGroupId = params.get("TaskGroupId")
        self._ProjectId = params.get("ProjectId")
        self._CreatorUin = params.get("CreatorUin")
        self._OperatorUin = params.get("OperatorUin")
        self._OwnerUin = params.get("OwnerUin")
        self._AppId = params.get("AppId")
        self._Status = params.get("Status")
        if params.get("Nodes") is not None:
            self._Nodes = []
            for item in params.get("Nodes"):
                obj = IntegrationNodeInfo()
                obj._deserialize(item)
                self._Nodes.append(obj)
        self._ExecutorId = params.get("ExecutorId")
        if params.get("Config") is not None:
            self._Config = []
            for item in params.get("Config"):
                obj = RecordField()
                obj._deserialize(item)
                self._Config.append(obj)
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        if params.get("ExecuteContext") is not None:
            self._ExecuteContext = []
            for item in params.get("ExecuteContext"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExecuteContext.append(obj)
        if params.get("Mappings") is not None:
            self._Mappings = []
            for item in params.get("Mappings"):
                obj = IntegrationNodeMapping()
                obj._deserialize(item)
                self._Mappings.append(obj)
        self._TaskMode = params.get("TaskMode")
        self._Incharge = params.get("Incharge")
        if params.get("OfflineTaskAddEntity") is not None:
            self._OfflineTaskAddEntity = OfflineTaskAddParam()
            self._OfflineTaskAddEntity._deserialize(params.get("OfflineTaskAddEntity"))
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._InLongManagerUrl = params.get("InLongManagerUrl")
        self._InLongStreamId = params.get("InLongStreamId")
        self._InLongManagerVersion = params.get("InLongManagerVersion")
        self._DataProxyUrl = params.get("DataProxyUrl")
        self._Submit = params.get("Submit")
        self._InputDatasourceType = params.get("InputDatasourceType")
        self._OutputDatasourceType = params.get("OutputDatasourceType")
        self._NumRecordsIn = params.get("NumRecordsIn")
        self._NumRecordsOut = params.get("NumRecordsOut")
        self._ReaderDelay = params.get("ReaderDelay")
        self._NumRestarts = params.get("NumRestarts")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._LastRunTime = params.get("LastRunTime")
        self._StopTime = params.get("StopTime")
        self._HasVersion = params.get("HasVersion")
        self._Locked = params.get("Locked")
        self._Locker = params.get("Locker")
        self._RunningCu = params.get("RunningCu")
        self._TaskAlarmRegularList = params.get("TaskAlarmRegularList")
        self._SwitchResource = params.get("SwitchResource")
        self._ReadPhase = params.get("ReadPhase")
        self._InstanceVersion = params.get("InstanceVersion")
        self._ArrangeSpaceTaskId = params.get("ArrangeSpaceTaskId")
        self._OfflineTaskStatus = params.get("OfflineTaskStatus")
        if params.get("TaskImportInfo") is not None:
            self._TaskImportInfo = TaskImportInfo()
            self._TaskImportInfo._deserialize(params.get("TaskImportInfo"))
        self._BusinessLatency = params.get("BusinessLatency")
        self._CurrentSyncPosition = params.get("CurrentSyncPosition")
        if params.get("TagList") is not None:
            self._TagList = []
            for item in params.get("TagList"):
                obj = IntegrationTag()
                obj._deserialize(item)
                self._TagList.append(obj)
        self._ErrorMessage = params.get("ErrorMessage")
        self._TaskSubType = params.get("TaskSubType")
        self._NotExistsCheckPoint = params.get("NotExistsCheckPoint")
        self._SavePointId = params.get("SavePointId")
        self._SavePointPath = params.get("SavePointPath")
        if params.get("LastOperateInfo") is not None:
            self._LastOperateInfo = LastOperateInfo()
            self._LastOperateInfo._deserialize(params.get("LastOperateInfo"))
        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 JobLogErrorTip(AbstractModel):
    r"""调度任务日志错误提示信息

    """

    def __init__(self):
        r"""
        :param _Content: 执行日志错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Content: str
        :param _LineNum: 对应sql的行下标
注意：此字段可能返回 null，表示取不到有效值。
        :type LineNum: int
        :param _ColumnNum: 对应sql的列下标
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnNum: int
        """
        self._Content = None
        self._LineNum = None
        self._ColumnNum = None

    @property
    def Content(self):
        r"""执行日志错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def LineNum(self):
        r"""对应sql的行下标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LineNum

    @LineNum.setter
    def LineNum(self, LineNum):
        self._LineNum = LineNum

    @property
    def ColumnNum(self):
        r"""对应sql的列下标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ColumnNum

    @ColumnNum.setter
    def ColumnNum(self, ColumnNum):
        self._ColumnNum = ColumnNum


    def _deserialize(self, params):
        self._Content = params.get("Content")
        self._LineNum = params.get("LineNum")
        self._ColumnNum = params.get("ColumnNum")
        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 JudgeResourceFileRequest(AbstractModel):
    r"""JudgeResourceFile请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _FilePath: 资源路径
        :type FilePath: str
        """
        self._ProjectId = None
        self._FilePath = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FilePath(self):
        r"""资源路径
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FilePath = params.get("FilePath")
        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 JudgeResourceFileResponse(AbstractModel):
    r"""JudgeResourceFile返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 资源文件完整路径
        :type Data: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""资源文件完整路径
        :rtype: str
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class KVPair(AbstractModel):
    r"""键值对

    """

    def __init__(self):
        r"""
        :param _K: 键名
注意：此字段可能返回 null，表示取不到有效值。
        :type K: str
        :param _V: 值，请勿传SQL(请求会被视为攻击接口)，如果有需要，请将SQL进行Base64转码并解码。
注意：此字段可能返回 null，表示取不到有效值。
        :type V: str
        """
        self._K = None
        self._V = None

    @property
    def K(self):
        r"""键名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._K

    @K.setter
    def K(self, K):
        self._K = K

    @property
    def V(self):
        r"""值，请勿传SQL(请求会被视为攻击接口)，如果有需要，请将SQL进行Base64转码并解码。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._V

    @V.setter
    def V(self, V):
        self._V = V


    def _deserialize(self, params):
        self._K = params.get("K")
        self._V = params.get("V")
        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 KillOpsMakePlanInstancesRequest(AbstractModel):
    r"""KillOpsMakePlanInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _PlanId: 补录计划ID
        :type PlanId: str
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        :param _PlanName: 补录计划名
        :type PlanName: str
        """
        self._ProjectId = None
        self._PlanId = None
        self._AsyncMode = None
        self._PlanName = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def PlanId(self):
        r"""补录计划ID
        :rtype: str
        """
        return self._PlanId

    @PlanId.setter
    def PlanId(self, PlanId):
        self._PlanId = PlanId

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode

    @property
    def PlanName(self):
        r"""补录计划名
        :rtype: str
        """
        return self._PlanName

    @PlanName.setter
    def PlanName(self, PlanName):
        self._PlanName = PlanName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._PlanId = params.get("PlanId")
        self._AsyncMode = params.get("AsyncMode")
        self._PlanName = params.get("PlanName")
        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 KillOpsMakePlanInstancesResponse(AbstractModel):
    r"""KillOpsMakePlanInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 批量操作结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""批量操作结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperateResultOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class KillScheduleInstancesRequest(AbstractModel):
    r"""KillScheduleInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例列表
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :type CheckFather: bool
        :param _RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :type RerunType: str
        :param _DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :type DependentWay: str
        :param _SkipEventListening: 重跑忽略事件监听与否 
        :type SkipEventListening: bool
        :param _SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _SearchCondition: 查询条件
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        """
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._SearchCondition = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None
        self._AsyncMode = None

    @property
    def Instances(self):
        r"""实例列表
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""重跑忽略事件监听与否 
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def SearchCondition(self):
        r"""查询条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        self._AsyncMode = params.get("AsyncMode")
        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 KillScheduleInstancesResponse(AbstractModel):
    r"""KillScheduleInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperateResultOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class LabelTag(AbstractModel):
    r"""资产标签

    """

    def __init__(self):
        r"""
        :param _TagId: 标签id
注意：此字段可能返回 null，表示取不到有效值。
        :type TagId: int
        :param _TagName: 标签名
注意：此字段可能返回 null，表示取不到有效值。
        :type TagName: str
        :param _TagDesc: 标签描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TagDesc: str
        :param _TagValueId: 标签值Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValueId: int
        :param _TagValue: 标签值
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValue: str
        :param _TagIsDeleted: 标签是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :type TagIsDeleted: bool
        :param _TagValueIsDeleted: 标签值是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValueIsDeleted: bool
        """
        self._TagId = None
        self._TagName = None
        self._TagDesc = None
        self._TagValueId = None
        self._TagValue = None
        self._TagIsDeleted = None
        self._TagValueIsDeleted = None

    @property
    def TagId(self):
        r"""标签id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TagId

    @TagId.setter
    def TagId(self, TagId):
        self._TagId = TagId

    @property
    def TagName(self):
        r"""标签名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TagName

    @TagName.setter
    def TagName(self, TagName):
        self._TagName = TagName

    @property
    def TagDesc(self):
        r"""标签描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TagDesc

    @TagDesc.setter
    def TagDesc(self, TagDesc):
        self._TagDesc = TagDesc

    @property
    def TagValueId(self):
        r"""标签值Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TagValueId

    @TagValueId.setter
    def TagValueId(self, TagValueId):
        self._TagValueId = TagValueId

    @property
    def TagValue(self):
        r"""标签值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TagValue

    @TagValue.setter
    def TagValue(self, TagValue):
        self._TagValue = TagValue

    @property
    def TagIsDeleted(self):
        r"""标签是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TagIsDeleted

    @TagIsDeleted.setter
    def TagIsDeleted(self, TagIsDeleted):
        self._TagIsDeleted = TagIsDeleted

    @property
    def TagValueIsDeleted(self):
        r"""标签值是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TagValueIsDeleted

    @TagValueIsDeleted.setter
    def TagValueIsDeleted(self, TagValueIsDeleted):
        self._TagValueIsDeleted = TagValueIsDeleted


    def _deserialize(self, params):
        self._TagId = params.get("TagId")
        self._TagName = params.get("TagName")
        self._TagDesc = params.get("TagDesc")
        self._TagValueId = params.get("TagValueId")
        self._TagValue = params.get("TagValue")
        self._TagIsDeleted = params.get("TagIsDeleted")
        self._TagValueIsDeleted = params.get("TagValueIsDeleted")
        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 LabelValueSelection(AbstractModel):
    r"""标签值选择列表

    """

    def __init__(self):
        r"""
        :param _LabelId: 标签ID
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelId: int
        :param _LabelValue: 标签值ID
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelValue: str
        """
        self._LabelId = None
        self._LabelValue = None

    @property
    def LabelId(self):
        r"""标签ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LabelId

    @LabelId.setter
    def LabelId(self, LabelId):
        self._LabelId = LabelId

    @property
    def LabelValue(self):
        r"""标签值ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LabelValue

    @LabelValue.setter
    def LabelValue(self, LabelValue):
        self._LabelValue = LabelValue


    def _deserialize(self, params):
        self._LabelId = params.get("LabelId")
        self._LabelValue = params.get("LabelValue")
        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 LastOperateInfo(AbstractModel):
    r"""最近一次的操作信息

    """

    def __init__(self):
        r"""
        :param _TaskEvent: <p>任务事件</p>
        :type TaskEvent: str
        :param _OperateId: <p>操作ID</p>
        :type OperateId: str
        :param _ErrorMsg: <p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMsg: str
        :param _CreatedTime: <p>创建时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreatedTime: str
        :param _UpdatedTime: <p>更新时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdatedTime: str
        """
        self._TaskEvent = None
        self._OperateId = None
        self._ErrorMsg = None
        self._CreatedTime = None
        self._UpdatedTime = None

    @property
    def TaskEvent(self):
        r"""<p>任务事件</p>
        :rtype: str
        """
        return self._TaskEvent

    @TaskEvent.setter
    def TaskEvent(self, TaskEvent):
        self._TaskEvent = TaskEvent

    @property
    def OperateId(self):
        r"""<p>操作ID</p>
        :rtype: str
        """
        return self._OperateId

    @OperateId.setter
    def OperateId(self, OperateId):
        self._OperateId = OperateId

    @property
    def ErrorMsg(self):
        r"""<p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMsg

    @ErrorMsg.setter
    def ErrorMsg(self, ErrorMsg):
        self._ErrorMsg = ErrorMsg

    @property
    def CreatedTime(self):
        r"""<p>创建时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreatedTime

    @CreatedTime.setter
    def CreatedTime(self, CreatedTime):
        self._CreatedTime = CreatedTime

    @property
    def UpdatedTime(self):
        r"""<p>更新时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdatedTime

    @UpdatedTime.setter
    def UpdatedTime(self, UpdatedTime):
        self._UpdatedTime = UpdatedTime


    def _deserialize(self, params):
        self._TaskEvent = params.get("TaskEvent")
        self._OperateId = params.get("OperateId")
        self._ErrorMsg = params.get("ErrorMsg")
        self._CreatedTime = params.get("CreatedTime")
        self._UpdatedTime = params.get("UpdatedTime")
        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 LifecycleInfo(AbstractModel):
    r"""表生命周期相关信息

    """

    def __init__(self):
        r"""
        :param _Lifecycle: 生命周期值，如果PartitionLifeCycle=custom时，表示自定义生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type Lifecycle: int
        :param _Columns: 列名
注意：此字段可能返回 null，表示取不到有效值。
        :type Columns: list of str
        :param _DateFormat: 日期格式
注意：此字段可能返回 null，表示取不到有效值。
        :type DateFormat: list of str
        """
        self._Lifecycle = None
        self._Columns = None
        self._DateFormat = None

    @property
    def Lifecycle(self):
        r"""生命周期值，如果PartitionLifeCycle=custom时，表示自定义生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Lifecycle

    @Lifecycle.setter
    def Lifecycle(self, Lifecycle):
        self._Lifecycle = Lifecycle

    @property
    def Columns(self):
        r"""列名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Columns

    @Columns.setter
    def Columns(self, Columns):
        self._Columns = Columns

    @property
    def DateFormat(self):
        r"""日期格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._DateFormat

    @DateFormat.setter
    def DateFormat(self, DateFormat):
        self._DateFormat = DateFormat


    def _deserialize(self, params):
        self._Lifecycle = params.get("Lifecycle")
        self._Columns = params.get("Columns")
        self._DateFormat = params.get("DateFormat")
        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 LineageCommonInfoVO(AbstractModel):
    r"""LineageCommonInfoVO

    """

    def __init__(self):
        r"""
        :param _CurrentResource: 当前节点
注意：此字段可能返回 null，表示取不到有效值。
        :type CurrentResource: :class:`tencentcloud.wedata.v20210820.models.LineageResouce`
        :param _ParentSet: 上游节点
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: list of LineageNodeInfoVO
        :param _ChildSet: 下游节点
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: list of LineageNodeInfoVO
        :param _DownStreamCount: 下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _StreamCountFlag: 父/子节点是否展示上下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type StreamCountFlag: bool
        """
        self._CurrentResource = None
        self._ParentSet = None
        self._ChildSet = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._StreamCountFlag = None

    @property
    def CurrentResource(self):
        r"""当前节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageResouce`
        """
        return self._CurrentResource

    @CurrentResource.setter
    def CurrentResource(self, CurrentResource):
        self._CurrentResource = CurrentResource

    @property
    def ParentSet(self):
        r"""上游节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageNodeInfoVO
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""下游节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageNodeInfoVO
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def DownStreamCount(self):
        r"""下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def StreamCountFlag(self):
        r"""父/子节点是否展示上下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._StreamCountFlag

    @StreamCountFlag.setter
    def StreamCountFlag(self, StreamCountFlag):
        self._StreamCountFlag = StreamCountFlag


    def _deserialize(self, params):
        if params.get("CurrentResource") is not None:
            self._CurrentResource = LineageResouce()
            self._CurrentResource._deserialize(params.get("CurrentResource"))
        if params.get("ParentSet") is not None:
            self._ParentSet = []
            for item in params.get("ParentSet"):
                obj = LineageNodeInfoVO()
                obj._deserialize(item)
                self._ParentSet.append(obj)
        if params.get("ChildSet") is not None:
            self._ChildSet = []
            for item in params.get("ChildSet"):
                obj = LineageNodeInfoVO()
                obj._deserialize(item)
                self._ChildSet.append(obj)
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        self._StreamCountFlag = params.get("StreamCountFlag")
        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 LineageNodeInfoVO(AbstractModel):
    r"""LineageNodeInfoVo

    """

    def __init__(self):
        r"""
        :param _CurrentResource: 当前资源
注意：此字段可能返回 null，表示取不到有效值。
        :type CurrentResource: :class:`tencentcloud.wedata.v20210820.models.LineageResouce`
        :param _Relation: 关系
注意：此字段可能返回 null，表示取不到有效值。
        :type Relation: :class:`tencentcloud.wedata.v20210820.models.LineageRelationVO`
        :param _DownStreamCount: 上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _ParentSet: 上游节点
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: list of LineageNodeInfoVO
        :param _ChildSet: 下游节点
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: list of LineageNodeInfoVO
        :param _StreamCountFlag: 父/子节点是否展示上下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type StreamCountFlag: bool
        """
        self._CurrentResource = None
        self._Relation = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._ParentSet = None
        self._ChildSet = None
        self._StreamCountFlag = None

    @property
    def CurrentResource(self):
        r"""当前资源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageResouce`
        """
        return self._CurrentResource

    @CurrentResource.setter
    def CurrentResource(self, CurrentResource):
        self._CurrentResource = CurrentResource

    @property
    def Relation(self):
        r"""关系
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageRelationVO`
        """
        return self._Relation

    @Relation.setter
    def Relation(self, Relation):
        self._Relation = Relation

    @property
    def DownStreamCount(self):
        r"""上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def ParentSet(self):
        r"""上游节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageNodeInfoVO
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""下游节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageNodeInfoVO
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def StreamCountFlag(self):
        r"""父/子节点是否展示上下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._StreamCountFlag

    @StreamCountFlag.setter
    def StreamCountFlag(self, StreamCountFlag):
        self._StreamCountFlag = StreamCountFlag


    def _deserialize(self, params):
        if params.get("CurrentResource") is not None:
            self._CurrentResource = LineageResouce()
            self._CurrentResource._deserialize(params.get("CurrentResource"))
        if params.get("Relation") is not None:
            self._Relation = LineageRelationVO()
            self._Relation._deserialize(params.get("Relation"))
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        if params.get("ParentSet") is not None:
            self._ParentSet = []
            for item in params.get("ParentSet"):
                obj = LineageNodeInfoVO()
                obj._deserialize(item)
                self._ParentSet.append(obj)
        if params.get("ChildSet") is not None:
            self._ChildSet = []
            for item in params.get("ChildSet"):
                obj = LineageNodeInfoVO()
                obj._deserialize(item)
                self._ChildSet.append(obj)
        self._StreamCountFlag = params.get("StreamCountFlag")
        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 LineageParamRecord(AbstractModel):
    r"""血缘参数记录

    """

    def __init__(self):
        r"""
        :param _Name: 字段名
        :type Name: str
        :param _Value: 字段值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._Name = None
        self._Value = None

    @property
    def Name(self):
        r"""字段名
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Value(self):
        r"""字段值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._Name = params.get("Name")
        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 LineageProcessVO(AbstractModel):
    r"""LineageProcessVO

    """

    def __init__(self):
        r"""
        :param _ProcessId: 原始唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessId: str
        :param _ProcessType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessType: str
        :param _ProcessSubType: 任务子类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessSubType: str
        :param _ProcessName: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessName: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _QualifiedId: 唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedId: str
        :param _Platform: 来源
注意：此字段可能返回 null，表示取不到有效值。
        :type Platform: str
        :param _ProcessProperties: 额外扩展参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ProcessProperties: list of LineageProperty
        """
        self._ProcessId = None
        self._ProcessType = None
        self._ProcessSubType = None
        self._ProcessName = None
        self._Description = None
        self._QualifiedId = None
        self._Platform = None
        self._ProcessProperties = None

    @property
    def ProcessId(self):
        r"""原始唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProcessId

    @ProcessId.setter
    def ProcessId(self, ProcessId):
        self._ProcessId = ProcessId

    @property
    def ProcessType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProcessType

    @ProcessType.setter
    def ProcessType(self, ProcessType):
        self._ProcessType = ProcessType

    @property
    def ProcessSubType(self):
        r"""任务子类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProcessSubType

    @ProcessSubType.setter
    def ProcessSubType(self, ProcessSubType):
        self._ProcessSubType = ProcessSubType

    @property
    def ProcessName(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProcessName

    @ProcessName.setter
    def ProcessName(self, ProcessName):
        self._ProcessName = ProcessName

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def QualifiedId(self):
        r"""唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedId

    @QualifiedId.setter
    def QualifiedId(self, QualifiedId):
        self._QualifiedId = QualifiedId

    @property
    def Platform(self):
        r"""来源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Platform

    @Platform.setter
    def Platform(self, Platform):
        self._Platform = Platform

    @property
    def ProcessProperties(self):
        r"""额外扩展参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageProperty
        """
        return self._ProcessProperties

    @ProcessProperties.setter
    def ProcessProperties(self, ProcessProperties):
        self._ProcessProperties = ProcessProperties


    def _deserialize(self, params):
        self._ProcessId = params.get("ProcessId")
        self._ProcessType = params.get("ProcessType")
        self._ProcessSubType = params.get("ProcessSubType")
        self._ProcessName = params.get("ProcessName")
        self._Description = params.get("Description")
        self._QualifiedId = params.get("QualifiedId")
        self._Platform = params.get("Platform")
        if params.get("ProcessProperties") is not None:
            self._ProcessProperties = []
            for item in params.get("ProcessProperties"):
                obj = LineageProperty()
                obj._deserialize(item)
                self._ProcessProperties.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 LineageProperty(AbstractModel):
    r"""LineageProperty额外扩展参数

    """

    def __init__(self):
        r"""
        :param _Name: 属性名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Value: 属性值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._Name = None
        self._Value = None

    @property
    def Name(self):
        r"""属性名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Value(self):
        r"""属性值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._Name = params.get("Name")
        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 LineageRelationVO(AbstractModel):
    r"""LineageRelationVO

    """

    def __init__(self):
        r"""
        :param _RelationId: 关联ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RelationId: str
        :param _SourceQualifiedId: 源端唯一血缘ID
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceQualifiedId: str
        :param _TargetQualifiedId: 目标端唯一血缘ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetQualifiedId: str
        :param _Processes: 血缘加工过程
注意：此字段可能返回 null，表示取不到有效值。
        :type Processes: list of LineageProcessVO
        """
        self._RelationId = None
        self._SourceQualifiedId = None
        self._TargetQualifiedId = None
        self._Processes = None

    @property
    def RelationId(self):
        r"""关联ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RelationId

    @RelationId.setter
    def RelationId(self, RelationId):
        self._RelationId = RelationId

    @property
    def SourceQualifiedId(self):
        r"""源端唯一血缘ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceQualifiedId

    @SourceQualifiedId.setter
    def SourceQualifiedId(self, SourceQualifiedId):
        self._SourceQualifiedId = SourceQualifiedId

    @property
    def TargetQualifiedId(self):
        r"""目标端唯一血缘ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetQualifiedId

    @TargetQualifiedId.setter
    def TargetQualifiedId(self, TargetQualifiedId):
        self._TargetQualifiedId = TargetQualifiedId

    @property
    def Processes(self):
        r"""血缘加工过程
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageProcessVO
        """
        return self._Processes

    @Processes.setter
    def Processes(self, Processes):
        self._Processes = Processes


    def _deserialize(self, params):
        self._RelationId = params.get("RelationId")
        self._SourceQualifiedId = params.get("SourceQualifiedId")
        self._TargetQualifiedId = params.get("TargetQualifiedId")
        if params.get("Processes") is not None:
            self._Processes = []
            for item in params.get("Processes"):
                obj = LineageProcessVO()
                obj._deserialize(item)
                self._Processes.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 LineageResouce(AbstractModel):
    r"""血缘实体

    """

    def __init__(self):
        r"""
        :param _ResourceOriId: 实体原始唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceOriId: str
        :param _ResourceName: 业务名称：库名.表名｜指标名称｜模型名称|字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceName: str
        :param _ResourceType: 实体类型
TABLE|METRIC|MODEL|SERVICE|COLUMN
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceType: str
        :param _QualifiedId: 血缘全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedId: str
        :param _Description: 描述：表类型｜指标描述｜模型描述|字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Platform: 来源：WEDATA|THIRD
默认wedata
注意：此字段可能返回 null，表示取不到有效值。
        :type Platform: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _ResourceProperties: resource 额外扩展参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceProperties: list of LineageProperty
        """
        self._ResourceOriId = None
        self._ResourceName = None
        self._ResourceType = None
        self._QualifiedId = None
        self._Description = None
        self._Platform = None
        self._CreateTime = None
        self._UpdateTime = None
        self._ResourceProperties = None

    @property
    def ResourceOriId(self):
        r"""实体原始唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceOriId

    @ResourceOriId.setter
    def ResourceOriId(self, ResourceOriId):
        self._ResourceOriId = ResourceOriId

    @property
    def ResourceName(self):
        r"""业务名称：库名.表名｜指标名称｜模型名称|字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceName

    @ResourceName.setter
    def ResourceName(self, ResourceName):
        self._ResourceName = ResourceName

    @property
    def ResourceType(self):
        r"""实体类型
TABLE|METRIC|MODEL|SERVICE|COLUMN
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceType

    @ResourceType.setter
    def ResourceType(self, ResourceType):
        self._ResourceType = ResourceType

    @property
    def QualifiedId(self):
        r"""血缘全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedId

    @QualifiedId.setter
    def QualifiedId(self, QualifiedId):
        self._QualifiedId = QualifiedId

    @property
    def Description(self):
        r"""描述：表类型｜指标描述｜模型描述|字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Platform(self):
        r"""来源：WEDATA|THIRD
默认wedata
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Platform

    @Platform.setter
    def Platform(self, Platform):
        self._Platform = Platform

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def ResourceProperties(self):
        r"""resource 额外扩展参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageProperty
        """
        return self._ResourceProperties

    @ResourceProperties.setter
    def ResourceProperties(self, ResourceProperties):
        self._ResourceProperties = ResourceProperties


    def _deserialize(self, params):
        self._ResourceOriId = params.get("ResourceOriId")
        self._ResourceName = params.get("ResourceName")
        self._ResourceType = params.get("ResourceType")
        self._QualifiedId = params.get("QualifiedId")
        self._Description = params.get("Description")
        self._Platform = params.get("Platform")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        if params.get("ResourceProperties") is not None:
            self._ResourceProperties = []
            for item in params.get("ResourceProperties"):
                obj = LineageProperty()
                obj._deserialize(item)
                self._ResourceProperties.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 LineageTask(AbstractModel):
    r"""血缘任务

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _TaskType: 任务类型
        :type TaskType: str
        :param _TaskSource: 任务来源
        :type TaskSource: str
        :param _ExtParams: 任务扩展参数
        :type ExtParams: list of ExtParam
        """
        self._TaskId = None
        self._TaskType = None
        self._TaskSource = None
        self._ExtParams = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskType(self):
        r"""任务类型
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TaskSource(self):
        r"""任务来源
        :rtype: str
        """
        return self._TaskSource

    @TaskSource.setter
    def TaskSource(self, TaskSource):
        self._TaskSource = TaskSource

    @property
    def ExtParams(self):
        r"""任务扩展参数
        :rtype: list of ExtParam
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskType = params.get("TaskType")
        self._TaskSource = params.get("TaskSource")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = ExtParam()
                obj._deserialize(item)
                self._ExtParams.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 LinkOpsDto(AbstractModel):
    r"""任务依赖边详情

    """

    def __init__(self):
        r"""
        :param _Id: 边的id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _LinkKey: 边的key
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkKey: str
        :param _TaskFrom: 边的源节点
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFrom: str
        :param _TaskTo: 边的目标节点
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTo: str
        :param _InCharge: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _LinkDependencyType: 父子任务之间的依赖关系
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkDependencyType: str
        :param _Offset: 父子任务之间依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :type Offset: str
        :param _LinkType: 边的类型
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkType: str
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        """
        self._Id = None
        self._LinkKey = None
        self._TaskFrom = None
        self._TaskTo = None
        self._InCharge = None
        self._LinkDependencyType = None
        self._Offset = None
        self._LinkType = None
        self._WorkflowId = None

    @property
    def Id(self):
        r"""边的id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def LinkKey(self):
        r"""边的key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkKey

    @LinkKey.setter
    def LinkKey(self, LinkKey):
        self._LinkKey = LinkKey

    @property
    def TaskFrom(self):
        r"""边的源节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def TaskTo(self):
        r"""边的目标节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def InCharge(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def LinkDependencyType(self):
        r"""父子任务之间的依赖关系
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkDependencyType

    @LinkDependencyType.setter
    def LinkDependencyType(self, LinkDependencyType):
        self._LinkDependencyType = LinkDependencyType

    @property
    def Offset(self):
        r"""父子任务之间依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Offset

    @Offset.setter
    def Offset(self, Offset):
        self._Offset = Offset

    @property
    def LinkType(self):
        r"""边的类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkType

    @LinkType.setter
    def LinkType(self, LinkType):
        self._LinkType = LinkType

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._LinkKey = params.get("LinkKey")
        self._TaskFrom = params.get("TaskFrom")
        self._TaskTo = params.get("TaskTo")
        self._InCharge = params.get("InCharge")
        self._LinkDependencyType = params.get("LinkDependencyType")
        self._Offset = params.get("Offset")
        self._LinkType = params.get("LinkType")
        self._WorkflowId = params.get("WorkflowId")
        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 ListBatchDetailRequest(AbstractModel):
    r"""ListBatchDetail请求参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 批量操作历史Id
        :type JobId: int
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._JobId = None
        self._ProjectId = None

    @property
    def JobId(self):
        r"""批量操作历史Id
        :rtype: int
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._JobId = params.get("JobId")
        self._ProjectId = params.get("ProjectId")
        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 ListBatchDetailResponse(AbstractModel):
    r"""ListBatchDetail返回参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 批量操作ID
注意：此字段可能返回 null，表示取不到有效值。
        :type JobId: int
        :param _RunType: 运行类型：
ASYNC-异步
SYNC-同步
注意：此字段可能返回 null，表示取不到有效值。
        :type RunType: str
        :param _SuccessResource: 成功列表
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessResource: list of AsyncResourceVO
        :param _FailResource: 失败列表
注意：此字段可能返回 null，表示取不到有效值。
        :type FailResource: list of AsyncResourceVO
        :param _JobType: job类型
BATCH_DELETE --批量删除：1、任务名称：ResourceName
BATCH_CREATE_VERSION --批量提交：1、任务名称：ResourceId 2、资源组：GroupId
BATCH_MODIFY_DATASOURCE --批量修改数据源：1、任务名称：ResourceName
BATCH_MODIFY_INCHARGE --批量修改责任人：1、任务名称：ResourceName
BATCH_MODIFY_PARAMETER --批量修改参数：1、任务名称：ResourceName
BATCH_MODIFY_SCHEDULE --批量修改调度计划：1、任务名称：ResourceName
BATCH_MODIFY_GROUPID --批量修改资源组：1、任务名称：ResourceName
BATCH_MODIFY_CONFIG --批量修改高级配置：1、任务名称：ResourceName
BATCH_MODIFY_SCHEDULE_PARAMETER --批量修改调度参数：1、任务名称：ResourceName
FORM_CREATE_VERSION--模版提交
注意：此字段可能返回 null，表示取不到有效值。
        :type JobType: str
        :param _JobStatus: CREATING("CREATING", "创建中"),
INIT("INIT", "已被创建"),
RUNNING("RUNNING", "运行中"),
SUCCESS("SUCCESS", "成功"),
FAIL("FAIL", "失败"),
PART_SUCCESS("PART_SUCCESS", "部分成功"),
PART_SUCCESS_WITH_ALARM("PART_SUCCESS_WITH_ALARM", "部分成功有告警"),
SUCCESS_WITH_ALARM("SUCCESS_WITH_ALARM", "成功有告警"),
UNKNOWN("UNKNOWN", "未知状态");
注意：此字段可能返回 null，表示取不到有效值。
        :type JobStatus: str
        :param _TotalResource: 资源总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalResource: int
        :param _NeedApprove: 批量提交是是否需要审批，其他的批量操作默认为null
注意：此字段可能返回 null，表示取不到有效值。
        :type NeedApprove: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._JobId = None
        self._RunType = None
        self._SuccessResource = None
        self._FailResource = None
        self._JobType = None
        self._JobStatus = None
        self._TotalResource = None
        self._NeedApprove = None
        self._RequestId = None

    @property
    def JobId(self):
        r"""批量操作ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def RunType(self):
        r"""运行类型：
ASYNC-异步
SYNC-同步
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunType

    @RunType.setter
    def RunType(self, RunType):
        self._RunType = RunType

    @property
    def SuccessResource(self):
        r"""成功列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AsyncResourceVO
        """
        return self._SuccessResource

    @SuccessResource.setter
    def SuccessResource(self, SuccessResource):
        self._SuccessResource = SuccessResource

    @property
    def FailResource(self):
        r"""失败列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AsyncResourceVO
        """
        return self._FailResource

    @FailResource.setter
    def FailResource(self, FailResource):
        self._FailResource = FailResource

    @property
    def JobType(self):
        r"""job类型
BATCH_DELETE --批量删除：1、任务名称：ResourceName
BATCH_CREATE_VERSION --批量提交：1、任务名称：ResourceId 2、资源组：GroupId
BATCH_MODIFY_DATASOURCE --批量修改数据源：1、任务名称：ResourceName
BATCH_MODIFY_INCHARGE --批量修改责任人：1、任务名称：ResourceName
BATCH_MODIFY_PARAMETER --批量修改参数：1、任务名称：ResourceName
BATCH_MODIFY_SCHEDULE --批量修改调度计划：1、任务名称：ResourceName
BATCH_MODIFY_GROUPID --批量修改资源组：1、任务名称：ResourceName
BATCH_MODIFY_CONFIG --批量修改高级配置：1、任务名称：ResourceName
BATCH_MODIFY_SCHEDULE_PARAMETER --批量修改调度参数：1、任务名称：ResourceName
FORM_CREATE_VERSION--模版提交
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobType

    @JobType.setter
    def JobType(self, JobType):
        self._JobType = JobType

    @property
    def JobStatus(self):
        r"""CREATING("CREATING", "创建中"),
INIT("INIT", "已被创建"),
RUNNING("RUNNING", "运行中"),
SUCCESS("SUCCESS", "成功"),
FAIL("FAIL", "失败"),
PART_SUCCESS("PART_SUCCESS", "部分成功"),
PART_SUCCESS_WITH_ALARM("PART_SUCCESS_WITH_ALARM", "部分成功有告警"),
SUCCESS_WITH_ALARM("SUCCESS_WITH_ALARM", "成功有告警"),
UNKNOWN("UNKNOWN", "未知状态");
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobStatus

    @JobStatus.setter
    def JobStatus(self, JobStatus):
        self._JobStatus = JobStatus

    @property
    def TotalResource(self):
        r"""资源总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalResource

    @TotalResource.setter
    def TotalResource(self, TotalResource):
        self._TotalResource = TotalResource

    @property
    def NeedApprove(self):
        r"""批量提交是是否需要审批，其他的批量操作默认为null
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._NeedApprove

    @NeedApprove.setter
    def NeedApprove(self, NeedApprove):
        self._NeedApprove = NeedApprove

    @property
    def RequestId(self):
        r"""唯一请求 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._RunType = params.get("RunType")
        if params.get("SuccessResource") is not None:
            self._SuccessResource = []
            for item in params.get("SuccessResource"):
                obj = AsyncResourceVO()
                obj._deserialize(item)
                self._SuccessResource.append(obj)
        if params.get("FailResource") is not None:
            self._FailResource = []
            for item in params.get("FailResource"):
                obj = AsyncResourceVO()
                obj._deserialize(item)
                self._FailResource.append(obj)
        self._JobType = params.get("JobType")
        self._JobStatus = params.get("JobStatus")
        self._TotalResource = params.get("TotalResource")
        self._NeedApprove = params.get("NeedApprove")
        self._RequestId = params.get("RequestId")


class ListInstancesRequest(AbstractModel):
    r"""ListInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: **项目ID**
        :type ProjectId: str
        :param _ScheduleTimeFrom: **实例计划调度时间过滤条件**
过滤起始时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type ScheduleTimeFrom: str
        :param _ScheduleTimeTo: **实例计划调度时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type ScheduleTimeTo: str
        :param _PageNumber: **页码，整型**
配合pageSize使用且不能小于1， 默认值1
        :type PageNumber: int
        :param _PageSize: **每页数目，整型**
配合pageNumber使用且不能大于200, 默认值 10
        :type PageSize: int
        :param _SortColumn: **查询结果排序字段**

- SCHEDULE_DATE 表示 根据计划调度时间排序
- START_TIME 表示 根据实例开始执行时间排序
- END_TIME 表示 根据实例结束执行时间排序
- COST_TIME 表示 根据实例执行时长排序
        :type SortColumn: str
        :param _SortType: **实例排序方式**

- ASC 
- DESC
        :type SortType: str
        :param _InstanceType: **实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
        :type InstanceType: int
        :param _InstanceStateList: **实例执行状态**
支持过滤多个，条件间为 或 的过滤关系

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
        :type InstanceStateList: list of int non-negative
        :param _TaskTypeIdList: **任务类型Id**

- 支持过滤多个，条件间为 或 的过滤关系
- 可以通过接口 DescribeAllTaskType 获取项目支持的全部任务类型
        :type TaskTypeIdList: list of int non-negative
        :param _TaskCycleList: **任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
        :type TaskCycleList: list of str
        :param _Keyword: **任务名称 或 任务ID**
支持模糊搜索过滤, 多个用 英文逗号, 分割
        :type Keyword: str
        :param _InChargeList: **任务负责人**
支持过滤多个，条件间为 或 的过滤关系
        :type InChargeList: list of str
        :param _TaskFolderIdList: **任务所属文件件**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 FindAllFolder 获取项目下的所有文件夹列表
        :type TaskFolderIdList: list of str
        :param _WorkflowIdList: **任务所属工作流**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 DescribeOpsWorkflows 获取项目下的所有工作流列表
        :type WorkflowIdList: list of str
        :param _ExecutorGroupIdList: **执行资源组Id**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 DescribeNormalSchedulerExecutorGroups 获取项目下的所有调度资源组列表
可以通过接口 DescribeNormalIntegrationExecutorGroups 获取项目下的所有集成资源组列表
        :type ExecutorGroupIdList: list of str
        :param _StartTimeFrom: **实例执行开始时间过滤条件**
过滤起始时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type StartTimeFrom: str
        :param _StartTimeTo: **实例执行开始时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type StartTimeTo: str
        :param _ScheduleTimeZone: **时区**
timeZone, 默认UTC+8
        :type ScheduleTimeZone: str
        :param _LastUpdateTimeFrom: **实例最近更新时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type LastUpdateTimeFrom: str
        :param _LastUpdateTimeTo: **实例最近更新时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :type LastUpdateTimeTo: str
        """
        self._ProjectId = None
        self._ScheduleTimeFrom = None
        self._ScheduleTimeTo = None
        self._PageNumber = None
        self._PageSize = None
        self._SortColumn = None
        self._SortType = None
        self._InstanceType = None
        self._InstanceStateList = None
        self._TaskTypeIdList = None
        self._TaskCycleList = None
        self._Keyword = None
        self._InChargeList = None
        self._TaskFolderIdList = None
        self._WorkflowIdList = None
        self._ExecutorGroupIdList = None
        self._StartTimeFrom = None
        self._StartTimeTo = None
        self._ScheduleTimeZone = None
        self._LastUpdateTimeFrom = None
        self._LastUpdateTimeTo = None

    @property
    def ProjectId(self):
        r"""**项目ID**
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ScheduleTimeFrom(self):
        r"""**实例计划调度时间过滤条件**
过滤起始时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._ScheduleTimeFrom

    @ScheduleTimeFrom.setter
    def ScheduleTimeFrom(self, ScheduleTimeFrom):
        self._ScheduleTimeFrom = ScheduleTimeFrom

    @property
    def ScheduleTimeTo(self):
        r"""**实例计划调度时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._ScheduleTimeTo

    @ScheduleTimeTo.setter
    def ScheduleTimeTo(self, ScheduleTimeTo):
        self._ScheduleTimeTo = ScheduleTimeTo

    @property
    def PageNumber(self):
        r"""**页码，整型**
配合pageSize使用且不能小于1， 默认值1
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""**每页数目，整型**
配合pageNumber使用且不能大于200, 默认值 10
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def SortColumn(self):
        r"""**查询结果排序字段**

- SCHEDULE_DATE 表示 根据计划调度时间排序
- START_TIME 表示 根据实例开始执行时间排序
- END_TIME 表示 根据实例结束执行时间排序
- COST_TIME 表示 根据实例执行时长排序
        :rtype: str
        """
        return self._SortColumn

    @SortColumn.setter
    def SortColumn(self, SortColumn):
        self._SortColumn = SortColumn

    @property
    def SortType(self):
        r"""**实例排序方式**

- ASC 
- DESC
        :rtype: str
        """
        return self._SortType

    @SortType.setter
    def SortType(self, SortType):
        self._SortType = SortType

    @property
    def InstanceType(self):
        r"""**实例类型**

- 0 表示补录类型
- 1 表示周期实例
- 2 表示非周期实例
        :rtype: int
        """
        return self._InstanceType

    @InstanceType.setter
    def InstanceType(self, InstanceType):
        self._InstanceType = InstanceType

    @property
    def InstanceStateList(self):
        r"""**实例执行状态**
支持过滤多个，条件间为 或 的过滤关系

- [0] 表示 等待事件
- [12] 表示 等待上游
- [6, 7, 9, 10, 18] 表示 等待运行
- [1, 19, 22] 表示 运行中
- [21] 表示 跳过运行
- [3] 表示 失败重试
- [8, 4, 5, 13] 表示 失败
- [2] 表示 成功
        :rtype: list of int non-negative
        """
        return self._InstanceStateList

    @InstanceStateList.setter
    def InstanceStateList(self, InstanceStateList):
        self._InstanceStateList = InstanceStateList

    @property
    def TaskTypeIdList(self):
        r"""**任务类型Id**

- 支持过滤多个，条件间为 或 的过滤关系
- 可以通过接口 DescribeAllTaskType 获取项目支持的全部任务类型
        :rtype: list of int non-negative
        """
        return self._TaskTypeIdList

    @TaskTypeIdList.setter
    def TaskTypeIdList(self, TaskTypeIdList):
        self._TaskTypeIdList = TaskTypeIdList

    @property
    def TaskCycleList(self):
        r"""**任务周期类型**
支持过滤多个，条件间为 或 的过滤关系
* O: ONEOFF_CYCLE
* Y: YEAR_CYCLE
* M: MONTH_CYCLE
* W: WEEK_CYCLE
* D: DAY_CYCLE
* H: HOUR_CYCLE
* I: MINUTE_CYCLE
* C: CRONTAB_CYCLE
        :rtype: list of str
        """
        return self._TaskCycleList

    @TaskCycleList.setter
    def TaskCycleList(self, TaskCycleList):
        self._TaskCycleList = TaskCycleList

    @property
    def Keyword(self):
        r"""**任务名称 或 任务ID**
支持模糊搜索过滤, 多个用 英文逗号, 分割
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def InChargeList(self):
        r"""**任务负责人**
支持过滤多个，条件间为 或 的过滤关系
        :rtype: list of str
        """
        return self._InChargeList

    @InChargeList.setter
    def InChargeList(self, InChargeList):
        self._InChargeList = InChargeList

    @property
    def TaskFolderIdList(self):
        r"""**任务所属文件件**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 FindAllFolder 获取项目下的所有文件夹列表
        :rtype: list of str
        """
        return self._TaskFolderIdList

    @TaskFolderIdList.setter
    def TaskFolderIdList(self, TaskFolderIdList):
        self._TaskFolderIdList = TaskFolderIdList

    @property
    def WorkflowIdList(self):
        r"""**任务所属工作流**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 DescribeOpsWorkflows 获取项目下的所有工作流列表
        :rtype: list of str
        """
        return self._WorkflowIdList

    @WorkflowIdList.setter
    def WorkflowIdList(self, WorkflowIdList):
        self._WorkflowIdList = WorkflowIdList

    @property
    def ExecutorGroupIdList(self):
        r"""**执行资源组Id**
支持过滤多个，条件间为 或 的过滤关系
可以通过接口 DescribeNormalSchedulerExecutorGroups 获取项目下的所有调度资源组列表
可以通过接口 DescribeNormalIntegrationExecutorGroups 获取项目下的所有集成资源组列表
        :rtype: list of str
        """
        return self._ExecutorGroupIdList

    @ExecutorGroupIdList.setter
    def ExecutorGroupIdList(self, ExecutorGroupIdList):
        self._ExecutorGroupIdList = ExecutorGroupIdList

    @property
    def StartTimeFrom(self):
        r"""**实例执行开始时间过滤条件**
过滤起始时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._StartTimeFrom

    @StartTimeFrom.setter
    def StartTimeFrom(self, StartTimeFrom):
        self._StartTimeFrom = StartTimeFrom

    @property
    def StartTimeTo(self):
        r"""**实例执行开始时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._StartTimeTo

    @StartTimeTo.setter
    def StartTimeTo(self, StartTimeTo):
        self._StartTimeTo = StartTimeTo

    @property
    def ScheduleTimeZone(self):
        r"""**时区**
timeZone, 默认UTC+8
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def LastUpdateTimeFrom(self):
        r"""**实例最近更新时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._LastUpdateTimeFrom

    @LastUpdateTimeFrom.setter
    def LastUpdateTimeFrom(self, LastUpdateTimeFrom):
        self._LastUpdateTimeFrom = LastUpdateTimeFrom

    @property
    def LastUpdateTimeTo(self):
        r"""**实例最近更新时间过滤条件**
过滤截止时间，时间格式为 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._LastUpdateTimeTo

    @LastUpdateTimeTo.setter
    def LastUpdateTimeTo(self, LastUpdateTimeTo):
        self._LastUpdateTimeTo = LastUpdateTimeTo


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ScheduleTimeFrom = params.get("ScheduleTimeFrom")
        self._ScheduleTimeTo = params.get("ScheduleTimeTo")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._SortColumn = params.get("SortColumn")
        self._SortType = params.get("SortType")
        self._InstanceType = params.get("InstanceType")
        self._InstanceStateList = params.get("InstanceStateList")
        self._TaskTypeIdList = params.get("TaskTypeIdList")
        self._TaskCycleList = params.get("TaskCycleList")
        self._Keyword = params.get("Keyword")
        self._InChargeList = params.get("InChargeList")
        self._TaskFolderIdList = params.get("TaskFolderIdList")
        self._WorkflowIdList = params.get("WorkflowIdList")
        self._ExecutorGroupIdList = params.get("ExecutorGroupIdList")
        self._StartTimeFrom = params.get("StartTimeFrom")
        self._StartTimeTo = params.get("StartTimeTo")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._LastUpdateTimeFrom = params.get("LastUpdateTimeFrom")
        self._LastUpdateTimeTo = params.get("LastUpdateTimeTo")
        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 ListInstancesResponse(AbstractModel):
    r"""ListInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 实例结果集
        :type Data: :class:`tencentcloud.wedata.v20210820.models.InstancePageVO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""实例结果集
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstancePageVO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = InstancePageVO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class LockIntegrationTaskRequest(AbstractModel):
    r"""LockIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 LockIntegrationTaskResponse(AbstractModel):
    r"""LockIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class LogContent(AbstractModel):
    r"""实时任务日志内容

    """

    def __init__(self):
        r"""
        :param _Time: 日志时间戳，单位毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :type Time: int
        :param _PkgId: 日志包id
注意：此字段可能返回 null，表示取不到有效值。
        :type PkgId: str
        :param _Log: 日志内容
        :type Log: str
        """
        self._Time = None
        self._PkgId = None
        self._Log = None

    @property
    def Time(self):
        r"""日志时间戳，单位毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Time

    @Time.setter
    def Time(self, Time):
        self._Time = Time

    @property
    def PkgId(self):
        r"""日志包id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PkgId

    @PkgId.setter
    def PkgId(self, PkgId):
        self._PkgId = PkgId

    @property
    def Log(self):
        r"""日志内容
        :rtype: str
        """
        return self._Log

    @Log.setter
    def Log(self, Log):
        self._Log = Log


    def _deserialize(self, params):
        self._Time = params.get("Time")
        self._PkgId = params.get("PkgId")
        self._Log = params.get("Log")
        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 LogContentInfo(AbstractModel):
    r"""日志内容实体

    """

    def __init__(self):
        r"""
        :param _Log: 日志内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Log: str
        :param _PkgId: 日志组Id
注意：此字段可能返回 null，表示取不到有效值。
        :type PkgId: str
        :param _PkgLogId: 日志Id
注意：此字段可能返回 null，表示取不到有效值。
        :type PkgLogId: str
        :param _Time: 时间
注意：此字段可能返回 null，表示取不到有效值。
        :type Time: int
        :param _ContainerName: 日志所属的容器名
注意：此字段可能返回 null，表示取不到有效值。
        :type ContainerName: str
        """
        self._Log = None
        self._PkgId = None
        self._PkgLogId = None
        self._Time = None
        self._ContainerName = None

    @property
    def Log(self):
        r"""日志内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Log

    @Log.setter
    def Log(self, Log):
        self._Log = Log

    @property
    def PkgId(self):
        r"""日志组Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PkgId

    @PkgId.setter
    def PkgId(self, PkgId):
        self._PkgId = PkgId

    @property
    def PkgLogId(self):
        r"""日志Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PkgLogId

    @PkgLogId.setter
    def PkgLogId(self, PkgLogId):
        self._PkgLogId = PkgLogId

    @property
    def Time(self):
        r"""时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Time

    @Time.setter
    def Time(self, Time):
        self._Time = Time

    @property
    def ContainerName(self):
        r"""日志所属的容器名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ContainerName

    @ContainerName.setter
    def ContainerName(self, ContainerName):
        self._ContainerName = ContainerName


    def _deserialize(self, params):
        self._Log = params.get("Log")
        self._PkgId = params.get("PkgId")
        self._PkgLogId = params.get("PkgLogId")
        self._Time = params.get("Time")
        self._ContainerName = params.get("ContainerName")
        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 MQPackageVO(AbstractModel):
    r"""MQPackageVO

    """

    def __init__(self):
        r"""
        :param _Type: ckafka消息队列
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _InstanceId: 实例Id/集群Id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _InstanceName: 实例名称/集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceName: str
        :param _VpcId: 局域网Id
注意：此字段可能返回 null，表示取不到有效值。
        :type VpcId: str
        :param _SubnetId: 子网Id
注意：此字段可能返回 null，表示取不到有效值。
        :type SubnetId: str
        :param _Status: 资源状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _StatusDescription: 资源状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :type StatusDescription: str
        :param _DataProxySpec: DataProxy规格
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxySpec: str
        :param _DataProxyNum: DataProxy数量
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyNum: int
        :param _DataProxyStatus: DataProxy状态
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyStatus: int
        :param _DataProxyStatusDescription: DataProxy状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :type DataProxyStatusDescription: str
        :param _BillingType: 计费类型
注意：此字段可能返回 null，表示取不到有效值。
        :type BillingType: str
        :param _ExpireTime: 资源到期时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :type ExpireTime: int
        :param _LifeTime: 资源生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeTime: int
        """
        self._Type = None
        self._InstanceId = None
        self._InstanceName = None
        self._VpcId = None
        self._SubnetId = None
        self._Status = None
        self._StatusDescription = None
        self._DataProxySpec = None
        self._DataProxyNum = None
        self._DataProxyStatus = None
        self._DataProxyStatusDescription = None
        self._BillingType = None
        self._ExpireTime = None
        self._LifeTime = None

    @property
    def Type(self):
        r"""ckafka消息队列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def InstanceId(self):
        r"""实例Id/集群Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def InstanceName(self):
        r"""实例名称/集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceName

    @InstanceName.setter
    def InstanceName(self, InstanceName):
        self._InstanceName = InstanceName

    @property
    def VpcId(self):
        r"""局域网Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VpcId

    @VpcId.setter
    def VpcId(self, VpcId):
        self._VpcId = VpcId

    @property
    def SubnetId(self):
        r"""子网Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubnetId

    @SubnetId.setter
    def SubnetId(self, SubnetId):
        self._SubnetId = SubnetId

    @property
    def Status(self):
        r"""资源状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def StatusDescription(self):
        r"""资源状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StatusDescription

    @StatusDescription.setter
    def StatusDescription(self, StatusDescription):
        self._StatusDescription = StatusDescription

    @property
    def DataProxySpec(self):
        r"""DataProxy规格
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataProxySpec

    @DataProxySpec.setter
    def DataProxySpec(self, DataProxySpec):
        self._DataProxySpec = DataProxySpec

    @property
    def DataProxyNum(self):
        r"""DataProxy数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataProxyNum

    @DataProxyNum.setter
    def DataProxyNum(self, DataProxyNum):
        self._DataProxyNum = DataProxyNum

    @property
    def DataProxyStatus(self):
        r"""DataProxy状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataProxyStatus

    @DataProxyStatus.setter
    def DataProxyStatus(self, DataProxyStatus):
        self._DataProxyStatus = DataProxyStatus

    @property
    def DataProxyStatusDescription(self):
        r"""DataProxy状态描述：保存创建失败，运行异常和更新失败的原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataProxyStatusDescription

    @DataProxyStatusDescription.setter
    def DataProxyStatusDescription(self, DataProxyStatusDescription):
        self._DataProxyStatusDescription = DataProxyStatusDescription

    @property
    def BillingType(self):
        r"""计费类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BillingType

    @BillingType.setter
    def BillingType(self, BillingType):
        self._BillingType = BillingType

    @property
    def ExpireTime(self):
        r"""资源到期时间，时间戳毫秒
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExpireTime

    @ExpireTime.setter
    def ExpireTime(self, ExpireTime):
        self._ExpireTime = ExpireTime

    @property
    def LifeTime(self):
        r"""资源生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeTime

    @LifeTime.setter
    def LifeTime(self, LifeTime):
        self._LifeTime = LifeTime


    def _deserialize(self, params):
        self._Type = params.get("Type")
        self._InstanceId = params.get("InstanceId")
        self._InstanceName = params.get("InstanceName")
        self._VpcId = params.get("VpcId")
        self._SubnetId = params.get("SubnetId")
        self._Status = params.get("Status")
        self._StatusDescription = params.get("StatusDescription")
        self._DataProxySpec = params.get("DataProxySpec")
        self._DataProxyNum = params.get("DataProxyNum")
        self._DataProxyStatus = params.get("DataProxyStatus")
        self._DataProxyStatusDescription = params.get("DataProxyStatusDescription")
        self._BillingType = params.get("BillingType")
        self._ExpireTime = params.get("ExpireTime")
        self._LifeTime = params.get("LifeTime")
        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 MakePlanAlarmRule(AbstractModel):
    r"""补录计划告警规则

    """

    def __init__(self):
        r"""
        :param _AlarmLevel: 告警的级别
1 -- 普通
2 -- 重要
3 -- 紧急
        :type AlarmLevel: int
        :param _AlarmTypes: 告警的类型，补录计划支持：
start：启动告警
failure：失败告警
success：成功告警
overtime：超过配置时间告警

        :type AlarmTypes: list of str
        :param _ExtInfo: 告警超时时间
        :type ExtInfo: str
        :param _AlarmGroup: 告警接受人 升级人配置信息
        :type AlarmGroup: list of AlarmGroup
        """
        self._AlarmLevel = None
        self._AlarmTypes = None
        self._ExtInfo = None
        self._AlarmGroup = None

    @property
    def AlarmLevel(self):
        r"""告警的级别
1 -- 普通
2 -- 重要
3 -- 紧急
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def AlarmTypes(self):
        r"""告警的类型，补录计划支持：
start：启动告警
failure：失败告警
success：成功告警
overtime：超过配置时间告警

        :rtype: list of str
        """
        return self._AlarmTypes

    @AlarmTypes.setter
    def AlarmTypes(self, AlarmTypes):
        self._AlarmTypes = AlarmTypes

    @property
    def ExtInfo(self):
        r"""告警超时时间
        :rtype: str
        """
        return self._ExtInfo

    @ExtInfo.setter
    def ExtInfo(self, ExtInfo):
        self._ExtInfo = ExtInfo

    @property
    def AlarmGroup(self):
        r"""告警接受人 升级人配置信息
        :rtype: list of AlarmGroup
        """
        return self._AlarmGroup

    @AlarmGroup.setter
    def AlarmGroup(self, AlarmGroup):
        self._AlarmGroup = AlarmGroup


    def _deserialize(self, params):
        self._AlarmLevel = params.get("AlarmLevel")
        self._AlarmTypes = params.get("AlarmTypes")
        self._ExtInfo = params.get("ExtInfo")
        if params.get("AlarmGroup") is not None:
            self._AlarmGroup = []
            for item in params.get("AlarmGroup"):
                obj = AlarmGroup()
                obj._deserialize(item)
                self._AlarmGroup.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 MakePlanInstanceOpsDtoCollection(AbstractModel):
    r"""补录计划实例集合

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of InstanceOpsDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = InstanceOpsDto()
                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 MakePlanOpsDto(AbstractModel):
    r"""补录计划

    """

    def __init__(self):
        r"""
        :param _PlanId: 补录计划ID
注意：此字段可能返回 null，表示取不到有效值。
        :type PlanId: str
        :param _MakeName: 补录计划名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MakeName: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _CheckParent: 补录是否检查父任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type CheckParent: bool
        :param _SameSelfDependType: 是否使用任务原有自依赖配置
注意：此字段可能返回 null，表示取不到有效值。
        :type SameSelfDependType: bool
        :param _ParallelNum: 并行度，在SameSelfDependType为false时生效
注意：此字段可能返回 null，表示取不到有效值。
        :type ParallelNum: int
        :param _SameCycle: 补录实例生成周期是否修改
注意：此字段可能返回 null，表示取不到有效值。
        :type SameCycle: bool
        :param _SourceTaskCycle: 调度周期转换方式-原始周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceTaskCycle: str
        :param _TargetTaskCycle: 调度周期转换方式-目标周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTaskCycle: str
        :param _TargetTaskAction: 调度周期转换方式-目标周期类型指定时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTaskAction: int
        :param _MapParamList: 补录实例自定义参数
注意：此字段可能返回 null，表示取不到有效值。
        :type MapParamList: list of StrToStrMap
        :param _MakeExtList: 补录扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :type MakeExtList: list of StrToStrMap
        :param _CreatorId: 创建人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CreatorId: str
        :param _Creator: 创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _TaskIdList: 补录任务ID集合
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskIdList: list of str
        :param _MakeDatetimeList: 补录计划日期范围
注意：此字段可能返回 null，表示取不到有效值。
        :type MakeDatetimeList: list of CreateMakeDatetimeInfo
        :param _Remark: 补录计划说明
注意：此字段可能返回 null，表示取不到有效值。
        :type Remark: str
        :param _SchedulerResourceGroup: 补录指定的调度资源组（ID）
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerResourceGroup: str
        :param _SchedulerResourceGroupName: 补录指定的调度资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerResourceGroupName: str
        :param _IntegrationResourceGroup: 补录指定的集成资源组（ID）
注意：此字段可能返回 null，表示取不到有效值。
        :type IntegrationResourceGroup: str
        :param _IntegrationResourceGroupName: 补录指定的集成资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type IntegrationResourceGroupName: str
        :param _TaskCount: 补录计划任务数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCount: int
        :param _CompletePercent: 补录计划实例完成百分数
注意：此字段可能返回 null，表示取不到有效值。
        :type CompletePercent: int
        :param _SuccessPercent: 补录计划实例成功百分数
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessPercent: int
        :param _CheckParentType: 补录检查父任务类型。取值范围：
<li> NONE: 全部不检查 </li>
<li> ALL: 检查全部上游父任务 </li>
<li> MAKE_SCOPE: 只在（当前补录计划）选中任务中检查 </li>
注意：此字段可能返回 null，表示取不到有效值。
        :type CheckParentType: str
        :param _SameSelfWorkflowDependType: 是否和原任务保持相同工作流自依赖属性
注意：此字段可能返回 null，表示取不到有效值。
        :type SameSelfWorkflowDependType: bool
        :param _SelfWorkflowDependency: 工作流自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfWorkflowDependency: str
        :param _MakeDataTimeOrder: 补录时间顺序
NORMAL： 正常
ORDER ： 按照实例时间顺序执行
REVERSE： 实例数据时间逆序
        :type MakeDataTimeOrder: str
        :param _ScheduleTimeZone: 补录时间范围的时区
        :type ScheduleTimeZone: str
        :param _AppParam: 执行应用参数
        :type AppParam: str
        :param _TimeType: 补录计划时间范围的类型： 
DATA_TIME：实例数据时间；SCHEDULE_TIME 计划调度时间
        :type TimeType: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _FailurePercent: 失败百分比
注意：此字段可能返回 null，表示取不到有效值。
        :type FailurePercent: int
        :param _AlarmRule: 补录计划的告警规则
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRule: :class:`tencentcloud.wedata.v20210820.models.MakePlanAlarmRule`
        :param _RunType: 运行类型
注意：此字段可能返回 null，表示取不到有效值。
        :type RunType: int
        :param _RunDateTime: 定时运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type RunDateTime: str
        """
        self._PlanId = None
        self._MakeName = None
        self._ProjectId = None
        self._CheckParent = None
        self._SameSelfDependType = None
        self._ParallelNum = None
        self._SameCycle = None
        self._SourceTaskCycle = None
        self._TargetTaskCycle = None
        self._TargetTaskAction = None
        self._MapParamList = None
        self._MakeExtList = None
        self._CreatorId = None
        self._Creator = None
        self._CreateTime = None
        self._TaskIdList = None
        self._MakeDatetimeList = None
        self._Remark = None
        self._SchedulerResourceGroup = None
        self._SchedulerResourceGroupName = None
        self._IntegrationResourceGroup = None
        self._IntegrationResourceGroupName = None
        self._TaskCount = None
        self._CompletePercent = None
        self._SuccessPercent = None
        self._CheckParentType = None
        self._SameSelfWorkflowDependType = None
        self._SelfWorkflowDependency = None
        self._MakeDataTimeOrder = None
        self._ScheduleTimeZone = None
        self._AppParam = None
        self._TimeType = None
        self._StartTime = None
        self._EndTime = None
        self._FailurePercent = None
        self._AlarmRule = None
        self._RunType = None
        self._RunDateTime = None

    @property
    def PlanId(self):
        r"""补录计划ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PlanId

    @PlanId.setter
    def PlanId(self, PlanId):
        self._PlanId = PlanId

    @property
    def MakeName(self):
        r"""补录计划名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MakeName

    @MakeName.setter
    def MakeName(self, MakeName):
        self._MakeName = MakeName

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CheckParent(self):
        r"""补录是否检查父任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._CheckParent

    @CheckParent.setter
    def CheckParent(self, CheckParent):
        self._CheckParent = CheckParent

    @property
    def SameSelfDependType(self):
        r"""是否使用任务原有自依赖配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SameSelfDependType

    @SameSelfDependType.setter
    def SameSelfDependType(self, SameSelfDependType):
        self._SameSelfDependType = SameSelfDependType

    @property
    def ParallelNum(self):
        r"""并行度，在SameSelfDependType为false时生效
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ParallelNum

    @ParallelNum.setter
    def ParallelNum(self, ParallelNum):
        self._ParallelNum = ParallelNum

    @property
    def SameCycle(self):
        r"""补录实例生成周期是否修改
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SameCycle

    @SameCycle.setter
    def SameCycle(self, SameCycle):
        self._SameCycle = SameCycle

    @property
    def SourceTaskCycle(self):
        r"""调度周期转换方式-原始周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceTaskCycle

    @SourceTaskCycle.setter
    def SourceTaskCycle(self, SourceTaskCycle):
        self._SourceTaskCycle = SourceTaskCycle

    @property
    def TargetTaskCycle(self):
        r"""调度周期转换方式-目标周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetTaskCycle

    @TargetTaskCycle.setter
    def TargetTaskCycle(self, TargetTaskCycle):
        self._TargetTaskCycle = TargetTaskCycle

    @property
    def TargetTaskAction(self):
        r"""调度周期转换方式-目标周期类型指定时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TargetTaskAction

    @TargetTaskAction.setter
    def TargetTaskAction(self, TargetTaskAction):
        self._TargetTaskAction = TargetTaskAction

    @property
    def MapParamList(self):
        r"""补录实例自定义参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of StrToStrMap
        """
        return self._MapParamList

    @MapParamList.setter
    def MapParamList(self, MapParamList):
        self._MapParamList = MapParamList

    @property
    def MakeExtList(self):
        r"""补录扩展属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of StrToStrMap
        """
        return self._MakeExtList

    @MakeExtList.setter
    def MakeExtList(self, MakeExtList):
        self._MakeExtList = MakeExtList

    @property
    def CreatorId(self):
        r"""创建人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreatorId

    @CreatorId.setter
    def CreatorId(self, CreatorId):
        self._CreatorId = CreatorId

    @property
    def Creator(self):
        r"""创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def TaskIdList(self):
        r"""补录任务ID集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskIdList

    @TaskIdList.setter
    def TaskIdList(self, TaskIdList):
        self._TaskIdList = TaskIdList

    @property
    def MakeDatetimeList(self):
        r"""补录计划日期范围
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of CreateMakeDatetimeInfo
        """
        return self._MakeDatetimeList

    @MakeDatetimeList.setter
    def MakeDatetimeList(self, MakeDatetimeList):
        self._MakeDatetimeList = MakeDatetimeList

    @property
    def Remark(self):
        r"""补录计划说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def SchedulerResourceGroup(self):
        r"""补录指定的调度资源组（ID）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerResourceGroup

    @SchedulerResourceGroup.setter
    def SchedulerResourceGroup(self, SchedulerResourceGroup):
        self._SchedulerResourceGroup = SchedulerResourceGroup

    @property
    def SchedulerResourceGroupName(self):
        r"""补录指定的调度资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerResourceGroupName

    @SchedulerResourceGroupName.setter
    def SchedulerResourceGroupName(self, SchedulerResourceGroupName):
        self._SchedulerResourceGroupName = SchedulerResourceGroupName

    @property
    def IntegrationResourceGroup(self):
        r"""补录指定的集成资源组（ID）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IntegrationResourceGroup

    @IntegrationResourceGroup.setter
    def IntegrationResourceGroup(self, IntegrationResourceGroup):
        self._IntegrationResourceGroup = IntegrationResourceGroup

    @property
    def IntegrationResourceGroupName(self):
        r"""补录指定的集成资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IntegrationResourceGroupName

    @IntegrationResourceGroupName.setter
    def IntegrationResourceGroupName(self, IntegrationResourceGroupName):
        self._IntegrationResourceGroupName = IntegrationResourceGroupName

    @property
    def TaskCount(self):
        r"""补录计划任务数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskCount

    @TaskCount.setter
    def TaskCount(self, TaskCount):
        self._TaskCount = TaskCount

    @property
    def CompletePercent(self):
        r"""补录计划实例完成百分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CompletePercent

    @CompletePercent.setter
    def CompletePercent(self, CompletePercent):
        self._CompletePercent = CompletePercent

    @property
    def SuccessPercent(self):
        r"""补录计划实例成功百分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessPercent

    @SuccessPercent.setter
    def SuccessPercent(self, SuccessPercent):
        self._SuccessPercent = SuccessPercent

    @property
    def CheckParentType(self):
        r"""补录检查父任务类型。取值范围：
<li> NONE: 全部不检查 </li>
<li> ALL: 检查全部上游父任务 </li>
<li> MAKE_SCOPE: 只在（当前补录计划）选中任务中检查 </li>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CheckParentType

    @CheckParentType.setter
    def CheckParentType(self, CheckParentType):
        self._CheckParentType = CheckParentType

    @property
    def SameSelfWorkflowDependType(self):
        r"""是否和原任务保持相同工作流自依赖属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SameSelfWorkflowDependType

    @SameSelfWorkflowDependType.setter
    def SameSelfWorkflowDependType(self, SameSelfWorkflowDependType):
        self._SameSelfWorkflowDependType = SameSelfWorkflowDependType

    @property
    def SelfWorkflowDependency(self):
        r"""工作流自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfWorkflowDependency

    @SelfWorkflowDependency.setter
    def SelfWorkflowDependency(self, SelfWorkflowDependency):
        self._SelfWorkflowDependency = SelfWorkflowDependency

    @property
    def MakeDataTimeOrder(self):
        r"""补录时间顺序
NORMAL： 正常
ORDER ： 按照实例时间顺序执行
REVERSE： 实例数据时间逆序
        :rtype: str
        """
        return self._MakeDataTimeOrder

    @MakeDataTimeOrder.setter
    def MakeDataTimeOrder(self, MakeDataTimeOrder):
        self._MakeDataTimeOrder = MakeDataTimeOrder

    @property
    def ScheduleTimeZone(self):
        r"""补录时间范围的时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def AppParam(self):
        r"""执行应用参数
        :rtype: str
        """
        return self._AppParam

    @AppParam.setter
    def AppParam(self, AppParam):
        self._AppParam = AppParam

    @property
    def TimeType(self):
        r"""补录计划时间范围的类型： 
DATA_TIME：实例数据时间；SCHEDULE_TIME 计划调度时间
        :rtype: str
        """
        return self._TimeType

    @TimeType.setter
    def TimeType(self, TimeType):
        self._TimeType = TimeType

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def FailurePercent(self):
        r"""失败百分比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailurePercent

    @FailurePercent.setter
    def FailurePercent(self, FailurePercent):
        self._FailurePercent = FailurePercent

    @property
    def AlarmRule(self):
        r"""补录计划的告警规则
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.MakePlanAlarmRule`
        """
        return self._AlarmRule

    @AlarmRule.setter
    def AlarmRule(self, AlarmRule):
        self._AlarmRule = AlarmRule

    @property
    def RunType(self):
        r"""运行类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunType

    @RunType.setter
    def RunType(self, RunType):
        self._RunType = RunType

    @property
    def RunDateTime(self):
        r"""定时运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunDateTime

    @RunDateTime.setter
    def RunDateTime(self, RunDateTime):
        self._RunDateTime = RunDateTime


    def _deserialize(self, params):
        self._PlanId = params.get("PlanId")
        self._MakeName = params.get("MakeName")
        self._ProjectId = params.get("ProjectId")
        self._CheckParent = params.get("CheckParent")
        self._SameSelfDependType = params.get("SameSelfDependType")
        self._ParallelNum = params.get("ParallelNum")
        self._SameCycle = params.get("SameCycle")
        self._SourceTaskCycle = params.get("SourceTaskCycle")
        self._TargetTaskCycle = params.get("TargetTaskCycle")
        self._TargetTaskAction = params.get("TargetTaskAction")
        if params.get("MapParamList") is not None:
            self._MapParamList = []
            for item in params.get("MapParamList"):
                obj = StrToStrMap()
                obj._deserialize(item)
                self._MapParamList.append(obj)
        if params.get("MakeExtList") is not None:
            self._MakeExtList = []
            for item in params.get("MakeExtList"):
                obj = StrToStrMap()
                obj._deserialize(item)
                self._MakeExtList.append(obj)
        self._CreatorId = params.get("CreatorId")
        self._Creator = params.get("Creator")
        self._CreateTime = params.get("CreateTime")
        self._TaskIdList = params.get("TaskIdList")
        if params.get("MakeDatetimeList") is not None:
            self._MakeDatetimeList = []
            for item in params.get("MakeDatetimeList"):
                obj = CreateMakeDatetimeInfo()
                obj._deserialize(item)
                self._MakeDatetimeList.append(obj)
        self._Remark = params.get("Remark")
        self._SchedulerResourceGroup = params.get("SchedulerResourceGroup")
        self._SchedulerResourceGroupName = params.get("SchedulerResourceGroupName")
        self._IntegrationResourceGroup = params.get("IntegrationResourceGroup")
        self._IntegrationResourceGroupName = params.get("IntegrationResourceGroupName")
        self._TaskCount = params.get("TaskCount")
        self._CompletePercent = params.get("CompletePercent")
        self._SuccessPercent = params.get("SuccessPercent")
        self._CheckParentType = params.get("CheckParentType")
        self._SameSelfWorkflowDependType = params.get("SameSelfWorkflowDependType")
        self._SelfWorkflowDependency = params.get("SelfWorkflowDependency")
        self._MakeDataTimeOrder = params.get("MakeDataTimeOrder")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._AppParam = params.get("AppParam")
        self._TimeType = params.get("TimeType")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._FailurePercent = params.get("FailurePercent")
        if params.get("AlarmRule") is not None:
            self._AlarmRule = MakePlanAlarmRule()
            self._AlarmRule._deserialize(params.get("AlarmRule"))
        self._RunType = params.get("RunType")
        self._RunDateTime = params.get("RunDateTime")
        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 MakePlanOpsDtoCollection(AbstractModel):
    r"""补录计划集合

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of MakePlanOpsDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of MakePlanOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = MakePlanOpsDto()
                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 MakePlanTaskOpsDto(AbstractModel):
    r"""补录计划任务

    """

    def __init__(self):
        r"""
        :param _TaskBaseInfo: 任务基本信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskBaseInfo: :class:`tencentcloud.wedata.v20210820.models.TaskOpsDto`
        :param _InstanceCount: 补录该任务当前已生成的实例数
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceCount: int
        :param _CompletePercent: 补录任务实例完成百分数
注意：此字段可能返回 null，表示取不到有效值。
        :type CompletePercent: int
        :param _SuccessPercent: 补录任务实例成功百分数
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessPercent: int
        :param _InstanceTotalCount: 预计生成的总实例个数，由于是异步生成，-1代表实例还未完全生成
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceTotalCount: int
        :param _FailurePercent: 补录任务实例失败百分数
注意：此字段可能返回 null，表示取不到有效值。
        :type FailurePercent: int
        """
        self._TaskBaseInfo = None
        self._InstanceCount = None
        self._CompletePercent = None
        self._SuccessPercent = None
        self._InstanceTotalCount = None
        self._FailurePercent = None

    @property
    def TaskBaseInfo(self):
        r"""任务基本信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskOpsDto`
        """
        return self._TaskBaseInfo

    @TaskBaseInfo.setter
    def TaskBaseInfo(self, TaskBaseInfo):
        self._TaskBaseInfo = TaskBaseInfo

    @property
    def InstanceCount(self):
        r"""补录该任务当前已生成的实例数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceCount

    @InstanceCount.setter
    def InstanceCount(self, InstanceCount):
        self._InstanceCount = InstanceCount

    @property
    def CompletePercent(self):
        r"""补录任务实例完成百分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CompletePercent

    @CompletePercent.setter
    def CompletePercent(self, CompletePercent):
        self._CompletePercent = CompletePercent

    @property
    def SuccessPercent(self):
        r"""补录任务实例成功百分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessPercent

    @SuccessPercent.setter
    def SuccessPercent(self, SuccessPercent):
        self._SuccessPercent = SuccessPercent

    @property
    def InstanceTotalCount(self):
        r"""预计生成的总实例个数，由于是异步生成，-1代表实例还未完全生成
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceTotalCount

    @InstanceTotalCount.setter
    def InstanceTotalCount(self, InstanceTotalCount):
        self._InstanceTotalCount = InstanceTotalCount

    @property
    def FailurePercent(self):
        r"""补录任务实例失败百分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailurePercent

    @FailurePercent.setter
    def FailurePercent(self, FailurePercent):
        self._FailurePercent = FailurePercent


    def _deserialize(self, params):
        if params.get("TaskBaseInfo") is not None:
            self._TaskBaseInfo = TaskOpsDto()
            self._TaskBaseInfo._deserialize(params.get("TaskBaseInfo"))
        self._InstanceCount = params.get("InstanceCount")
        self._CompletePercent = params.get("CompletePercent")
        self._SuccessPercent = params.get("SuccessPercent")
        self._InstanceTotalCount = params.get("InstanceTotalCount")
        self._FailurePercent = params.get("FailurePercent")
        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 MakePlanTaskOpsDtoCollection(AbstractModel):
    r"""补录计划任务集合

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPage: 记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of MakePlanTaskOpsDto
        """
        self._TotalCount = None
        self._TotalPage = None
        self._PageCount = None
        self._PageNumber = None
        self._PageSize = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPage(self):
        r"""记录总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""当前页记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of MakePlanTaskOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = MakePlanTaskOpsDto()
                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 ManualTriggerRecordOpsDto(AbstractModel):
    r"""手动工作流触发运行记录实体

    """

    def __init__(self):
        r"""
        :param _TriggerId: <p>运行触发记录ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerId: str
        :param _TriggerName: <p>用户提交运行时配置的运行名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerName: str
        :param _Remark: <p>用户提交运行的备注</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Remark: str
        :param _DatetimeList: <p>数据时间列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DatetimeList: list of str
        :param _TaskCnt: <p>任务数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCnt: int
        :param _InstanceCnt: <p>实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceCnt: int
        :param _FinishedInstanceCnt: <p>已完成的实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FinishedInstanceCnt: int
        :param _SuccessInstanceCnt: <p>成功的实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SuccessInstanceCnt: int
        :param _Status: <p>记录运行状态<br> INIT, RUNNING, FINISHED</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _TriggerParams: <p>用户提交运行时的入参，主要用于前端反显和记录原始提交信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerParams: str
        :param _OwnerUin: <p>用户主账号ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _UserUin: <p>用户ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserUin: str
        :param _UserName: <p>用户展示名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _TenantId: <p>租户ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _ProjectId: <p>项目ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _CreateTime: <p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ScheduleTimeZone: <p>数据实例时间的时区</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        :param _TimeType: <p>时间类型，DATA_TIME：数据时间、SCHEDULE_TIME：计划调度时间, 为空时会被当成DATA_TIME处理</p>
        :type TimeType: str
        :param _TriggerSource: <p>触发类型</p><p>枚举值：</p><ul><li>SUB_PROCESS_TRIGGER： 由嵌套工作流 SP 任务触发</li><li>SUB_PROCESS_MAKEUP： 由嵌套工作流 SP 任务补录触发</li><li>MANUAL_RUN_BY_USER： 手动触发</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerSource: str
        :param _TriggerSourceId: <p>触发实例ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerSourceId: str
        :param _ParentSpTaskId: <p>父嵌套工作流任务 ID。仅 <code>triggerSource</code> 以 <code>SUB_PROCESS_</code> 开头时有值</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSpTaskId: str
        :param _ParentSpInstanceName: <p>父嵌套工作流任务实例名称（即任务名称）。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSpInstanceName: str
        :param _ParentSpInstanceDataTime: <p>父嵌套工作流任务实例数据时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSpInstanceDataTime: str
        :param _ScheduleTimeList: <p>数据时间列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeList: list of str
        """
        self._TriggerId = None
        self._TriggerName = None
        self._Remark = None
        self._DatetimeList = None
        self._TaskCnt = None
        self._InstanceCnt = None
        self._FinishedInstanceCnt = None
        self._SuccessInstanceCnt = None
        self._Status = None
        self._TriggerParams = None
        self._OwnerUin = None
        self._UserUin = None
        self._UserName = None
        self._TenantId = None
        self._ProjectId = None
        self._CreateTime = None
        self._ScheduleTimeZone = None
        self._TimeType = None
        self._TriggerSource = None
        self._TriggerSourceId = None
        self._ParentSpTaskId = None
        self._ParentSpInstanceName = None
        self._ParentSpInstanceDataTime = None
        self._ScheduleTimeList = None

    @property
    def TriggerId(self):
        r"""<p>运行触发记录ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerId

    @TriggerId.setter
    def TriggerId(self, TriggerId):
        self._TriggerId = TriggerId

    @property
    def TriggerName(self):
        r"""<p>用户提交运行时配置的运行名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerName

    @TriggerName.setter
    def TriggerName(self, TriggerName):
        self._TriggerName = TriggerName

    @property
    def Remark(self):
        r"""<p>用户提交运行的备注</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def DatetimeList(self):
        r"""<p>数据时间列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._DatetimeList

    @DatetimeList.setter
    def DatetimeList(self, DatetimeList):
        self._DatetimeList = DatetimeList

    @property
    def TaskCnt(self):
        r"""<p>任务数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskCnt

    @TaskCnt.setter
    def TaskCnt(self, TaskCnt):
        self._TaskCnt = TaskCnt

    @property
    def InstanceCnt(self):
        r"""<p>实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceCnt

    @InstanceCnt.setter
    def InstanceCnt(self, InstanceCnt):
        self._InstanceCnt = InstanceCnt

    @property
    def FinishedInstanceCnt(self):
        r"""<p>已完成的实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FinishedInstanceCnt

    @FinishedInstanceCnt.setter
    def FinishedInstanceCnt(self, FinishedInstanceCnt):
        self._FinishedInstanceCnt = FinishedInstanceCnt

    @property
    def SuccessInstanceCnt(self):
        r"""<p>成功的实例数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SuccessInstanceCnt

    @SuccessInstanceCnt.setter
    def SuccessInstanceCnt(self, SuccessInstanceCnt):
        self._SuccessInstanceCnt = SuccessInstanceCnt

    @property
    def Status(self):
        r"""<p>记录运行状态<br> INIT, RUNNING, FINISHED</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TriggerParams(self):
        r"""<p>用户提交运行时的入参，主要用于前端反显和记录原始提交信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerParams

    @TriggerParams.setter
    def TriggerParams(self, TriggerParams):
        self._TriggerParams = TriggerParams

    @property
    def OwnerUin(self):
        r"""<p>用户主账号ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def UserUin(self):
        r"""<p>用户ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserUin

    @UserUin.setter
    def UserUin(self, UserUin):
        self._UserUin = UserUin

    @property
    def UserName(self):
        r"""<p>用户展示名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def TenantId(self):
        r"""<p>租户ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def ProjectId(self):
        r"""<p>项目ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CreateTime(self):
        r"""<p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ScheduleTimeZone(self):
        r"""<p>数据实例时间的时区</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def TimeType(self):
        r"""<p>时间类型，DATA_TIME：数据时间、SCHEDULE_TIME：计划调度时间, 为空时会被当成DATA_TIME处理</p>
        :rtype: str
        """
        return self._TimeType

    @TimeType.setter
    def TimeType(self, TimeType):
        self._TimeType = TimeType

    @property
    def TriggerSource(self):
        r"""<p>触发类型</p><p>枚举值：</p><ul><li>SUB_PROCESS_TRIGGER： 由嵌套工作流 SP 任务触发</li><li>SUB_PROCESS_MAKEUP： 由嵌套工作流 SP 任务补录触发</li><li>MANUAL_RUN_BY_USER： 手动触发</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerSource

    @TriggerSource.setter
    def TriggerSource(self, TriggerSource):
        self._TriggerSource = TriggerSource

    @property
    def TriggerSourceId(self):
        r"""<p>触发实例ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerSourceId

    @TriggerSourceId.setter
    def TriggerSourceId(self, TriggerSourceId):
        self._TriggerSourceId = TriggerSourceId

    @property
    def ParentSpTaskId(self):
        r"""<p>父嵌套工作流任务 ID。仅 <code>triggerSource</code> 以 <code>SUB_PROCESS_</code> 开头时有值</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSpTaskId

    @ParentSpTaskId.setter
    def ParentSpTaskId(self, ParentSpTaskId):
        self._ParentSpTaskId = ParentSpTaskId

    @property
    def ParentSpInstanceName(self):
        r"""<p>父嵌套工作流任务实例名称（即任务名称）。</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSpInstanceName

    @ParentSpInstanceName.setter
    def ParentSpInstanceName(self, ParentSpInstanceName):
        self._ParentSpInstanceName = ParentSpInstanceName

    @property
    def ParentSpInstanceDataTime(self):
        r"""<p>父嵌套工作流任务实例数据时间</p><p>参数格式：YYYY-MM-DD hh:mm:ss</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSpInstanceDataTime

    @ParentSpInstanceDataTime.setter
    def ParentSpInstanceDataTime(self, ParentSpInstanceDataTime):
        self._ParentSpInstanceDataTime = ParentSpInstanceDataTime

    @property
    def ScheduleTimeList(self):
        r"""<p>数据时间列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._ScheduleTimeList

    @ScheduleTimeList.setter
    def ScheduleTimeList(self, ScheduleTimeList):
        self._ScheduleTimeList = ScheduleTimeList


    def _deserialize(self, params):
        self._TriggerId = params.get("TriggerId")
        self._TriggerName = params.get("TriggerName")
        self._Remark = params.get("Remark")
        self._DatetimeList = params.get("DatetimeList")
        self._TaskCnt = params.get("TaskCnt")
        self._InstanceCnt = params.get("InstanceCnt")
        self._FinishedInstanceCnt = params.get("FinishedInstanceCnt")
        self._SuccessInstanceCnt = params.get("SuccessInstanceCnt")
        self._Status = params.get("Status")
        self._TriggerParams = params.get("TriggerParams")
        self._OwnerUin = params.get("OwnerUin")
        self._UserUin = params.get("UserUin")
        self._UserName = params.get("UserName")
        self._TenantId = params.get("TenantId")
        self._ProjectId = params.get("ProjectId")
        self._CreateTime = params.get("CreateTime")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._TimeType = params.get("TimeType")
        self._TriggerSource = params.get("TriggerSource")
        self._TriggerSourceId = params.get("TriggerSourceId")
        self._ParentSpTaskId = params.get("ParentSpTaskId")
        self._ParentSpInstanceName = params.get("ParentSpInstanceName")
        self._ParentSpInstanceDataTime = params.get("ParentSpInstanceDataTime")
        self._ScheduleTimeList = params.get("ScheduleTimeList")
        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 ManualTriggerRecordOpsDtoPage(AbstractModel):
    r"""手动工作流触发运行记录分页查询

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页号
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Items: 手动工作流触发运行记录
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of ManualTriggerRecordOpsDto
        :param _TotalPage: 总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPage: int
        :param _PageCount: 页数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        """
        self._PageNumber = None
        self._PageSize = None
        self._Items = None
        self._TotalPage = None
        self._PageCount = None
        self._TotalCount = None

    @property
    def PageNumber(self):
        r"""页号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""手动工作流触发运行记录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ManualTriggerRecordOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalPage(self):
        r"""总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = ManualTriggerRecordOpsDto()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._TotalCount = params.get("TotalCount")
        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 ModifyApproveStatusRequest(AbstractModel):
    r"""ModifyApproveStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ApproveIds: 审批单ids
        :type ApproveIds: list of str
        :param _Remark: 审批备注
        :type Remark: str
        :param _Status: 状态
        :type Status: str
        """
        self._ApproveIds = None
        self._Remark = None
        self._Status = None

    @property
    def ApproveIds(self):
        r"""审批单ids
        :rtype: list of str
        """
        return self._ApproveIds

    @ApproveIds.setter
    def ApproveIds(self, ApproveIds):
        self._ApproveIds = ApproveIds

    @property
    def Remark(self):
        r"""审批备注
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def Status(self):
        r"""状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status


    def _deserialize(self, params):
        self._ApproveIds = params.get("ApproveIds")
        self._Remark = params.get("Remark")
        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 ModifyApproveStatusResponse(AbstractModel):
    r"""ModifyApproveStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 修改审批单状态
        :type Data: list of ApproveModify
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""修改审批单状态
        :rtype: list of ApproveModify
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ApproveModify()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class ModifyDataSourceRequest(AbstractModel):
    r"""ModifyDataSource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Name: 数据源名称，在相同SpaceName下，数据源名称不能为空
        :type Name: str
        :param _Category: 数据源类别：绑定引擎、绑定数据库
        :type Category: str
        :param _Type: 数据源类型:枚举值
        :type Type: str
        :param _ID: 数据源ID
        :type ID: int
        :param _BizParams: 业务侧数据源的配置信息扩展
        :type BizParams: str
        :param _Params: 数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
        :type Params: str
        :param _Description: 数据源描述信息
        :type Description: str
        :param _Display: 数据源展示名，为了可视化查看
        :type Display: str
        :param _DatabaseName: 若数据源列表为绑定数据库，则为db名称
        :type DatabaseName: str
        :param _Instance: 数据源引擎的实例ID，如CDB实例ID
        :type Instance: str
        :param _Status: 数据源数据源的可见性，1为可见、0为不可见。默认为1
        :type Status: int
        :param _ClusterId: 数据源所属的业务空间名称
        :type ClusterId: str
        :param _Collect: 是否采集
        :type Collect: str
        :param _OwnerProjectId: 项目id
        :type OwnerProjectId: str
        :param _OwnerProjectName: 项目名称
        :type OwnerProjectName: str
        :param _OwnerProjectIdent: 项目中文名
        :type OwnerProjectIdent: str
        :param _COSBucket: cos bucket
        :type COSBucket: str
        :param _COSRegion: cos region
        :type COSRegion: str
        :param _ProjectId: 操作项目id
        :type ProjectId: str
        :param _DevelopmentParams: 数据源开发环境配置
        :type DevelopmentParams: str
        """
        self._Name = None
        self._Category = None
        self._Type = None
        self._ID = None
        self._BizParams = None
        self._Params = None
        self._Description = None
        self._Display = None
        self._DatabaseName = None
        self._Instance = None
        self._Status = None
        self._ClusterId = None
        self._Collect = None
        self._OwnerProjectId = None
        self._OwnerProjectName = None
        self._OwnerProjectIdent = None
        self._COSBucket = None
        self._COSRegion = None
        self._ProjectId = None
        self._DevelopmentParams = None

    @property
    def Name(self):
        r"""数据源名称，在相同SpaceName下，数据源名称不能为空
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Category(self):
        r"""数据源类别：绑定引擎、绑定数据库
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Type(self):
        r"""数据源类型:枚举值
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ID(self):
        r"""数据源ID
        :rtype: int
        """
        return self._ID

    @ID.setter
    def ID(self, ID):
        self._ID = ID

    @property
    def BizParams(self):
        r"""业务侧数据源的配置信息扩展
        :rtype: str
        """
        return self._BizParams

    @BizParams.setter
    def BizParams(self, BizParams):
        self._BizParams = BizParams

    @property
    def Params(self):
        r"""数据源的配置信息，以JSON KV存储，根据每个数据源类型不同，而KV存储信息不同
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def Description(self):
        r"""数据源描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Display(self):
        r"""数据源展示名，为了可视化查看
        :rtype: str
        """
        return self._Display

    @Display.setter
    def Display(self, Display):
        self._Display = Display

    @property
    def DatabaseName(self):
        r"""若数据源列表为绑定数据库，则为db名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def Instance(self):
        r"""数据源引擎的实例ID，如CDB实例ID
        :rtype: str
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Status(self):
        r"""数据源数据源的可见性，1为可见、0为不可见。默认为1
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def ClusterId(self):
        r"""数据源所属的业务空间名称
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def Collect(self):
        r"""是否采集
        :rtype: str
        """
        return self._Collect

    @Collect.setter
    def Collect(self, Collect):
        self._Collect = Collect

    @property
    def OwnerProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._OwnerProjectId

    @OwnerProjectId.setter
    def OwnerProjectId(self, OwnerProjectId):
        self._OwnerProjectId = OwnerProjectId

    @property
    def OwnerProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._OwnerProjectName

    @OwnerProjectName.setter
    def OwnerProjectName(self, OwnerProjectName):
        self._OwnerProjectName = OwnerProjectName

    @property
    def OwnerProjectIdent(self):
        r"""项目中文名
        :rtype: str
        """
        return self._OwnerProjectIdent

    @OwnerProjectIdent.setter
    def OwnerProjectIdent(self, OwnerProjectIdent):
        self._OwnerProjectIdent = OwnerProjectIdent

    @property
    def COSBucket(self):
        r"""cos bucket
        :rtype: str
        """
        return self._COSBucket

    @COSBucket.setter
    def COSBucket(self, COSBucket):
        self._COSBucket = COSBucket

    @property
    def COSRegion(self):
        r"""cos region
        :rtype: str
        """
        return self._COSRegion

    @COSRegion.setter
    def COSRegion(self, COSRegion):
        self._COSRegion = COSRegion

    @property
    def ProjectId(self):
        r"""操作项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DevelopmentParams(self):
        r"""数据源开发环境配置
        :rtype: str
        """
        return self._DevelopmentParams

    @DevelopmentParams.setter
    def DevelopmentParams(self, DevelopmentParams):
        self._DevelopmentParams = DevelopmentParams


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Category = params.get("Category")
        self._Type = params.get("Type")
        self._ID = params.get("ID")
        self._BizParams = params.get("BizParams")
        self._Params = params.get("Params")
        self._Description = params.get("Description")
        self._Display = params.get("Display")
        self._DatabaseName = params.get("DatabaseName")
        self._Instance = params.get("Instance")
        self._Status = params.get("Status")
        self._ClusterId = params.get("ClusterId")
        self._Collect = params.get("Collect")
        self._OwnerProjectId = params.get("OwnerProjectId")
        self._OwnerProjectName = params.get("OwnerProjectName")
        self._OwnerProjectIdent = params.get("OwnerProjectIdent")
        self._COSBucket = params.get("COSBucket")
        self._COSRegion = params.get("COSRegion")
        self._ProjectId = params.get("ProjectId")
        self._DevelopmentParams = params.get("DevelopmentParams")
        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 ModifyDataSourceResponse(AbstractModel):
    r"""ModifyDataSource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyDimensionWeightRequest(AbstractModel):
    r"""ModifyDimensionWeight请求参数结构体

    """

    def __init__(self):
        r"""
        :param _WeightInfoList: 权重信息列表
        :type WeightInfoList: list of WeightInfo
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Refresh: 是否重刷历史数据
        :type Refresh: bool
        """
        self._WeightInfoList = None
        self._ProjectId = None
        self._Refresh = None

    @property
    def WeightInfoList(self):
        r"""权重信息列表
        :rtype: list of WeightInfo
        """
        return self._WeightInfoList

    @WeightInfoList.setter
    def WeightInfoList(self, WeightInfoList):
        self._WeightInfoList = WeightInfoList

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Refresh(self):
        r"""是否重刷历史数据
        :rtype: bool
        """
        return self._Refresh

    @Refresh.setter
    def Refresh(self, Refresh):
        self._Refresh = Refresh


    def _deserialize(self, params):
        if params.get("WeightInfoList") is not None:
            self._WeightInfoList = []
            for item in params.get("WeightInfoList"):
                obj = WeightInfo()
                obj._deserialize(item)
                self._WeightInfoList.append(obj)
        self._ProjectId = params.get("ProjectId")
        self._Refresh = params.get("Refresh")
        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 ModifyDimensionWeightResponse(AbstractModel):
    r"""ModifyDimensionWeight返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 更新权重是否成功
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""更新权重是否成功
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyDsFolderRequest(AbstractModel):
    r"""ModifyDsFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _FolderName: 文件夹名称
        :type FolderName: str
        :param _FolderId: 文件夹Id
        :type FolderId: str
        :param _ParentsFolderId: 父文件夹ID
        :type ParentsFolderId: str
        """
        self._ProjectId = None
        self._FolderName = None
        self._FolderId = None
        self._ParentsFolderId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderName(self):
        r"""文件夹名称
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def FolderId(self):
        r"""文件夹Id
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def ParentsFolderId(self):
        r"""父文件夹ID
        :rtype: str
        """
        return self._ParentsFolderId

    @ParentsFolderId.setter
    def ParentsFolderId(self, ParentsFolderId):
        self._ParentsFolderId = ParentsFolderId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FolderName = params.get("FolderName")
        self._FolderId = params.get("FolderId")
        self._ParentsFolderId = params.get("ParentsFolderId")
        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 ModifyDsFolderResponse(AbstractModel):
    r"""ModifyDsFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true代表成功，false代表失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true代表成功，false代表失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyExecStrategyRequest(AbstractModel):
    r"""ModifyExecStrategy请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
        :type MonitorType: int
        :param _ExecQueue: 计算队列
        :type ExecQueue: str
        :param _ExecutorGroupId: 执行资源组ID
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 执行资源组名称
        :type ExecutorGroupName: str
        :param _Tasks: 关联的生产调度任务列表
        :type Tasks: list of ProdSchedulerTask
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _StartTime: 离线周期模式下,生效日期-开始时间
        :type StartTime: str
        :param _EndTime: 离线周期模式下,生效日期-结束时间
        :type EndTime: str
        :param _CycleType: 离线周期模式下,调度周期 
MINUTE_CYCLE:I,
HOUR_CYCLE:H,
DAY_CYCLE:D,
WEEK_CYCLE:W,
MONTH_CYCLE:M
        :type CycleType: str
        :param _CycleStep: 离线周期模式下,调度步长
        :type CycleStep: int
        :param _TaskAction: 离线周期模式下,指定时间
        :type TaskAction: str
        :param _DelayTime: 延时执行时间，单位分钟，可选: <0-1439
        :type DelayTime: int
        :param _DatabaseId: 数据库Id
        :type DatabaseId: str
        :param _DatasourceId: 数据源Id
        :type DatasourceId: str
        :param _TableId: 数据表Id
        :type TableId: str
        :param _ExecEngineType: 运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :type ExecEngineType: str
        :param _TriggerTypes: 触发场景
        :type TriggerTypes: list of str
        """
        self._RuleGroupId = None
        self._MonitorType = None
        self._ExecQueue = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._Tasks = None
        self._ProjectId = None
        self._StartTime = None
        self._EndTime = None
        self._CycleType = None
        self._CycleStep = None
        self._TaskAction = None
        self._DelayTime = None
        self._DatabaseId = None
        self._DatasourceId = None
        self._TableId = None
        self._ExecEngineType = None
        self._TriggerTypes = None

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def MonitorType(self):
        r"""监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def ExecQueue(self):
        r"""计算队列
        :rtype: str
        """
        return self._ExecQueue

    @ExecQueue.setter
    def ExecQueue(self, ExecQueue):
        self._ExecQueue = ExecQueue

    @property
    def ExecutorGroupId(self):
        r"""执行资源组ID
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""执行资源组名称
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def Tasks(self):
        r"""关联的生产调度任务列表
        :rtype: list of ProdSchedulerTask
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def StartTime(self):
        r"""离线周期模式下,生效日期-开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""离线周期模式下,生效日期-结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CycleType(self):
        r"""离线周期模式下,调度周期 
MINUTE_CYCLE:I,
HOUR_CYCLE:H,
DAY_CYCLE:D,
WEEK_CYCLE:W,
MONTH_CYCLE:M
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""离线周期模式下,调度步长
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def TaskAction(self):
        r"""离线周期模式下,指定时间
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def DelayTime(self):
        r"""延时执行时间，单位分钟，可选: <0-1439
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def DatabaseId(self):
        r"""数据库Id
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatasourceId(self):
        r"""数据源Id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def TableId(self):
        r"""数据表Id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def ExecEngineType(self):
        r"""运行的执行引擎，不传时会请求该数据源下默认的执行引擎
        :rtype: str
        """
        return self._ExecEngineType

    @ExecEngineType.setter
    def ExecEngineType(self, ExecEngineType):
        self._ExecEngineType = ExecEngineType

    @property
    def TriggerTypes(self):
        r"""触发场景
        :rtype: list of str
        """
        return self._TriggerTypes

    @TriggerTypes.setter
    def TriggerTypes(self, TriggerTypes):
        self._TriggerTypes = TriggerTypes


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._MonitorType = params.get("MonitorType")
        self._ExecQueue = params.get("ExecQueue")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = ProdSchedulerTask()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._ProjectId = params.get("ProjectId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._TaskAction = params.get("TaskAction")
        self._DelayTime = params.get("DelayTime")
        self._DatabaseId = params.get("DatabaseId")
        self._DatasourceId = params.get("DatasourceId")
        self._TableId = params.get("TableId")
        self._ExecEngineType = params.get("ExecEngineType")
        self._TriggerTypes = params.get("TriggerTypes")
        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 ModifyExecStrategyResponse(AbstractModel):
    r"""ModifyExecStrategy返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyIntegrationNodeRequest(AbstractModel):
    r"""ModifyIntegrationNode请求参数结构体

    """

    def __init__(self):
        r"""
        :param _NodeInfo: 集成节点信息
        :type NodeInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型 "201. stream, 202. offline"
        :type TaskType: int
        :param _TaskMode: 区分画布模式和表单 "1. 画布, 2. 表单"模式
        :type TaskMode: int
        """
        self._NodeInfo = None
        self._ProjectId = None
        self._TaskType = None
        self._TaskMode = None

    @property
    def NodeInfo(self):
        r"""集成节点信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationNodeInfo`
        """
        return self._NodeInfo

    @NodeInfo.setter
    def NodeInfo(self, NodeInfo):
        self._NodeInfo = NodeInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型 "201. stream, 202. offline"
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TaskMode(self):
        r"""区分画布模式和表单 "1. 画布, 2. 表单"模式
        :rtype: int
        """
        return self._TaskMode

    @TaskMode.setter
    def TaskMode(self, TaskMode):
        self._TaskMode = TaskMode


    def _deserialize(self, params):
        if params.get("NodeInfo") is not None:
            self._NodeInfo = IntegrationNodeInfo()
            self._NodeInfo._deserialize(params.get("NodeInfo"))
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        self._TaskMode = params.get("TaskMode")
        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 ModifyIntegrationNodeResponse(AbstractModel):
    r"""ModifyIntegrationNode返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 节点id
        :type Id: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Id = None
        self._TaskId = None
        self._RequestId = None

    @property
    def Id(self):
        r"""节点id
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class ModifyIntegrationTaskRequest(AbstractModel):
    r"""ModifyIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskInfo: 任务信息
        :type TaskInfo: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _RollbackFlag: 默认false . 为true时表示走回滚节点逻辑
        :type RollbackFlag: bool
        """
        self._TaskInfo = None
        self._ProjectId = None
        self._RollbackFlag = None

    @property
    def TaskInfo(self):
        r"""任务信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.IntegrationTaskInfo`
        """
        return self._TaskInfo

    @TaskInfo.setter
    def TaskInfo(self, TaskInfo):
        self._TaskInfo = TaskInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RollbackFlag(self):
        r"""默认false . 为true时表示走回滚节点逻辑
        :rtype: bool
        """
        return self._RollbackFlag

    @RollbackFlag.setter
    def RollbackFlag(self, RollbackFlag):
        self._RollbackFlag = RollbackFlag


    def _deserialize(self, params):
        if params.get("TaskInfo") is not None:
            self._TaskInfo = IntegrationTaskInfo()
            self._TaskInfo._deserialize(params.get("TaskInfo"))
        self._ProjectId = params.get("ProjectId")
        self._RollbackFlag = params.get("RollbackFlag")
        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 ModifyIntegrationTaskResponse(AbstractModel):
    r"""ModifyIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._TaskId = None
        self._RequestId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._RequestId = params.get("RequestId")


class ModifyMonitorStatusRequest(AbstractModel):
    r"""ModifyMonitorStatus请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _MonitorStatus: 监控开关状态
        :type MonitorStatus: bool
        """
        self._ProjectId = None
        self._RuleGroupId = None
        self._MonitorStatus = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def MonitorStatus(self):
        r"""监控开关状态
        :rtype: bool
        """
        return self._MonitorStatus

    @MonitorStatus.setter
    def MonitorStatus(self, MonitorStatus):
        self._MonitorStatus = MonitorStatus


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._MonitorStatus = params.get("MonitorStatus")
        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 ModifyMonitorStatusResponse(AbstractModel):
    r"""ModifyMonitorStatus返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 监控状态修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""监控状态修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyProjectRequest(AbstractModel):
    r"""ModifyProject请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 目标修改的项目ID
        :type ProjectId: str
        :param _DisplayName: 项目显示名称，可以为中文名,需要租户范围内唯一
        :type DisplayName: str
        :param _Description: 备注
        :type Description: str
        :param _TaskSubmitApproval: true/false则修改，不带该参数不修改。
        :type TaskSubmitApproval: bool
        :param _ResourcePoolInfo: 资源池信息
        :type ResourcePoolInfo: :class:`tencentcloud.wedata.v20210820.models.ResourcePoolInfo`
        :param _ProjectManagers: 项目管理员
        :type ProjectManagers: list of str
        :param _TaskStrictMode: 调度任务严格模式
        :type TaskStrictMode: bool
        :param _ExtraOptions: 以后新增选项可以直接通过前端的json格式写入去实现
        :type ExtraOptions: str
        :param _Model: 项目类型，SIMPLE：简单模式 STANDARD：标准模式
        :type Model: str
        :param _ProjectOwner: 项目负责人
        :type ProjectOwner: list of str
        :param _ModifyType: 更新类型
        :type ModifyType: str
        """
        self._ProjectId = None
        self._DisplayName = None
        self._Description = None
        self._TaskSubmitApproval = None
        self._ResourcePoolInfo = None
        self._ProjectManagers = None
        self._TaskStrictMode = None
        self._ExtraOptions = None
        self._Model = None
        self._ProjectOwner = None
        self._ModifyType = None

    @property
    def ProjectId(self):
        r"""目标修改的项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DisplayName(self):
        r"""项目显示名称，可以为中文名,需要租户范围内唯一
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def Description(self):
        r"""备注
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def TaskSubmitApproval(self):
        r"""true/false则修改，不带该参数不修改。
        :rtype: bool
        """
        return self._TaskSubmitApproval

    @TaskSubmitApproval.setter
    def TaskSubmitApproval(self, TaskSubmitApproval):
        self._TaskSubmitApproval = TaskSubmitApproval

    @property
    def ResourcePoolInfo(self):
        r"""资源池信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ResourcePoolInfo`
        """
        return self._ResourcePoolInfo

    @ResourcePoolInfo.setter
    def ResourcePoolInfo(self, ResourcePoolInfo):
        self._ResourcePoolInfo = ResourcePoolInfo

    @property
    def ProjectManagers(self):
        r"""项目管理员
        :rtype: list of str
        """
        return self._ProjectManagers

    @ProjectManagers.setter
    def ProjectManagers(self, ProjectManagers):
        self._ProjectManagers = ProjectManagers

    @property
    def TaskStrictMode(self):
        r"""调度任务严格模式
        :rtype: bool
        """
        return self._TaskStrictMode

    @TaskStrictMode.setter
    def TaskStrictMode(self, TaskStrictMode):
        self._TaskStrictMode = TaskStrictMode

    @property
    def ExtraOptions(self):
        r"""以后新增选项可以直接通过前端的json格式写入去实现
        :rtype: str
        """
        return self._ExtraOptions

    @ExtraOptions.setter
    def ExtraOptions(self, ExtraOptions):
        self._ExtraOptions = ExtraOptions

    @property
    def Model(self):
        r"""项目类型，SIMPLE：简单模式 STANDARD：标准模式
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def ProjectOwner(self):
        r"""项目负责人
        :rtype: list of str
        """
        return self._ProjectOwner

    @ProjectOwner.setter
    def ProjectOwner(self, ProjectOwner):
        self._ProjectOwner = ProjectOwner

    @property
    def ModifyType(self):
        r"""更新类型
        :rtype: str
        """
        return self._ModifyType

    @ModifyType.setter
    def ModifyType(self, ModifyType):
        self._ModifyType = ModifyType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._DisplayName = params.get("DisplayName")
        self._Description = params.get("Description")
        self._TaskSubmitApproval = params.get("TaskSubmitApproval")
        if params.get("ResourcePoolInfo") is not None:
            self._ResourcePoolInfo = ResourcePoolInfo()
            self._ResourcePoolInfo._deserialize(params.get("ResourcePoolInfo"))
        self._ProjectManagers = params.get("ProjectManagers")
        self._TaskStrictMode = params.get("TaskStrictMode")
        self._ExtraOptions = params.get("ExtraOptions")
        self._Model = params.get("Model")
        self._ProjectOwner = params.get("ProjectOwner")
        self._ModifyType = params.get("ModifyType")
        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 ModifyProjectResponse(AbstractModel):
    r"""ModifyProject返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestId = None

    @property
    def RequestId(self):
        r"""唯一请求 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 ModifyRuleGroupSubscriptionRequest(AbstractModel):
    r"""ModifyRuleGroupSubscription请求参数结构体

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _Receivers: 订阅人信息
        :type Receivers: list of SubscribeReceiver
        :param _SubscribeType: 订阅类型
        :type SubscribeType: list of int non-negative
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _DatabaseId: 数据库Id
        :type DatabaseId: str
        :param _DatasourceId: 数据源Id
        :type DatasourceId: str
        :param _TableId: 数据表Id
        :type TableId: str
        :param _WebHooks: 群机器人webhook信息
        :type WebHooks: list of SubscribeWebHook
        """
        self._RuleGroupId = None
        self._Receivers = None
        self._SubscribeType = None
        self._ProjectId = None
        self._DatabaseId = None
        self._DatasourceId = None
        self._TableId = None
        self._WebHooks = None

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def Receivers(self):
        r"""订阅人信息
        :rtype: list of SubscribeReceiver
        """
        return self._Receivers

    @Receivers.setter
    def Receivers(self, Receivers):
        self._Receivers = Receivers

    @property
    def SubscribeType(self):
        r"""订阅类型
        :rtype: list of int non-negative
        """
        return self._SubscribeType

    @SubscribeType.setter
    def SubscribeType(self, SubscribeType):
        self._SubscribeType = SubscribeType

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatabaseId(self):
        r"""数据库Id
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatasourceId(self):
        r"""数据源Id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def TableId(self):
        r"""数据表Id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def WebHooks(self):
        r"""群机器人webhook信息
        :rtype: list of SubscribeWebHook
        """
        return self._WebHooks

    @WebHooks.setter
    def WebHooks(self, WebHooks):
        self._WebHooks = WebHooks


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        if params.get("Receivers") is not None:
            self._Receivers = []
            for item in params.get("Receivers"):
                obj = SubscribeReceiver()
                obj._deserialize(item)
                self._Receivers.append(obj)
        self._SubscribeType = params.get("SubscribeType")
        self._ProjectId = params.get("ProjectId")
        self._DatabaseId = params.get("DatabaseId")
        self._DatasourceId = params.get("DatasourceId")
        self._TableId = params.get("TableId")
        if params.get("WebHooks") is not None:
            self._WebHooks = []
            for item in params.get("WebHooks"):
                obj = SubscribeWebHook()
                obj._deserialize(item)
                self._WebHooks.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 ModifyRuleGroupSubscriptionResponse(AbstractModel):
    r"""ModifyRuleGroupSubscription返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyRuleRequest(AbstractModel):
    r"""ModifyRule请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _RuleId: 规则ID
        :type RuleId: int
        :param _RuleGroupId: 规则组ID
        :type RuleGroupId: int
        :param _Name: 规则名称
        :type Name: str
        :param _TableId: 数据表ID
        :type TableId: str
        :param _RuleTemplateId: 规则模板ID
        :type RuleTemplateId: int
        :param _Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        :type Type: int
        :param _QualityDim: 规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性）
        :type QualityDim: int
        :param _SourceObjectDataTypeName: 源字段详细类型，int、string
        :type SourceObjectDataTypeName: str
        :param _SourceObjectValue: 源字段名称
        :type SourceObjectValue: str
        :param _ConditionType: 检测范围 1.全表   2.条件扫描
        :type ConditionType: int
        :param _ConditionExpression: 条件扫描WHERE条件表达式
        :type ConditionExpression: str
        :param _CustomSql: 自定义SQL
        :type CustomSql: str
        :param _CompareRule: 报警触发条件
        :type CompareRule: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        :param _AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
        :type AlarmLevel: int
        :param _Description: 规则描述
        :type Description: str
        :param _TargetDatabaseId: 目标库Id
        :type TargetDatabaseId: str
        :param _TargetTableId: 目标表Id
        :type TargetTableId: str
        :param _TargetConditionExpr: 目标过滤条件表达式
        :type TargetConditionExpr: str
        :param _RelConditionExpr: 源字段与目标字段关联条件on表达式
        :type RelConditionExpr: str
        :param _FieldConfig: 自定义模版sql表达式字段替换参数
        :type FieldConfig: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        :param _TargetObjectValue: 目标字段名称  CITY
        :type TargetObjectValue: str
        :param _SourceEngineTypes: 该规则适配的执行引擎
        :type SourceEngineTypes: list of int non-negative
        :param _TargetDatabaseName: 目标库名
        :type TargetDatabaseName: str
        :param _TargetSchemaName: 目标模式名
        :type TargetSchemaName: str
        :param _TargetTableName: 目标表名
        :type TargetTableName: str
        :param _CatalogName: 目录
        :type CatalogName: str
        :param _TargetCatalogName: 目标目录
        :type TargetCatalogName: str
        """
        self._ProjectId = None
        self._RuleId = None
        self._RuleGroupId = None
        self._Name = None
        self._TableId = None
        self._RuleTemplateId = None
        self._Type = None
        self._QualityDim = None
        self._SourceObjectDataTypeName = None
        self._SourceObjectValue = None
        self._ConditionType = None
        self._ConditionExpression = None
        self._CustomSql = None
        self._CompareRule = None
        self._AlarmLevel = None
        self._Description = None
        self._TargetDatabaseId = None
        self._TargetTableId = None
        self._TargetConditionExpr = None
        self._RelConditionExpr = None
        self._FieldConfig = None
        self._TargetObjectValue = None
        self._SourceEngineTypes = None
        self._TargetDatabaseName = None
        self._TargetSchemaName = None
        self._TargetTableName = None
        self._CatalogName = None
        self._TargetCatalogName = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def RuleId(self):
        r"""规则ID
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def RuleGroupId(self):
        r"""规则组ID
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def Name(self):
        r"""规则名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def TableId(self):
        r"""数据表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def RuleTemplateId(self):
        r"""规则模板ID
        :rtype: int
        """
        return self._RuleTemplateId

    @RuleTemplateId.setter
    def RuleTemplateId(self, RuleTemplateId):
        self._RuleTemplateId = RuleTemplateId

    @property
    def Type(self):
        r"""规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def QualityDim(self):
        r"""规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性）
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def SourceObjectDataTypeName(self):
        r"""源字段详细类型，int、string
        :rtype: str
        """
        return self._SourceObjectDataTypeName

    @SourceObjectDataTypeName.setter
    def SourceObjectDataTypeName(self, SourceObjectDataTypeName):
        self._SourceObjectDataTypeName = SourceObjectDataTypeName

    @property
    def SourceObjectValue(self):
        r"""源字段名称
        :rtype: str
        """
        return self._SourceObjectValue

    @SourceObjectValue.setter
    def SourceObjectValue(self, SourceObjectValue):
        self._SourceObjectValue = SourceObjectValue

    @property
    def ConditionType(self):
        r"""检测范围 1.全表   2.条件扫描
        :rtype: int
        """
        return self._ConditionType

    @ConditionType.setter
    def ConditionType(self, ConditionType):
        self._ConditionType = ConditionType

    @property
    def ConditionExpression(self):
        r"""条件扫描WHERE条件表达式
        :rtype: str
        """
        return self._ConditionExpression

    @ConditionExpression.setter
    def ConditionExpression(self, ConditionExpression):
        self._ConditionExpression = ConditionExpression

    @property
    def CustomSql(self):
        r"""自定义SQL
        :rtype: str
        """
        return self._CustomSql

    @CustomSql.setter
    def CustomSql(self, CustomSql):
        self._CustomSql = CustomSql

    @property
    def CompareRule(self):
        r"""报警触发条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        """
        return self._CompareRule

    @CompareRule.setter
    def CompareRule(self, CompareRule):
        self._CompareRule = CompareRule

    @property
    def AlarmLevel(self):
        r"""报警触发级别 1.低, 2.中, 3.高
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def Description(self):
        r"""规则描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def TargetDatabaseId(self):
        r"""目标库Id
        :rtype: str
        """
        return self._TargetDatabaseId

    @TargetDatabaseId.setter
    def TargetDatabaseId(self, TargetDatabaseId):
        self._TargetDatabaseId = TargetDatabaseId

    @property
    def TargetTableId(self):
        r"""目标表Id
        :rtype: str
        """
        return self._TargetTableId

    @TargetTableId.setter
    def TargetTableId(self, TargetTableId):
        self._TargetTableId = TargetTableId

    @property
    def TargetConditionExpr(self):
        r"""目标过滤条件表达式
        :rtype: str
        """
        return self._TargetConditionExpr

    @TargetConditionExpr.setter
    def TargetConditionExpr(self, TargetConditionExpr):
        self._TargetConditionExpr = TargetConditionExpr

    @property
    def RelConditionExpr(self):
        r"""源字段与目标字段关联条件on表达式
        :rtype: str
        """
        return self._RelConditionExpr

    @RelConditionExpr.setter
    def RelConditionExpr(self, RelConditionExpr):
        self._RelConditionExpr = RelConditionExpr

    @property
    def FieldConfig(self):
        r"""自定义模版sql表达式字段替换参数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        """
        return self._FieldConfig

    @FieldConfig.setter
    def FieldConfig(self, FieldConfig):
        self._FieldConfig = FieldConfig

    @property
    def TargetObjectValue(self):
        r"""目标字段名称  CITY
        :rtype: str
        """
        return self._TargetObjectValue

    @TargetObjectValue.setter
    def TargetObjectValue(self, TargetObjectValue):
        self._TargetObjectValue = TargetObjectValue

    @property
    def SourceEngineTypes(self):
        r"""该规则适配的执行引擎
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes

    @property
    def TargetDatabaseName(self):
        r"""目标库名
        :rtype: str
        """
        return self._TargetDatabaseName

    @TargetDatabaseName.setter
    def TargetDatabaseName(self, TargetDatabaseName):
        self._TargetDatabaseName = TargetDatabaseName

    @property
    def TargetSchemaName(self):
        r"""目标模式名
        :rtype: str
        """
        return self._TargetSchemaName

    @TargetSchemaName.setter
    def TargetSchemaName(self, TargetSchemaName):
        self._TargetSchemaName = TargetSchemaName

    @property
    def TargetTableName(self):
        r"""目标表名
        :rtype: str
        """
        return self._TargetTableName

    @TargetTableName.setter
    def TargetTableName(self, TargetTableName):
        self._TargetTableName = TargetTableName

    @property
    def CatalogName(self):
        r"""目录
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def TargetCatalogName(self):
        r"""目标目录
        :rtype: str
        """
        return self._TargetCatalogName

    @TargetCatalogName.setter
    def TargetCatalogName(self, TargetCatalogName):
        self._TargetCatalogName = TargetCatalogName


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._RuleId = params.get("RuleId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._Name = params.get("Name")
        self._TableId = params.get("TableId")
        self._RuleTemplateId = params.get("RuleTemplateId")
        self._Type = params.get("Type")
        self._QualityDim = params.get("QualityDim")
        self._SourceObjectDataTypeName = params.get("SourceObjectDataTypeName")
        self._SourceObjectValue = params.get("SourceObjectValue")
        self._ConditionType = params.get("ConditionType")
        self._ConditionExpression = params.get("ConditionExpression")
        self._CustomSql = params.get("CustomSql")
        if params.get("CompareRule") is not None:
            self._CompareRule = CompareRule()
            self._CompareRule._deserialize(params.get("CompareRule"))
        self._AlarmLevel = params.get("AlarmLevel")
        self._Description = params.get("Description")
        self._TargetDatabaseId = params.get("TargetDatabaseId")
        self._TargetTableId = params.get("TargetTableId")
        self._TargetConditionExpr = params.get("TargetConditionExpr")
        self._RelConditionExpr = params.get("RelConditionExpr")
        if params.get("FieldConfig") is not None:
            self._FieldConfig = RuleFieldConfig()
            self._FieldConfig._deserialize(params.get("FieldConfig"))
        self._TargetObjectValue = params.get("TargetObjectValue")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        self._TargetDatabaseName = params.get("TargetDatabaseName")
        self._TargetSchemaName = params.get("TargetSchemaName")
        self._TargetTableName = params.get("TargetTableName")
        self._CatalogName = params.get("CatalogName")
        self._TargetCatalogName = params.get("TargetCatalogName")
        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 ModifyRuleResponse(AbstractModel):
    r"""ModifyRule返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否更新成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否更新成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyRuleTemplateRequest(AbstractModel):
    r"""ModifyRuleTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TemplateId: 模板ID
        :type TemplateId: int
        :param _Type: 模板类型  1.系统模板   2.自定义模板
        :type Type: int
        :param _Name: 模板名称
        :type Name: str
        :param _QualityDim: 质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        :type QualityDim: int
        :param _SourceObjectType: 源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        :type SourceObjectType: int
        :param _Description: 描述
        :type Description: str
        :param _SourceEngineTypes: 源端对应的引擎类型
        :type SourceEngineTypes: list of int non-negative
        :param _MultiSourceFlag: 是否关联其它库表
        :type MultiSourceFlag: bool
        :param _SqlExpression: SQL 表达式
        :type SqlExpression: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WhereFlag: 是否添加where参数
        :type WhereFlag: bool
        """
        self._TemplateId = None
        self._Type = None
        self._Name = None
        self._QualityDim = None
        self._SourceObjectType = None
        self._Description = None
        self._SourceEngineTypes = None
        self._MultiSourceFlag = None
        self._SqlExpression = None
        self._ProjectId = None
        self._WhereFlag = None

    @property
    def TemplateId(self):
        r"""模板ID
        :rtype: int
        """
        return self._TemplateId

    @TemplateId.setter
    def TemplateId(self, TemplateId):
        self._TemplateId = TemplateId

    @property
    def Type(self):
        r"""模板类型  1.系统模板   2.自定义模板
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Name(self):
        r"""模板名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def QualityDim(self):
        r"""质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def SourceObjectType(self):
        r"""源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        :rtype: int
        """
        return self._SourceObjectType

    @SourceObjectType.setter
    def SourceObjectType(self, SourceObjectType):
        self._SourceObjectType = SourceObjectType

    @property
    def Description(self):
        r"""描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def SourceEngineTypes(self):
        r"""源端对应的引擎类型
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes

    @property
    def MultiSourceFlag(self):
        r"""是否关联其它库表
        :rtype: bool
        """
        return self._MultiSourceFlag

    @MultiSourceFlag.setter
    def MultiSourceFlag(self, MultiSourceFlag):
        self._MultiSourceFlag = MultiSourceFlag

    @property
    def SqlExpression(self):
        r"""SQL 表达式
        :rtype: str
        """
        return self._SqlExpression

    @SqlExpression.setter
    def SqlExpression(self, SqlExpression):
        self._SqlExpression = SqlExpression

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WhereFlag(self):
        r"""是否添加where参数
        :rtype: bool
        """
        return self._WhereFlag

    @WhereFlag.setter
    def WhereFlag(self, WhereFlag):
        self._WhereFlag = WhereFlag


    def _deserialize(self, params):
        self._TemplateId = params.get("TemplateId")
        self._Type = params.get("Type")
        self._Name = params.get("Name")
        self._QualityDim = params.get("QualityDim")
        self._SourceObjectType = params.get("SourceObjectType")
        self._Description = params.get("Description")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        self._MultiSourceFlag = params.get("MultiSourceFlag")
        self._SqlExpression = params.get("SqlExpression")
        self._ProjectId = params.get("ProjectId")
        self._WhereFlag = params.get("WhereFlag")
        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 ModifyRuleTemplateResponse(AbstractModel):
    r"""ModifyRuleTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskAlarmRegularRequest(AbstractModel):
    r"""ModifyTaskAlarmRegular请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Id: 规则ID
        :type Id: str
        :param _TaskAlarmInfo: 规则信息
        :type TaskAlarmInfo: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._Id = None
        self._TaskAlarmInfo = None
        self._ProjectId = None

    @property
    def Id(self):
        r"""规则ID
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskAlarmInfo(self):
        r"""规则信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskAlarmInfo`
        """
        return self._TaskAlarmInfo

    @TaskAlarmInfo.setter
    def TaskAlarmInfo(self, TaskAlarmInfo):
        self._TaskAlarmInfo = TaskAlarmInfo

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Id = params.get("Id")
        if params.get("TaskAlarmInfo") is not None:
            self._TaskAlarmInfo = TaskAlarmInfo()
            self._TaskAlarmInfo._deserialize(params.get("TaskAlarmInfo"))
        self._ProjectId = params.get("ProjectId")
        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 ModifyTaskAlarmRegularResponse(AbstractModel):
    r"""ModifyTaskAlarmRegular返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 判断是否修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""判断是否修改成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskInfoDsRequest(AbstractModel):
    r"""ModifyTaskInfoDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _DelayTime: 执行时间，单位分钟，天/周/月/年调度才有。比如天调度，每天的02:00点执行一次，delayTime就是120分钟
        :type DelayTime: int
        :param _StartupTime: 启动时间：该字段已废弃，无需填写
        :type StartupTime: int
        :param _SelfDepend: 自依赖类型  1:有序串行 一次一个 排队  2: 无序串行 一次一个 不排队 3:并行 一次多个；暂不支持其他值
        :type SelfDepend: int
        :param _StartTime: 生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :type StartTime: str
        :param _EndTime: 生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :type EndTime: str
        :param _TaskAction: 调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为 0,3,4。设置该值时，请把CycleStep字段设置为1（如果原始值不为1）。
        :type TaskAction: str
        :param _CycleType: 周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :type CycleType: int
        :param _CycleStep: 小时和分钟任务才有；分钟任务：5、10、15、20、30，表示每隔5【或其他值】分钟执行一次；小时任务：1、2、3、4、5、6、7、8、9、10、11、12，表示每隔1【或其他值】小时执行一次。该值大于1时，请把TaskAction字段设置为空字符串。
        :type CycleStep: int
        :param _CrontabExpression: cron表达式  周期类型为crontab调度才需要
        :type CrontabExpression: str
        :param _ExecutionStartTime: 执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionEndTime: str
        :param _TaskName: 任务名，该字段废弃，请勿使用该字段重命名任务
        :type TaskName: str
        :param _RetryWait: 失败重试间隔,单位分钟，创建任务的时候已经给了默认值
        :type RetryWait: int
        :param _TryLimit: 失败重试次数，创建任务的时候已经给了默认值
        :type TryLimit: int
        :param _Retriable: 是否可重试，0代码不可重试，1代表可以重试；暂不支持其他值
        :type Retriable: int
        :param _RunPriority: 运行优先级，4高 5中 6低；暂不支持其他值
        :type RunPriority: int
        :param _TaskExt: 任务的扩展配置
        :type TaskExt: list of TaskExtInfo
        :param _ResourceGroup: 执行资源组Id，需要去资源管理服务上创建调度资源组，并且绑定cvm机器
        :type ResourceGroup: str
        :param _YarnQueue: 资源池队列名称
        :type YarnQueue: str
        :param _BrokerIp: 资源组下具体执行机，any 表示可以跑在任意一台。
        :type BrokerIp: str
        :param _InCharge: 责任人，多个责任人请用分号隔开
        :type InCharge: str
        :param _Notes: 任务备注
        :type Notes: str
        :param _TaskParamInfos: 任务参数
        :type TaskParamInfos: list of ParamInfo
        :param _SourceServer: 源数据源Id
        :type SourceServer: str
        :param _TargetServer: 目标数据源Id
        :type TargetServer: str
        :param _DependencyWorkflow: 是否支持工作流依赖 yes / no 默认 no
        :type DependencyWorkflow: str
        :param _DependencyConfigDTOs: 依赖配置,仅可修改上游任务实例配置方法
        :type DependencyConfigDTOs: list of DependencyConfig
        :param _ExecutionTTL: 运行耗时超时时间分钟数
        :type ExecutionTTL: int
        :param _ScriptChange: 脚本是否改变
        :type ScriptChange: bool
        :param _ScheduleTimeZone: 任务时区，仅支持整数时区配置
        :type ScheduleTimeZone: str
        :param _ScheduleRunType: 0 正常调度 1 空跑调度；暂不支持其他值
        :type ScheduleRunType: int
        :param _ConcurrentStrategy: 0 并发度达到上限时，本次排队等待 1 并发度达到上限时，本次不执行，直接kill；暂不支持其他值
        :type ConcurrentStrategy: int
        :param _RegisterDsEventPublisherRequest: shell任务发布事件
        :type RegisterDsEventPublisherRequest: :class:`tencentcloud.wedata.v20210820.models.RegisterDsEventPublisherReq`
        :param _Content: base64编码后脚本内容
        :type Content: str
        """
        self._ProjectId = None
        self._TaskId = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._TaskName = None
        self._RetryWait = None
        self._TryLimit = None
        self._Retriable = None
        self._RunPriority = None
        self._TaskExt = None
        self._ResourceGroup = None
        self._YarnQueue = None
        self._BrokerIp = None
        self._InCharge = None
        self._Notes = None
        self._TaskParamInfos = None
        self._SourceServer = None
        self._TargetServer = None
        self._DependencyWorkflow = None
        self._DependencyConfigDTOs = None
        self._ExecutionTTL = None
        self._ScriptChange = None
        self._ScheduleTimeZone = None
        self._ScheduleRunType = None
        self._ConcurrentStrategy = None
        self._RegisterDsEventPublisherRequest = None
        self._Content = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def DelayTime(self):
        r"""执行时间，单位分钟，天/周/月/年调度才有。比如天调度，每天的02:00点执行一次，delayTime就是120分钟
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间：该字段已废弃，无需填写
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""自依赖类型  1:有序串行 一次一个 排队  2: 无序串行 一次一个 不排队 3:并行 一次多个；暂不支持其他值
        :rtype: int
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def StartTime(self):
        r"""生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为 0,3,4。设置该值时，请把CycleStep字段设置为1（如果原始值不为1）。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CycleType(self):
        r"""周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""小时和分钟任务才有；分钟任务：5、10、15、20、30，表示每隔5【或其他值】分钟执行一次；小时任务：1、2、3、4、5、6、7、8、9、10、11、12，表示每隔1【或其他值】小时执行一次。该值大于1时，请把TaskAction字段设置为空字符串。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""cron表达式  周期类型为crontab调度才需要
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def TaskName(self):
        r"""任务名，该字段废弃，请勿使用该字段重命名任务
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def RetryWait(self):
        r"""失败重试间隔,单位分钟，创建任务的时候已经给了默认值
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def TryLimit(self):
        r"""失败重试次数，创建任务的时候已经给了默认值
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def Retriable(self):
        r"""是否可重试，0代码不可重试，1代表可以重试；暂不支持其他值
        :rtype: int
        """
        return self._Retriable

    @Retriable.setter
    def Retriable(self, Retriable):
        self._Retriable = Retriable

    @property
    def RunPriority(self):
        r"""运行优先级，4高 5中 6低；暂不支持其他值
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def TaskExt(self):
        r"""任务的扩展配置
        :rtype: list of TaskExtInfo
        """
        return self._TaskExt

    @TaskExt.setter
    def TaskExt(self, TaskExt):
        self._TaskExt = TaskExt

    @property
    def ResourceGroup(self):
        r"""执行资源组Id，需要去资源管理服务上创建调度资源组，并且绑定cvm机器
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def YarnQueue(self):
        r"""资源池队列名称
        :rtype: str
        """
        return self._YarnQueue

    @YarnQueue.setter
    def YarnQueue(self, YarnQueue):
        self._YarnQueue = YarnQueue

    @property
    def BrokerIp(self):
        r"""资源组下具体执行机，any 表示可以跑在任意一台。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def InCharge(self):
        r"""责任人，多个责任人请用分号隔开
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def Notes(self):
        r"""任务备注
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes

    @property
    def TaskParamInfos(self):
        r"""任务参数
        :rtype: list of ParamInfo
        """
        return self._TaskParamInfos

    @TaskParamInfos.setter
    def TaskParamInfos(self, TaskParamInfos):
        self._TaskParamInfos = TaskParamInfos

    @property
    def SourceServer(self):
        r"""源数据源Id
        :rtype: str
        """
        return self._SourceServer

    @SourceServer.setter
    def SourceServer(self, SourceServer):
        self._SourceServer = SourceServer

    @property
    def TargetServer(self):
        r"""目标数据源Id
        :rtype: str
        """
        return self._TargetServer

    @TargetServer.setter
    def TargetServer(self, TargetServer):
        self._TargetServer = TargetServer

    @property
    def DependencyWorkflow(self):
        r"""是否支持工作流依赖 yes / no 默认 no
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def DependencyConfigDTOs(self):
        r"""依赖配置,仅可修改上游任务实例配置方法
        :rtype: list of DependencyConfig
        """
        return self._DependencyConfigDTOs

    @DependencyConfigDTOs.setter
    def DependencyConfigDTOs(self, DependencyConfigDTOs):
        self._DependencyConfigDTOs = DependencyConfigDTOs

    @property
    def ExecutionTTL(self):
        r"""运行耗时超时时间分钟数
        :rtype: int
        """
        return self._ExecutionTTL

    @ExecutionTTL.setter
    def ExecutionTTL(self, ExecutionTTL):
        self._ExecutionTTL = ExecutionTTL

    @property
    def ScriptChange(self):
        r"""脚本是否改变
        :rtype: bool
        """
        return self._ScriptChange

    @ScriptChange.setter
    def ScriptChange(self, ScriptChange):
        self._ScriptChange = ScriptChange

    @property
    def ScheduleTimeZone(self):
        r"""任务时区，仅支持整数时区配置
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def ScheduleRunType(self):
        r"""0 正常调度 1 空跑调度；暂不支持其他值
        :rtype: int
        """
        return self._ScheduleRunType

    @ScheduleRunType.setter
    def ScheduleRunType(self, ScheduleRunType):
        self._ScheduleRunType = ScheduleRunType

    @property
    def ConcurrentStrategy(self):
        r"""0 并发度达到上限时，本次排队等待 1 并发度达到上限时，本次不执行，直接kill；暂不支持其他值
        :rtype: int
        """
        return self._ConcurrentStrategy

    @ConcurrentStrategy.setter
    def ConcurrentStrategy(self, ConcurrentStrategy):
        self._ConcurrentStrategy = ConcurrentStrategy

    @property
    def RegisterDsEventPublisherRequest(self):
        r"""shell任务发布事件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RegisterDsEventPublisherReq`
        """
        return self._RegisterDsEventPublisherRequest

    @RegisterDsEventPublisherRequest.setter
    def RegisterDsEventPublisherRequest(self, RegisterDsEventPublisherRequest):
        self._RegisterDsEventPublisherRequest = RegisterDsEventPublisherRequest

    @property
    def Content(self):
        r"""base64编码后脚本内容
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._TaskName = params.get("TaskName")
        self._RetryWait = params.get("RetryWait")
        self._TryLimit = params.get("TryLimit")
        self._Retriable = params.get("Retriable")
        self._RunPriority = params.get("RunPriority")
        if params.get("TaskExt") is not None:
            self._TaskExt = []
            for item in params.get("TaskExt"):
                obj = TaskExtInfo()
                obj._deserialize(item)
                self._TaskExt.append(obj)
        self._ResourceGroup = params.get("ResourceGroup")
        self._YarnQueue = params.get("YarnQueue")
        self._BrokerIp = params.get("BrokerIp")
        self._InCharge = params.get("InCharge")
        self._Notes = params.get("Notes")
        if params.get("TaskParamInfos") is not None:
            self._TaskParamInfos = []
            for item in params.get("TaskParamInfos"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._TaskParamInfos.append(obj)
        self._SourceServer = params.get("SourceServer")
        self._TargetServer = params.get("TargetServer")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        if params.get("DependencyConfigDTOs") is not None:
            self._DependencyConfigDTOs = []
            for item in params.get("DependencyConfigDTOs"):
                obj = DependencyConfig()
                obj._deserialize(item)
                self._DependencyConfigDTOs.append(obj)
        self._ExecutionTTL = params.get("ExecutionTTL")
        self._ScriptChange = params.get("ScriptChange")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._ScheduleRunType = params.get("ScheduleRunType")
        self._ConcurrentStrategy = params.get("ConcurrentStrategy")
        if params.get("RegisterDsEventPublisherRequest") is not None:
            self._RegisterDsEventPublisherRequest = RegisterDsEventPublisherReq()
            self._RegisterDsEventPublisherRequest._deserialize(params.get("RegisterDsEventPublisherRequest"))
        self._Content = params.get("Content")
        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 ModifyTaskInfoDsResponse(AbstractModel):
    r"""ModifyTaskInfoDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskInfoRequest(AbstractModel):
    r"""ModifyTaskInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _DelayTime: 执行时间，单位分钟，天/周/月/年调度才有。比如天调度，每天的02:00点执行一次，delayTime就是120分钟
        :type DelayTime: int
        :param _StartupTime: 启动时间
        :type StartupTime: int
        :param _SelfDepend: 自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队， 3:并行 一次多个
        :type SelfDepend: int
        :param _StartTime: 生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :type StartTime: str
        :param _EndTime: 生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :type EndTime: str
        :param _TaskAction: 调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'。
        :type TaskAction: str
        :param _CycleType: "周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :type CycleType: int
        :param _CycleStep: 步长，间隔时间，最小1
        :type CycleStep: int
        :param _CrontabExpression: cron表达式  周期类型为crontab调度才需要
        :type CrontabExpression: str
        :param _ExecutionStartTime: 执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionEndTime: str
        :param _TaskName: 新的任务名
        :type TaskName: str
        :param _RetryWait: 失败重试间隔,单位分钟，创建任务的时候已经给了默认值
        :type RetryWait: int
        :param _TryLimit: 失败重试次数，创建任务的时候已经给了默认值
        :type TryLimit: int
        :param _Retriable: 是否可重试，1代表可以重试
        :type Retriable: int
        :param _RunPriority: 运行优先级，4高 5中 6低
        :type RunPriority: int
        :param _TaskExt: 任务的扩展配置
        :type TaskExt: list of TaskExtInfo
        :param _ResourceGroup: 执行资源组id，需要去资源管理服务上创建调度资源组，并且绑定cvm机器
        :type ResourceGroup: str
        :param _YarnQueue: 资源池队列名称
        :type YarnQueue: str
        :param _BrokerIp: 资源组下具体执行机，any 表示可以跑在任意一台。
        :type BrokerIp: str
        :param _InCharge: 责任人
        :type InCharge: str
        :param _Notes: 任务备注
        :type Notes: str
        :param _TaskParamInfos: 任务参数
        :type TaskParamInfos: list of ParamInfo
        :param _SourceServer: 源数据源
        :type SourceServer: str
        :param _TargetServer: 目标数据源
        :type TargetServer: str
        :param _DependencyWorkflow: 是否支持工作流依赖 yes / no 默认 no
        :type DependencyWorkflow: str
        :param _DependencyConfigDTOs: 依赖配置
        :type DependencyConfigDTOs: list of DependencyConfig
        :param _ExecutionTTL: 执行耗时
        :type ExecutionTTL: int
        :param _ScriptChange: 脚本是否改变
        :type ScriptChange: bool
        :param _InChargeIds: 责任人id
        :type InChargeIds: list of str
        """
        self._ProjectId = None
        self._TaskId = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._TaskName = None
        self._RetryWait = None
        self._TryLimit = None
        self._Retriable = None
        self._RunPriority = None
        self._TaskExt = None
        self._ResourceGroup = None
        self._YarnQueue = None
        self._BrokerIp = None
        self._InCharge = None
        self._Notes = None
        self._TaskParamInfos = None
        self._SourceServer = None
        self._TargetServer = None
        self._DependencyWorkflow = None
        self._DependencyConfigDTOs = None
        self._ExecutionTTL = None
        self._ScriptChange = None
        self._InChargeIds = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def DelayTime(self):
        r"""执行时间，单位分钟，天/周/月/年调度才有。比如天调度，每天的02:00点执行一次，delayTime就是120分钟
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队， 3:并行 一次多个
        :rtype: int
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def StartTime(self):
        r"""生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CycleType(self):
        r""""周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""步长，间隔时间，最小1
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""cron表达式  周期类型为crontab调度才需要
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def TaskName(self):
        r"""新的任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def RetryWait(self):
        r"""失败重试间隔,单位分钟，创建任务的时候已经给了默认值
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def TryLimit(self):
        r"""失败重试次数，创建任务的时候已经给了默认值
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def Retriable(self):
        r"""是否可重试，1代表可以重试
        :rtype: int
        """
        return self._Retriable

    @Retriable.setter
    def Retriable(self, Retriable):
        self._Retriable = Retriable

    @property
    def RunPriority(self):
        r"""运行优先级，4高 5中 6低
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def TaskExt(self):
        r"""任务的扩展配置
        :rtype: list of TaskExtInfo
        """
        return self._TaskExt

    @TaskExt.setter
    def TaskExt(self, TaskExt):
        self._TaskExt = TaskExt

    @property
    def ResourceGroup(self):
        r"""执行资源组id，需要去资源管理服务上创建调度资源组，并且绑定cvm机器
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def YarnQueue(self):
        r"""资源池队列名称
        :rtype: str
        """
        return self._YarnQueue

    @YarnQueue.setter
    def YarnQueue(self, YarnQueue):
        self._YarnQueue = YarnQueue

    @property
    def BrokerIp(self):
        r"""资源组下具体执行机，any 表示可以跑在任意一台。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def InCharge(self):
        warnings.warn("parameter `InCharge` is deprecated", DeprecationWarning) 

        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        warnings.warn("parameter `InCharge` is deprecated", DeprecationWarning) 

        self._InCharge = InCharge

    @property
    def Notes(self):
        r"""任务备注
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes

    @property
    def TaskParamInfos(self):
        r"""任务参数
        :rtype: list of ParamInfo
        """
        return self._TaskParamInfos

    @TaskParamInfos.setter
    def TaskParamInfos(self, TaskParamInfos):
        self._TaskParamInfos = TaskParamInfos

    @property
    def SourceServer(self):
        r"""源数据源
        :rtype: str
        """
        return self._SourceServer

    @SourceServer.setter
    def SourceServer(self, SourceServer):
        self._SourceServer = SourceServer

    @property
    def TargetServer(self):
        r"""目标数据源
        :rtype: str
        """
        return self._TargetServer

    @TargetServer.setter
    def TargetServer(self, TargetServer):
        self._TargetServer = TargetServer

    @property
    def DependencyWorkflow(self):
        r"""是否支持工作流依赖 yes / no 默认 no
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def DependencyConfigDTOs(self):
        r"""依赖配置
        :rtype: list of DependencyConfig
        """
        return self._DependencyConfigDTOs

    @DependencyConfigDTOs.setter
    def DependencyConfigDTOs(self, DependencyConfigDTOs):
        self._DependencyConfigDTOs = DependencyConfigDTOs

    @property
    def ExecutionTTL(self):
        r"""执行耗时
        :rtype: int
        """
        return self._ExecutionTTL

    @ExecutionTTL.setter
    def ExecutionTTL(self, ExecutionTTL):
        self._ExecutionTTL = ExecutionTTL

    @property
    def ScriptChange(self):
        r"""脚本是否改变
        :rtype: bool
        """
        return self._ScriptChange

    @ScriptChange.setter
    def ScriptChange(self, ScriptChange):
        self._ScriptChange = ScriptChange

    @property
    def InChargeIds(self):
        r"""责任人id
        :rtype: list of str
        """
        return self._InChargeIds

    @InChargeIds.setter
    def InChargeIds(self, InChargeIds):
        self._InChargeIds = InChargeIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._TaskName = params.get("TaskName")
        self._RetryWait = params.get("RetryWait")
        self._TryLimit = params.get("TryLimit")
        self._Retriable = params.get("Retriable")
        self._RunPriority = params.get("RunPriority")
        if params.get("TaskExt") is not None:
            self._TaskExt = []
            for item in params.get("TaskExt"):
                obj = TaskExtInfo()
                obj._deserialize(item)
                self._TaskExt.append(obj)
        self._ResourceGroup = params.get("ResourceGroup")
        self._YarnQueue = params.get("YarnQueue")
        self._BrokerIp = params.get("BrokerIp")
        self._InCharge = params.get("InCharge")
        self._Notes = params.get("Notes")
        if params.get("TaskParamInfos") is not None:
            self._TaskParamInfos = []
            for item in params.get("TaskParamInfos"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._TaskParamInfos.append(obj)
        self._SourceServer = params.get("SourceServer")
        self._TargetServer = params.get("TargetServer")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        if params.get("DependencyConfigDTOs") is not None:
            self._DependencyConfigDTOs = []
            for item in params.get("DependencyConfigDTOs"):
                obj = DependencyConfig()
                obj._deserialize(item)
                self._DependencyConfigDTOs.append(obj)
        self._ExecutionTTL = params.get("ExecutionTTL")
        self._ScriptChange = params.get("ScriptChange")
        self._InChargeIds = params.get("InChargeIds")
        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 ModifyTaskInfoResponse(AbstractModel):
    r"""ModifyTaskInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskLinksDsRequest(AbstractModel):
    r"""ModifyTaskLinksDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskFrom: 父任务ID
        :type TaskFrom: str
        :param _TaskTo: 子任务ID
        :type TaskTo: str
        :param _WorkflowId: 子任务工作流
        :type WorkflowId: str
        :param _RealFromWorkflowId: 父任务工作流
        :type RealFromWorkflowId: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _LinkDependencyType: 父子任务之间的依赖关系
    正常的依赖父任务全部实例  启用
    normal_all(1),
    normal_first_one(2), 正常的依赖父任务 第一个
    normal_last_one(3), 正常的依赖父任务 最后一个
    normal_any_one(4), 正常的依赖父任务 任意一个
    normal_specific_one(5), 正常的依赖父任务 指定的一个
    self(6), 自身依赖，可能用不到

     非正常的依赖父任务全部实例  启用（向前依赖  明天)
    non_normal_all_forward(11),
    non_normal_first_one_forward(12), 非正常的依赖父任务 第一个
    non_normal_last_one_forward(13), 非正常的依赖父任务 最后一个
    non_normal_any_one_forward(14), 非正常的依赖父任务 任意一个
    non_normal_specific_one_forward(15),非正常的依赖父任务 指定一个

    非正常的依赖父任务全部实例  启用（向后依赖 昨天）
    non_normal_all_backward(21),
    non_normal_first_one_backward(22), 非正常的依赖父任务 第一个
    non_normal_last_one_backward(23), 非正常的依赖父任务 最后一个
    non_normal_any_one_backward(24), 非正常的依赖父任务 任意一个
    non_normal_specific_one_backward(25) 非正常的依赖父任务 指定一个
        :type LinkDependencyType: str
        :param _LinkExt: 额外的属性信息 如分支节点、归并节点信息
        :type LinkExt: str
        """
        self._ProjectId = None
        self._TaskFrom = None
        self._TaskTo = None
        self._WorkflowId = None
        self._RealFromWorkflowId = None
        self._RequestFromSource = None
        self._LinkDependencyType = None
        self._LinkExt = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskFrom(self):
        r"""父任务ID
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def TaskTo(self):
        r"""子任务ID
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def WorkflowId(self):
        r"""子任务工作流
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def RealFromWorkflowId(self):
        r"""父任务工作流
        :rtype: str
        """
        return self._RealFromWorkflowId

    @RealFromWorkflowId.setter
    def RealFromWorkflowId(self, RealFromWorkflowId):
        self._RealFromWorkflowId = RealFromWorkflowId

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def LinkDependencyType(self):
        r"""父子任务之间的依赖关系
    正常的依赖父任务全部实例  启用
    normal_all(1),
    normal_first_one(2), 正常的依赖父任务 第一个
    normal_last_one(3), 正常的依赖父任务 最后一个
    normal_any_one(4), 正常的依赖父任务 任意一个
    normal_specific_one(5), 正常的依赖父任务 指定的一个
    self(6), 自身依赖，可能用不到

     非正常的依赖父任务全部实例  启用（向前依赖  明天)
    non_normal_all_forward(11),
    non_normal_first_one_forward(12), 非正常的依赖父任务 第一个
    non_normal_last_one_forward(13), 非正常的依赖父任务 最后一个
    non_normal_any_one_forward(14), 非正常的依赖父任务 任意一个
    non_normal_specific_one_forward(15),非正常的依赖父任务 指定一个

    非正常的依赖父任务全部实例  启用（向后依赖 昨天）
    non_normal_all_backward(21),
    non_normal_first_one_backward(22), 非正常的依赖父任务 第一个
    non_normal_last_one_backward(23), 非正常的依赖父任务 最后一个
    non_normal_any_one_backward(24), 非正常的依赖父任务 任意一个
    non_normal_specific_one_backward(25) 非正常的依赖父任务 指定一个
        :rtype: str
        """
        return self._LinkDependencyType

    @LinkDependencyType.setter
    def LinkDependencyType(self, LinkDependencyType):
        self._LinkDependencyType = LinkDependencyType

    @property
    def LinkExt(self):
        r"""额外的属性信息 如分支节点、归并节点信息
        :rtype: str
        """
        return self._LinkExt

    @LinkExt.setter
    def LinkExt(self, LinkExt):
        self._LinkExt = LinkExt


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskFrom = params.get("TaskFrom")
        self._TaskTo = params.get("TaskTo")
        self._WorkflowId = params.get("WorkflowId")
        self._RealFromWorkflowId = params.get("RealFromWorkflowId")
        self._RequestFromSource = params.get("RequestFromSource")
        self._LinkDependencyType = params.get("LinkDependencyType")
        self._LinkExt = params.get("LinkExt")
        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 ModifyTaskLinksDsResponse(AbstractModel):
    r"""ModifyTaskLinksDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _LinkId: linkID
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._LinkId = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def LinkId(self):
        r"""linkID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkId

    @LinkId.setter
    def LinkId(self, LinkId):
        self._LinkId = LinkId

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._LinkId = params.get("LinkId")
        self._RequestId = params.get("RequestId")


class ModifyTaskLinksRequest(AbstractModel):
    r"""ModifyTaskLinks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskFrom: 父任务ID
        :type TaskFrom: str
        :param _TaskTo: 子任务ID
        :type TaskTo: str
        :param _WorkflowId: 子任务工作流
        :type WorkflowId: str
        :param _RealFromWorkflowId: 父任务工作流
        :type RealFromWorkflowId: str
        :param _LinkDependencyType: 父子任务之间的依赖关系
        :type LinkDependencyType: str
        """
        self._ProjectId = None
        self._TaskFrom = None
        self._TaskTo = None
        self._WorkflowId = None
        self._RealFromWorkflowId = None
        self._LinkDependencyType = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskFrom(self):
        r"""父任务ID
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def TaskTo(self):
        r"""子任务ID
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def WorkflowId(self):
        r"""子任务工作流
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def RealFromWorkflowId(self):
        r"""父任务工作流
        :rtype: str
        """
        return self._RealFromWorkflowId

    @RealFromWorkflowId.setter
    def RealFromWorkflowId(self, RealFromWorkflowId):
        self._RealFromWorkflowId = RealFromWorkflowId

    @property
    def LinkDependencyType(self):
        r"""父子任务之间的依赖关系
        :rtype: str
        """
        return self._LinkDependencyType

    @LinkDependencyType.setter
    def LinkDependencyType(self, LinkDependencyType):
        self._LinkDependencyType = LinkDependencyType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskFrom = params.get("TaskFrom")
        self._TaskTo = params.get("TaskTo")
        self._WorkflowId = params.get("WorkflowId")
        self._RealFromWorkflowId = params.get("RealFromWorkflowId")
        self._LinkDependencyType = params.get("LinkDependencyType")
        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 ModifyTaskLinksResponse(AbstractModel):
    r"""ModifyTaskLinks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskNameRequest(AbstractModel):
    r"""ModifyTaskName请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskName: 名称
        :type TaskName: str
        :param _TaskId: id
        :type TaskId: str
        :param _ProjectId: 项目/工作空间id
        :type ProjectId: str
        :param _Notes: 备注
        :type Notes: str
        """
        self._TaskName = None
        self._TaskId = None
        self._ProjectId = None
        self._Notes = None

    @property
    def TaskName(self):
        r"""名称
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskId(self):
        r"""id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目/工作空间id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Notes(self):
        r"""备注
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes


    def _deserialize(self, params):
        self._TaskName = params.get("TaskName")
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._Notes = params.get("Notes")
        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 ModifyTaskNameResponse(AbstractModel):
    r"""ModifyTaskName返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyTaskScriptRequest(AbstractModel):
    r"""ModifyTaskScript请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _ScriptContent: 存在脚本的任务必填（shell任务、Hive任务、python任务等），脚本内容 base64编码
        :type ScriptContent: str
        :param _IntegrationNodeDetails: 集成任务脚本配置
        :type IntegrationNodeDetails: list of IntegrationNodeDetail
        """
        self._ProjectId = None
        self._TaskId = None
        self._ScriptContent = None
        self._IntegrationNodeDetails = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ScriptContent(self):
        r"""存在脚本的任务必填（shell任务、Hive任务、python任务等），脚本内容 base64编码
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def IntegrationNodeDetails(self):
        r"""集成任务脚本配置
        :rtype: list of IntegrationNodeDetail
        """
        return self._IntegrationNodeDetails

    @IntegrationNodeDetails.setter
    def IntegrationNodeDetails(self, IntegrationNodeDetails):
        self._IntegrationNodeDetails = IntegrationNodeDetails


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._ScriptContent = params.get("ScriptContent")
        if params.get("IntegrationNodeDetails") is not None:
            self._IntegrationNodeDetails = []
            for item in params.get("IntegrationNodeDetails"):
                obj = IntegrationNodeDetail()
                obj._deserialize(item)
                self._IntegrationNodeDetails.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 ModifyTaskScriptResponse(AbstractModel):
    r"""ModifyTaskScript返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.CommonContent`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CommonContent`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = CommonContent()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class ModifyWorkflowInfoRequest(AbstractModel):
    r"""ModifyWorkflowInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _Owner: 责任人
        :type Owner: str
        :param _OwnerId: 责任人id
        :type OwnerId: str
        :param _WorkflowDesc: 备注
        :type WorkflowDesc: str
        :param _WorkflowName: 工作流名称
        :type WorkflowName: str
        :param _FolderId: 所属文件夹id
        :type FolderId: str
        :param _UserGroupId: 工作流所属用户分组id  若有多个,分号隔开: a;b;c
        :type UserGroupId: str
        :param _UserGroupName: 工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        :type UserGroupName: str
        :param _WorkflowParams: 工作流参数列表
        :type WorkflowParams: list of ParamInfo
        :param _GeneralTaskParams: 用于配置优化参数（线程、内存、CPU核数等），仅作用于Spark SQL节点。多个参数用英文分号分隔。
        :type GeneralTaskParams: list of GeneralTaskParam
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._Owner = None
        self._OwnerId = None
        self._WorkflowDesc = None
        self._WorkflowName = None
        self._FolderId = None
        self._UserGroupId = None
        self._UserGroupName = None
        self._WorkflowParams = None
        self._GeneralTaskParams = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Owner(self):
        r"""责任人
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人id
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def WorkflowDesc(self):
        r"""备注
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowName(self):
        r"""工作流名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""所属文件夹id
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def UserGroupId(self):
        r"""工作流所属用户分组id  若有多个,分号隔开: a;b;c
        :rtype: str
        """
        return self._UserGroupId

    @UserGroupId.setter
    def UserGroupId(self, UserGroupId):
        self._UserGroupId = UserGroupId

    @property
    def UserGroupName(self):
        r"""工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        :rtype: str
        """
        return self._UserGroupName

    @UserGroupName.setter
    def UserGroupName(self, UserGroupName):
        self._UserGroupName = UserGroupName

    @property
    def WorkflowParams(self):
        r"""工作流参数列表
        :rtype: list of ParamInfo
        """
        return self._WorkflowParams

    @WorkflowParams.setter
    def WorkflowParams(self, WorkflowParams):
        self._WorkflowParams = WorkflowParams

    @property
    def GeneralTaskParams(self):
        r"""用于配置优化参数（线程、内存、CPU核数等），仅作用于Spark SQL节点。多个参数用英文分号分隔。
        :rtype: list of GeneralTaskParam
        """
        return self._GeneralTaskParams

    @GeneralTaskParams.setter
    def GeneralTaskParams(self, GeneralTaskParams):
        self._GeneralTaskParams = GeneralTaskParams


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._UserGroupId = params.get("UserGroupId")
        self._UserGroupName = params.get("UserGroupName")
        if params.get("WorkflowParams") is not None:
            self._WorkflowParams = []
            for item in params.get("WorkflowParams"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._WorkflowParams.append(obj)
        if params.get("GeneralTaskParams") is not None:
            self._GeneralTaskParams = []
            for item in params.get("GeneralTaskParams"):
                obj = GeneralTaskParam()
                obj._deserialize(item)
                self._GeneralTaskParams.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 ModifyWorkflowInfoResponse(AbstractModel):
    r"""ModifyWorkflowInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true代表成功，false代表失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true代表成功，false代表失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ModifyWorkflowScheduleRequest(AbstractModel):
    r"""ModifyWorkflowSchedule请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _DelayTime: 延迟时间，单位分钟
        :type DelayTime: int
        :param _StartupTime: 启动时间
        :type StartupTime: int
        :param _SelfDepend: 自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队， 3:并行 一次多个
        :type SelfDepend: int
        :param _CycleType: "周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :type CycleType: int
        :param _CycleStep: 步长，间隔时间，最小1
        :type CycleStep: int
        :param _StartTime: 生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :type StartTime: str
        :param _EndTime: 生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :type EndTime: str
        :param _TaskAction: 调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'。
        :type TaskAction: str
        :param _CrontabExpression: cron表达式  周期类型为crontab调度才需要
        :type CrontabExpression: str
        :param _ExecutionStartTime: 执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :type ExecutionEndTime: str
        :param _DependencyWorkflow: 工作流依赖 ,yes 或者no
        :type DependencyWorkflow: str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._CycleType = None
        self._CycleStep = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CrontabExpression = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._DependencyWorkflow = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def DelayTime(self):
        r"""延迟时间，单位分钟
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队， 3:并行 一次多个
        :rtype: int
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def CycleType(self):
        r""""周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""步长，间隔时间，最小1
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def StartTime(self):
        r"""生效开始时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""生效结束时间，格式 yyyy-MM-dd HH:mm:ss
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CrontabExpression(self):
        r"""cron表达式  周期类型为crontab调度才需要
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间，格式：HH:mm  小时调度才有，例如小时任务, 每日固定区间生效
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def DependencyWorkflow(self):
        r"""工作流依赖 ,yes 或者no
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        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 ModifyWorkflowScheduleResponse(AbstractModel):
    r"""ModifyWorkflowSchedule返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchResult`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchResult`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchResult()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class MoveTasksToFolderRequest(AbstractModel):
    r"""MoveTasksToFolder请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _TaskFolderId: 任务文件夹ID
        :type TaskFolderId: str
        :param _TaskIds: 任务ID
        :type TaskIds: list of str
        :param _VirtualTaskIds: 虚拟任务ID
        :type VirtualTaskIds: list of str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._TaskFolderId = None
        self._TaskIds = None
        self._VirtualTaskIds = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskFolderId(self):
        r"""任务文件夹ID
        :rtype: str
        """
        return self._TaskFolderId

    @TaskFolderId.setter
    def TaskFolderId(self, TaskFolderId):
        self._TaskFolderId = TaskFolderId

    @property
    def TaskIds(self):
        r"""任务ID
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def VirtualTaskIds(self):
        r"""虚拟任务ID
        :rtype: list of str
        """
        return self._VirtualTaskIds

    @VirtualTaskIds.setter
    def VirtualTaskIds(self, VirtualTaskIds):
        self._VirtualTaskIds = VirtualTaskIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskFolderId = params.get("TaskFolderId")
        self._TaskIds = params.get("TaskIds")
        self._VirtualTaskIds = params.get("VirtualTaskIds")
        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 MoveTasksToFolderResponse(AbstractModel):
    r"""MoveTasksToFolder返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true代表成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true代表成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class NotificationFatigue(AbstractModel):
    r"""任务告警通知疲劳度配置，包括通知次数、间隔、免打扰时间。

    """

    def __init__(self):
        r"""
        :param _NotifyCount: 通知次数
注意：此字段可能返回 null，表示取不到有效值。
        :type NotifyCount: int
        :param _NotifyInterval: 通知间隔，单位分钟。
注意：此字段可能返回 null，表示取不到有效值。
        :type NotifyInterval: int
        :param _QuietIntervals: 免打扰时间，例如示例值每周一、周二的00:00到09:00免打扰
注意：此字段可能返回 null，表示取不到有效值。
        :type QuietIntervals: list of AlarmQuietInterval
        """
        self._NotifyCount = None
        self._NotifyInterval = None
        self._QuietIntervals = None

    @property
    def NotifyCount(self):
        r"""通知次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NotifyCount

    @NotifyCount.setter
    def NotifyCount(self, NotifyCount):
        self._NotifyCount = NotifyCount

    @property
    def NotifyInterval(self):
        r"""通知间隔，单位分钟。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NotifyInterval

    @NotifyInterval.setter
    def NotifyInterval(self, NotifyInterval):
        self._NotifyInterval = NotifyInterval

    @property
    def QuietIntervals(self):
        r"""免打扰时间，例如示例值每周一、周二的00:00到09:00免打扰
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmQuietInterval
        """
        return self._QuietIntervals

    @QuietIntervals.setter
    def QuietIntervals(self, QuietIntervals):
        self._QuietIntervals = QuietIntervals


    def _deserialize(self, params):
        self._NotifyCount = params.get("NotifyCount")
        self._NotifyInterval = params.get("NotifyInterval")
        if params.get("QuietIntervals") is not None:
            self._QuietIntervals = []
            for item in params.get("QuietIntervals"):
                obj = AlarmQuietInterval()
                obj._deserialize(item)
                self._QuietIntervals.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 OfflineInstance(AbstractModel):
    r"""离线实例

    """

    def __init__(self):
        r"""
        :param _CreateUin: 创建账号sub uin
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateUin: str
        :param _OperatorUin: 操作账号sub uin
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUin: str
        :param _OwnerUin: 主账号
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _AppId: 账号
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _WorkspaceId: 项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkspaceId: str
        :param _TaskId: 任务Id
        :type TaskId: str
        :param _CurRunDate: 数据时间
        :type CurRunDate: str
        :param _IssueId: 下发时间
        :type IssueId: str
        :param _InlongTaskId: 下发资源组id，非传入项
注意：此字段可能返回 null，表示取不到有效值。
        :type InlongTaskId: str
        :param _ResourceGroup: 资源组
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        :param _TaskRunType: 任务类型(1 调试运行,2 调度执行)
        :type TaskRunType: int
        :param _State: 实例状态 EVENT_LISTENING|DEPENDENCE|BEFORE_ASPECT|ALLOCATED|LAUNCHED|KILL|SNAP_STATE_SAVING|ISSUED|RUNNING|AFTER_ASPECT|PENDING|KILLING|FINAL_STATE_SAVING|FAILED|KILL_FAILED| COMPLETED|EXPIRED|KILL_EXPIRED|DELETED
        :type State: str
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 最后更新时间
        :type UpdateTime: str
        :param _InstanceKey: 唯一key
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceKey: str
        """
        self._CreateUin = None
        self._OperatorUin = None
        self._OwnerUin = None
        self._AppId = None
        self._WorkspaceId = None
        self._TaskId = None
        self._CurRunDate = None
        self._IssueId = None
        self._InlongTaskId = None
        self._ResourceGroup = None
        self._TaskRunType = None
        self._State = None
        self._StartTime = None
        self._EndTime = None
        self._CreateTime = None
        self._UpdateTime = None
        self._InstanceKey = None

    @property
    def CreateUin(self):
        r"""创建账号sub uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateUin

    @CreateUin.setter
    def CreateUin(self, CreateUin):
        self._CreateUin = CreateUin

    @property
    def OperatorUin(self):
        r"""操作账号sub uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorUin

    @OperatorUin.setter
    def OperatorUin(self, OperatorUin):
        self._OperatorUin = OperatorUin

    @property
    def OwnerUin(self):
        r"""主账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def AppId(self):
        r"""账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def WorkspaceId(self):
        r"""项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkspaceId

    @WorkspaceId.setter
    def WorkspaceId(self, WorkspaceId):
        self._WorkspaceId = WorkspaceId

    @property
    def TaskId(self):
        r"""任务Id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""数据时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate

    @property
    def IssueId(self):
        r"""下发时间
        :rtype: str
        """
        return self._IssueId

    @IssueId.setter
    def IssueId(self, IssueId):
        self._IssueId = IssueId

    @property
    def InlongTaskId(self):
        r"""下发资源组id，非传入项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InlongTaskId

    @InlongTaskId.setter
    def InlongTaskId(self, InlongTaskId):
        self._InlongTaskId = InlongTaskId

    @property
    def ResourceGroup(self):
        r"""资源组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def TaskRunType(self):
        r"""任务类型(1 调试运行,2 调度执行)
        :rtype: int
        """
        return self._TaskRunType

    @TaskRunType.setter
    def TaskRunType(self, TaskRunType):
        self._TaskRunType = TaskRunType

    @property
    def State(self):
        r"""实例状态 EVENT_LISTENING|DEPENDENCE|BEFORE_ASPECT|ALLOCATED|LAUNCHED|KILL|SNAP_STATE_SAVING|ISSUED|RUNNING|AFTER_ASPECT|PENDING|KILLING|FINAL_STATE_SAVING|FAILED|KILL_FAILED| COMPLETED|EXPIRED|KILL_EXPIRED|DELETED
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""最后更新时间
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def InstanceKey(self):
        r"""唯一key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceKey

    @InstanceKey.setter
    def InstanceKey(self, InstanceKey):
        self._InstanceKey = InstanceKey


    def _deserialize(self, params):
        self._CreateUin = params.get("CreateUin")
        self._OperatorUin = params.get("OperatorUin")
        self._OwnerUin = params.get("OwnerUin")
        self._AppId = params.get("AppId")
        self._WorkspaceId = params.get("WorkspaceId")
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        self._IssueId = params.get("IssueId")
        self._InlongTaskId = params.get("InlongTaskId")
        self._ResourceGroup = params.get("ResourceGroup")
        self._TaskRunType = params.get("TaskRunType")
        self._State = params.get("State")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._InstanceKey = params.get("InstanceKey")
        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 OfflineTaskAddParam(AbstractModel):
    r"""离线任务新增参数

    """

    def __init__(self):
        r"""
        :param _WorkflowName: 名称
        :type WorkflowName: str
        :param _DependencyWorkflow: 依赖：yes、no
        :type DependencyWorkflow: str
        :param _StartTime: 任务开始数据时间。非空。默认当前时间
        :type StartTime: str
        :param _EndTime: 任务结束数据时间。非空。默认当前时间
        :type EndTime: str
        :param _CycleType: 周期类型。一次性任务:6、分钟任务：1、小时任务：2、天任务：3、周任务：4、月任务：5、crontab任务：0
        :type CycleType: int
        :param _CycleStep: 间隔，可选，默认1。非空。默认 1
        :type CycleStep: int
        :param _DelayTime: 延时执行时间，单位分钟
        :type DelayTime: int
        :param _CrontabExpression: 任务cron表达式，仅cron任务使用，其他时候默认为空
注意：此字段可能返回 null，表示取不到有效值。
        :type CrontabExpression: str
        :param _RetryWait: 重试等待
        :type RetryWait: int
        :param _Retriable: 是否可以重试
        :type Retriable: int
        :param _TryLimit: 重试限制
        :type TryLimit: int
        :param _RunPriority: 优先级
        :type RunPriority: int
        :param _ProductName: 产品名称
        :type ProductName: str
        :param _SelfDepend: 1 有序串行 一次一个，排队 orderly 
2 无序串行 一次一个，不排队 serial  
3 并行 一次多个 parallel
        :type SelfDepend: int
        :param _TaskAction: 时间指定，如月任务指定1，3号，则填入 1，3。非空。默认 ""
月任务：如具体1，3号则写 "1,3"，指定月末不可和具体号数一起输入，仅能为 "L"
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _ExecutionEndTime: 调度执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _ExecutionStartTime: 调度执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _TaskAutoSubmit: 是否自动提交
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAutoSubmit: bool
        :param _InstanceInitStrategy: 实例生成方式，T_PLUS_0 当天任务当天调度 / T_PLUS_1 当天任务后一天调度
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceInitStrategy: str
        """
        self._WorkflowName = None
        self._DependencyWorkflow = None
        self._StartTime = None
        self._EndTime = None
        self._CycleType = None
        self._CycleStep = None
        self._DelayTime = None
        self._CrontabExpression = None
        self._RetryWait = None
        self._Retriable = None
        self._TryLimit = None
        self._RunPriority = None
        self._ProductName = None
        self._SelfDepend = None
        self._TaskAction = None
        self._ExecutionEndTime = None
        self._ExecutionStartTime = None
        self._TaskAutoSubmit = None
        self._InstanceInitStrategy = None

    @property
    def WorkflowName(self):
        r"""名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def DependencyWorkflow(self):
        r"""依赖：yes、no
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def StartTime(self):
        r"""任务开始数据时间。非空。默认当前时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""任务结束数据时间。非空。默认当前时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CycleType(self):
        r"""周期类型。一次性任务:6、分钟任务：1、小时任务：2、天任务：3、周任务：4、月任务：5、crontab任务：0
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""间隔，可选，默认1。非空。默认 1
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def DelayTime(self):
        r"""延时执行时间，单位分钟
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def CrontabExpression(self):
        r"""任务cron表达式，仅cron任务使用，其他时候默认为空
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def RetryWait(self):
        r"""重试等待
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def Retriable(self):
        r"""是否可以重试
        :rtype: int
        """
        return self._Retriable

    @Retriable.setter
    def Retriable(self, Retriable):
        self._Retriable = Retriable

    @property
    def TryLimit(self):
        r"""重试限制
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def RunPriority(self):
        r"""优先级
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def ProductName(self):
        r"""产品名称
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def SelfDepend(self):
        r"""1 有序串行 一次一个，排队 orderly 
2 无序串行 一次一个，不排队 serial  
3 并行 一次多个 parallel
        :rtype: int
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def TaskAction(self):
        r"""时间指定，如月任务指定1，3号，则填入 1，3。非空。默认 ""
月任务：如具体1，3号则写 "1,3"，指定月末不可和具体号数一起输入，仅能为 "L"
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def ExecutionEndTime(self):
        r"""调度执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def ExecutionStartTime(self):
        r"""调度执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def TaskAutoSubmit(self):
        r"""是否自动提交
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TaskAutoSubmit

    @TaskAutoSubmit.setter
    def TaskAutoSubmit(self, TaskAutoSubmit):
        self._TaskAutoSubmit = TaskAutoSubmit

    @property
    def InstanceInitStrategy(self):
        r"""实例生成方式，T_PLUS_0 当天任务当天调度 / T_PLUS_1 当天任务后一天调度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy


    def _deserialize(self, params):
        self._WorkflowName = params.get("WorkflowName")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._DelayTime = params.get("DelayTime")
        self._CrontabExpression = params.get("CrontabExpression")
        self._RetryWait = params.get("RetryWait")
        self._Retriable = params.get("Retriable")
        self._TryLimit = params.get("TryLimit")
        self._RunPriority = params.get("RunPriority")
        self._ProductName = params.get("ProductName")
        self._SelfDepend = params.get("SelfDepend")
        self._TaskAction = params.get("TaskAction")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._TaskAutoSubmit = params.get("TaskAutoSubmit")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        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 OperateOption(AbstractModel):
    r"""数据资产操作标记

    """

    def __init__(self):
        r"""
        :param _HasProjectPermission: 是否有修改归属项目权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasProjectPermission: bool
        """
        self._HasProjectPermission = None

    @property
    def HasProjectPermission(self):
        r"""是否有修改归属项目权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasProjectPermission

    @HasProjectPermission.setter
    def HasProjectPermission(self, HasProjectPermission):
        self._HasProjectPermission = HasProjectPermission


    def _deserialize(self, params):
        self._HasProjectPermission = params.get("HasProjectPermission")
        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 OperationOpsDto(AbstractModel):
    r"""操作返回结果

    """

    def __init__(self):
        r"""
        :param _Result: 操作是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :type Result: bool
        :param _ResultMsg: 操作结果详情
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultMsg: str
        :param _ErrorId: 操作失败类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorId: str
        :param _ErrorDesc: 操作失败描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _AsyncActionId: 异步操作记录id
        :type AsyncActionId: str
        """
        self._Result = None
        self._ResultMsg = None
        self._ErrorId = None
        self._ErrorDesc = None
        self._AsyncActionId = None

    @property
    def Result(self):
        r"""操作是否成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def ResultMsg(self):
        r"""操作结果详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResultMsg

    @ResultMsg.setter
    def ResultMsg(self, ResultMsg):
        self._ResultMsg = ResultMsg

    @property
    def ErrorId(self):
        r"""操作失败类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorId

    @ErrorId.setter
    def ErrorId(self, ErrorId):
        self._ErrorId = ErrorId

    @property
    def ErrorDesc(self):
        r"""操作失败描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def AsyncActionId(self):
        r"""异步操作记录id
        :rtype: str
        """
        return self._AsyncActionId

    @AsyncActionId.setter
    def AsyncActionId(self, AsyncActionId):
        self._AsyncActionId = AsyncActionId


    def _deserialize(self, params):
        self._Result = params.get("Result")
        self._ResultMsg = params.get("ResultMsg")
        self._ErrorId = params.get("ErrorId")
        self._ErrorDesc = params.get("ErrorDesc")
        self._AsyncActionId = params.get("AsyncActionId")
        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 OpsTaskCanvasDto(AbstractModel):
    r"""任务信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectIdent: 项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _Status: 任务状态，'Y','F','O','T','INVALID' 分别表示调度中、已停止、已暂停、停止中、已失效
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _TaskTypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _TaskTypeDesc: 任务类型描述，其中任务类型id和任务类型描述的对应的关系为
20	通用数据同步任务
21	JDBC SQL
22	Tbase
25	数据ETL
30	Python
31	PySpark
34	Hive SQL
35	Shell
36	Spark SQL
37	HDFS到HBase
38	SHELL
39	Spark
45	DATA_QUALITY
55	THIVE到MYSQL
56	THIVE到PG
66	HDFS到PG
67	HDFS到Oracle
68	HDFS到MYSQL
69	FTP到HDFS
70	HIVE SQL
72	HIVE到HDFS
75	HDFS到HIVE
81	PYTHONSQL脚本
82	SPARKSCALA计算
83	虫洞任务
84	校验对账文件
85	HDFS到THIVE
86	TDW到HDFS
87	HDFS到TDW
88	校验对账文件
91	FLINK任务
92	MapReduce
98	custom topology
99	kafkatoHDFS
100	kafkatoHbase
101	MYSQL导入至HIVE(DX)
104	MYSQL到HIVE
105	HIVE到MYSQL
106	SQL SERVER到HIVE
107	HIVE到SQL SERVER
108	ORACLE到HIVE
109	HIVE到ORACLE
111	HIVE到MYSQL(NEW)
112	HIVE到PG
113	HIVE到PHOENIX
118	MYSQL到HDFS
119	PG到HDFS
120	ORACLE到HDFS
121	数据质量
10000	自定义业务
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeDesc: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _FolderName: 文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _FolderId: 文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FirstSubmitTime: 最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstSubmitTime: str
        :param _FirstRunTime: 首次运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstRunTime: str
        :param _ScheduleDesc: 调度计划展示描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleDesc: str
        :param _InCharge: 负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _CycleUnit: 调度周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _LeftCoordinate: 画布x轴坐标点
注意：此字段可能返回 null，表示取不到有效值。
        :type LeftCoordinate: float
        :param _TopCoordinate: 画布y轴坐标点
注意：此字段可能返回 null，表示取不到有效值。
        :type TopCoordinate: float
        :param _VirtualFlag: 跨工作流虚拟任务标识；true标识跨工作流任务；false标识本工作流任务
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualFlag: bool
        :param _TaskAction: 弹性周期配置
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _DelayTime: 延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _ExecutionStartTime: 执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _Layer: 层级
注意：此字段可能返回 null，表示取不到有效值。
        :type Layer: str
        :param _SourceServiceId: 来源数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceId: str
        :param _SourceServiceType: 来源数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceType: str
        :param _TargetServiceId: 目标数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceId: str
        :param _TargetServiceType: 目标数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceType: str
        :param _AlarmType: 任务告警类型
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmType: str
        :param _CreateTime: 任务创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        """
        self._TaskId = None
        self._TaskName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._ProjectName = None
        self._ProjectIdent = None
        self._Status = None
        self._TaskTypeId = None
        self._TaskTypeDesc = None
        self._ProjectId = None
        self._FolderName = None
        self._FolderId = None
        self._FirstSubmitTime = None
        self._FirstRunTime = None
        self._ScheduleDesc = None
        self._InCharge = None
        self._CycleUnit = None
        self._LeftCoordinate = None
        self._TopCoordinate = None
        self._VirtualFlag = None
        self._TaskAction = None
        self._DelayTime = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._Layer = None
        self._SourceServiceId = None
        self._SourceServiceType = None
        self._TargetServiceId = None
        self._TargetServiceType = None
        self._AlarmType = None
        self._CreateTime = None

    @property
    def TaskId(self):
        r"""任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectIdent(self):
        r"""项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def Status(self):
        r"""任务状态，'Y','F','O','T','INVALID' 分别表示调度中、已停止、已暂停、停止中、已失效
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TaskTypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def TaskTypeDesc(self):
        r"""任务类型描述，其中任务类型id和任务类型描述的对应的关系为
20	通用数据同步任务
21	JDBC SQL
22	Tbase
25	数据ETL
30	Python
31	PySpark
34	Hive SQL
35	Shell
36	Spark SQL
37	HDFS到HBase
38	SHELL
39	Spark
45	DATA_QUALITY
55	THIVE到MYSQL
56	THIVE到PG
66	HDFS到PG
67	HDFS到Oracle
68	HDFS到MYSQL
69	FTP到HDFS
70	HIVE SQL
72	HIVE到HDFS
75	HDFS到HIVE
81	PYTHONSQL脚本
82	SPARKSCALA计算
83	虫洞任务
84	校验对账文件
85	HDFS到THIVE
86	TDW到HDFS
87	HDFS到TDW
88	校验对账文件
91	FLINK任务
92	MapReduce
98	custom topology
99	kafkatoHDFS
100	kafkatoHbase
101	MYSQL导入至HIVE(DX)
104	MYSQL到HIVE
105	HIVE到MYSQL
106	SQL SERVER到HIVE
107	HIVE到SQL SERVER
108	ORACLE到HIVE
109	HIVE到ORACLE
111	HIVE到MYSQL(NEW)
112	HIVE到PG
113	HIVE到PHOENIX
118	MYSQL到HDFS
119	PG到HDFS
120	ORACLE到HDFS
121	数据质量
10000	自定义业务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTypeDesc

    @TaskTypeDesc.setter
    def TaskTypeDesc(self, TaskTypeDesc):
        self._TaskTypeDesc = TaskTypeDesc

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FolderName(self):
        r"""文件夹名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def FolderId(self):
        r"""文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FirstSubmitTime(self):
        r"""最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstSubmitTime

    @FirstSubmitTime.setter
    def FirstSubmitTime(self, FirstSubmitTime):
        self._FirstSubmitTime = FirstSubmitTime

    @property
    def FirstRunTime(self):
        r"""首次运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstRunTime

    @FirstRunTime.setter
    def FirstRunTime(self, FirstRunTime):
        self._FirstRunTime = FirstRunTime

    @property
    def ScheduleDesc(self):
        r"""调度计划展示描述信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleDesc

    @ScheduleDesc.setter
    def ScheduleDesc(self, ScheduleDesc):
        self._ScheduleDesc = ScheduleDesc

    @property
    def InCharge(self):
        r"""负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def CycleUnit(self):
        r"""调度周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def LeftCoordinate(self):
        r"""画布x轴坐标点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LeftCoordinate

    @LeftCoordinate.setter
    def LeftCoordinate(self, LeftCoordinate):
        self._LeftCoordinate = LeftCoordinate

    @property
    def TopCoordinate(self):
        r"""画布y轴坐标点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TopCoordinate

    @TopCoordinate.setter
    def TopCoordinate(self, TopCoordinate):
        self._TopCoordinate = TopCoordinate

    @property
    def VirtualFlag(self):
        r"""跨工作流虚拟任务标识；true标识跨工作流任务；false标识本工作流任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def TaskAction(self):
        r"""弹性周期配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def DelayTime(self):
        r"""延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def ExecutionStartTime(self):
        r"""执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def Layer(self):
        r"""层级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Layer

    @Layer.setter
    def Layer(self, Layer):
        self._Layer = Layer

    @property
    def SourceServiceId(self):
        r"""来源数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceId

    @SourceServiceId.setter
    def SourceServiceId(self, SourceServiceId):
        self._SourceServiceId = SourceServiceId

    @property
    def SourceServiceType(self):
        r"""来源数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceType

    @SourceServiceType.setter
    def SourceServiceType(self, SourceServiceType):
        self._SourceServiceType = SourceServiceType

    @property
    def TargetServiceId(self):
        r"""目标数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceId

    @TargetServiceId.setter
    def TargetServiceId(self, TargetServiceId):
        self._TargetServiceId = TargetServiceId

    @property
    def TargetServiceType(self):
        r"""目标数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceType

    @TargetServiceType.setter
    def TargetServiceType(self, TargetServiceType):
        self._TargetServiceType = TargetServiceType

    @property
    def AlarmType(self):
        r"""任务告警类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmType

    @AlarmType.setter
    def AlarmType(self, AlarmType):
        self._AlarmType = AlarmType

    @property
    def CreateTime(self):
        r"""任务创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._ProjectName = params.get("ProjectName")
        self._ProjectIdent = params.get("ProjectIdent")
        self._Status = params.get("Status")
        self._TaskTypeId = params.get("TaskTypeId")
        self._TaskTypeDesc = params.get("TaskTypeDesc")
        self._ProjectId = params.get("ProjectId")
        self._FolderName = params.get("FolderName")
        self._FolderId = params.get("FolderId")
        self._FirstSubmitTime = params.get("FirstSubmitTime")
        self._FirstRunTime = params.get("FirstRunTime")
        self._ScheduleDesc = params.get("ScheduleDesc")
        self._InCharge = params.get("InCharge")
        self._CycleUnit = params.get("CycleUnit")
        self._LeftCoordinate = params.get("LeftCoordinate")
        self._TopCoordinate = params.get("TopCoordinate")
        self._VirtualFlag = params.get("VirtualFlag")
        self._TaskAction = params.get("TaskAction")
        self._DelayTime = params.get("DelayTime")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._Layer = params.get("Layer")
        self._SourceServiceId = params.get("SourceServiceId")
        self._SourceServiceType = params.get("SourceServiceType")
        self._TargetServiceId = params.get("TargetServiceId")
        self._TargetServiceType = params.get("TargetServiceType")
        self._AlarmType = params.get("AlarmType")
        self._CreateTime = params.get("CreateTime")
        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 OpsTaskCanvasInfoList(AbstractModel):
    r"""画布所需的信息

    """

    def __init__(self):
        r"""
        :param _TasksList: 画布任务信息
        :type TasksList: list of OpsTaskCanvasDto
        :param _LinksList: 画布任务链接信息
        :type LinksList: list of OpsTaskLinkInfoDto
        :param _CirculateTaskList: 画布循环依赖任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type CirculateTaskList: list of OpsTaskCanvasDto
        """
        self._TasksList = None
        self._LinksList = None
        self._CirculateTaskList = None

    @property
    def TasksList(self):
        r"""画布任务信息
        :rtype: list of OpsTaskCanvasDto
        """
        return self._TasksList

    @TasksList.setter
    def TasksList(self, TasksList):
        self._TasksList = TasksList

    @property
    def LinksList(self):
        r"""画布任务链接信息
        :rtype: list of OpsTaskLinkInfoDto
        """
        return self._LinksList

    @LinksList.setter
    def LinksList(self, LinksList):
        self._LinksList = LinksList

    @property
    def CirculateTaskList(self):
        r"""画布循环依赖任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of OpsTaskCanvasDto
        """
        return self._CirculateTaskList

    @CirculateTaskList.setter
    def CirculateTaskList(self, CirculateTaskList):
        self._CirculateTaskList = CirculateTaskList


    def _deserialize(self, params):
        if params.get("TasksList") is not None:
            self._TasksList = []
            for item in params.get("TasksList"):
                obj = OpsTaskCanvasDto()
                obj._deserialize(item)
                self._TasksList.append(obj)
        if params.get("LinksList") is not None:
            self._LinksList = []
            for item in params.get("LinksList"):
                obj = OpsTaskLinkInfoDto()
                obj._deserialize(item)
                self._LinksList.append(obj)
        if params.get("CirculateTaskList") is not None:
            self._CirculateTaskList = []
            for item in params.get("CirculateTaskList"):
                obj = OpsTaskCanvasDto()
                obj._deserialize(item)
                self._CirculateTaskList.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 OpsTaskInfoPage(AbstractModel):
    r"""任务分页查询

    """

    def __init__(self):
        r"""
        :param _PageNumber: 页号
        :type PageNumber: int
        :param _PageSize: 页大小
        :type PageSize: int
        :param _Items: 任务列表信息
        :type Items: list of TaskOpsDto
        :param _TotalPage: 总页数
        :type TotalPage: int
        :param _PageCount: 页数
        :type PageCount: int
        :param _TotalCount: 总条数
        :type TotalCount: int
        """
        self._PageNumber = None
        self._PageSize = None
        self._Items = None
        self._TotalPage = None
        self._PageCount = None
        self._TotalCount = None

    @property
    def PageNumber(self):
        r"""页号
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""页大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Items(self):
        r"""任务列表信息
        :rtype: list of TaskOpsDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def TotalPage(self):
        r"""总页数
        :rtype: int
        """
        return self._TotalPage

    @TotalPage.setter
    def TotalPage(self, TotalPage):
        self._TotalPage = TotalPage

    @property
    def PageCount(self):
        r"""页数
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def TotalCount(self):
        r"""总条数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = TaskOpsDto()
                obj._deserialize(item)
                self._Items.append(obj)
        self._TotalPage = params.get("TotalPage")
        self._PageCount = params.get("PageCount")
        self._TotalCount = params.get("TotalCount")
        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 OpsTaskLinkInfoDto(AbstractModel):
    r"""任务依赖的边信息

    """

    def __init__(self):
        r"""
        :param _TaskTo: 下游任务id
        :type TaskTo: str
        :param _TaskFrom: 上游任务id
        :type TaskFrom: str
        :param _LinkType: 依赖边类型 1、“real_real”表示任务->任务；2、"virtual_real" 跨工作流任务->任务
        :type LinkType: str
        :param _LinkId: 依赖边id
        :type LinkId: str
        :param _LinkStyle: 为了区分新增的循环依赖新增的类型。默认是normal，循环依赖则是circulate
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkStyle: str
        """
        self._TaskTo = None
        self._TaskFrom = None
        self._LinkType = None
        self._LinkId = None
        self._LinkStyle = None

    @property
    def TaskTo(self):
        r"""下游任务id
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def TaskFrom(self):
        r"""上游任务id
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def LinkType(self):
        r"""依赖边类型 1、“real_real”表示任务->任务；2、"virtual_real" 跨工作流任务->任务
        :rtype: str
        """
        return self._LinkType

    @LinkType.setter
    def LinkType(self, LinkType):
        self._LinkType = LinkType

    @property
    def LinkId(self):
        r"""依赖边id
        :rtype: str
        """
        return self._LinkId

    @LinkId.setter
    def LinkId(self, LinkId):
        self._LinkId = LinkId

    @property
    def LinkStyle(self):
        r"""为了区分新增的循环依赖新增的类型。默认是normal，循环依赖则是circulate
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkStyle

    @LinkStyle.setter
    def LinkStyle(self, LinkStyle):
        self._LinkStyle = LinkStyle


    def _deserialize(self, params):
        self._TaskTo = params.get("TaskTo")
        self._TaskFrom = params.get("TaskFrom")
        self._LinkType = params.get("LinkType")
        self._LinkId = params.get("LinkId")
        self._LinkStyle = params.get("LinkStyle")
        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 OrderCondition(AbstractModel):
    r"""通用排序字段名和排序方向

    """

    def __init__(self):
        r"""
        :param _Name: name
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Direction: 降序DESC; 升序ASC
注意：此字段可能返回 null，表示取不到有效值。
        :type Direction: str
        """
        self._Name = None
        self._Direction = None

    @property
    def Name(self):
        r"""name
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Direction(self):
        r"""降序DESC; 升序ASC
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Direction = params.get("Direction")
        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 OrderField(AbstractModel):
    r"""通用排序字段

    """

    def __init__(self):
        r"""
        :param _Name: 排序字段名称
        :type Name: str
        :param _Direction: 排序方向：ASC|DESC
        :type Direction: str
        """
        self._Name = None
        self._Direction = None

    @property
    def Name(self):
        r"""排序字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Direction(self):
        r"""排序方向：ASC|DESC
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Direction = params.get("Direction")
        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 OrderFieldOptional(AbstractModel):
    r"""通用排序字段

    """

    def __init__(self):
        r"""
        :param _Name: 排序字段名称
        :type Name: str
        :param _Direction: 排序方向：ASC|DESC
        :type Direction: str
        """
        self._Name = None
        self._Direction = None

    @property
    def Name(self):
        r"""排序字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Direction(self):
        r"""排序方向：ASC|DESC
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Direction = params.get("Direction")
        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 OrderFields(AbstractModel):
    r"""排序

    """

    def __init__(self):
        r"""
        :param _Name: 字段
        :type Name: str
        :param _Direction: 排序
        :type Direction: str
        """
        self._Name = None
        self._Direction = None

    @property
    def Name(self):
        r"""字段
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Direction(self):
        r"""排序
        :rtype: str
        """
        return self._Direction

    @Direction.setter
    def Direction(self, Direction):
        self._Direction = Direction


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Direction = params.get("Direction")
        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 OrganizationalFunction(AbstractModel):
    r"""包含层级信息的函数

    """

    def __init__(self):
        r"""
        :param _Name: 名称
        :type Name: str
        :param _DisplayName: 展示名称
        :type DisplayName: str
        :param _LayerPath: 层级路径
        :type LayerPath: str
        :param _ParentLayerPath: 上级层级路径
        :type ParentLayerPath: str
        :param _Type: 函数类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Kind: 函数分类：窗口函数、聚合函数、日期函数......
注意：此字段可能返回 null，表示取不到有效值。
        :type Kind: str
        :param _Category: 函数种类：系统函数、自定义函数
注意：此字段可能返回 null，表示取不到有效值。
        :type Category: str
        :param _Status: 函数状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _Description: 函数说明
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Usage: 函数用法
注意：此字段可能返回 null，表示取不到有效值。
        :type Usage: str
        :param _ParamDesc: 函数参数说明
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamDesc: str
        :param _ReturnDesc: 函数返回值说明
注意：此字段可能返回 null，表示取不到有效值。
        :type ReturnDesc: str
        :param _Example: 函数示例
注意：此字段可能返回 null，表示取不到有效值。
        :type Example: str
        :param _ClusterIdentifier: 集群实例引擎 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterIdentifier: str
        :param _FuncId: 函数 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FuncId: str
        :param _ClassName: 函数类名
注意：此字段可能返回 null，表示取不到有效值。
        :type ClassName: str
        :param _ResourceList: 函数资源列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceList: list of FunctionVersion
        :param _OperatorUserIds: 操作人 ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUserIds: list of int
        :param _OwnerUserIds: 公有云 Owner ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserIds: list of int
        :param _DbName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DbName: str
        :param _SubmitErrorMsg: 提交失败错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :type SubmitErrorMsg: str
        :param _SchemaName: 模式名
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _CommandFormat: 函数命令格式
注意：此字段可能返回 null，表示取不到有效值。
        :type CommandFormat: str
        :param _OwnerName: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _SubmitTimestamp: 时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type SubmitTimestamp: str
        :param _Tag: 函数tag
注意：此字段可能返回 null，表示取不到有效值。
        :type Tag: str
        :param _OperatorUserIdsStr: 操作人 ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUserIdsStr: list of str
        :param _OwnerUserIdsStr: 公有云 Owner ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserIdsStr: list of str
        :param _EnvType: 数据库环境
注意：此字段可能返回 null，表示取不到有效值。
        :type EnvType: str
        :param _FunctionResourceFileType: 函数资源文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FunctionResourceFileType: str
        """
        self._Name = None
        self._DisplayName = None
        self._LayerPath = None
        self._ParentLayerPath = None
        self._Type = None
        self._Kind = None
        self._Category = None
        self._Status = None
        self._Description = None
        self._Usage = None
        self._ParamDesc = None
        self._ReturnDesc = None
        self._Example = None
        self._ClusterIdentifier = None
        self._FuncId = None
        self._ClassName = None
        self._ResourceList = None
        self._OperatorUserIds = None
        self._OwnerUserIds = None
        self._DbName = None
        self._SubmitErrorMsg = None
        self._SchemaName = None
        self._CommandFormat = None
        self._OwnerName = None
        self._SubmitTimestamp = None
        self._Tag = None
        self._OperatorUserIdsStr = None
        self._OwnerUserIdsStr = None
        self._EnvType = None
        self._FunctionResourceFileType = None

    @property
    def Name(self):
        r"""名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def DisplayName(self):
        r"""展示名称
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def LayerPath(self):
        r"""层级路径
        :rtype: str
        """
        return self._LayerPath

    @LayerPath.setter
    def LayerPath(self, LayerPath):
        self._LayerPath = LayerPath

    @property
    def ParentLayerPath(self):
        r"""上级层级路径
        :rtype: str
        """
        return self._ParentLayerPath

    @ParentLayerPath.setter
    def ParentLayerPath(self, ParentLayerPath):
        self._ParentLayerPath = ParentLayerPath

    @property
    def Type(self):
        r"""函数类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Kind(self):
        r"""函数分类：窗口函数、聚合函数、日期函数......
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Kind

    @Kind.setter
    def Kind(self, Kind):
        self._Kind = Kind

    @property
    def Category(self):
        r"""函数种类：系统函数、自定义函数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Category

    @Category.setter
    def Category(self, Category):
        self._Category = Category

    @property
    def Status(self):
        r"""函数状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def Description(self):
        r"""函数说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Usage(self):
        r"""函数用法
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Usage

    @Usage.setter
    def Usage(self, Usage):
        self._Usage = Usage

    @property
    def ParamDesc(self):
        r"""函数参数说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamDesc

    @ParamDesc.setter
    def ParamDesc(self, ParamDesc):
        self._ParamDesc = ParamDesc

    @property
    def ReturnDesc(self):
        r"""函数返回值说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ReturnDesc

    @ReturnDesc.setter
    def ReturnDesc(self, ReturnDesc):
        self._ReturnDesc = ReturnDesc

    @property
    def Example(self):
        r"""函数示例
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Example

    @Example.setter
    def Example(self, Example):
        self._Example = Example

    @property
    def ClusterIdentifier(self):
        r"""集群实例引擎 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterIdentifier

    @ClusterIdentifier.setter
    def ClusterIdentifier(self, ClusterIdentifier):
        self._ClusterIdentifier = ClusterIdentifier

    @property
    def FuncId(self):
        r"""函数 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FuncId

    @FuncId.setter
    def FuncId(self, FuncId):
        self._FuncId = FuncId

    @property
    def ClassName(self):
        r"""函数类名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClassName

    @ClassName.setter
    def ClassName(self, ClassName):
        self._ClassName = ClassName

    @property
    def ResourceList(self):
        r"""函数资源列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FunctionVersion
        """
        return self._ResourceList

    @ResourceList.setter
    def ResourceList(self, ResourceList):
        self._ResourceList = ResourceList

    @property
    def OperatorUserIds(self):
        r"""操作人 ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._OperatorUserIds

    @OperatorUserIds.setter
    def OperatorUserIds(self, OperatorUserIds):
        self._OperatorUserIds = OperatorUserIds

    @property
    def OwnerUserIds(self):
        r"""公有云 Owner ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._OwnerUserIds

    @OwnerUserIds.setter
    def OwnerUserIds(self, OwnerUserIds):
        self._OwnerUserIds = OwnerUserIds

    @property
    def DbName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DbName

    @DbName.setter
    def DbName(self, DbName):
        self._DbName = DbName

    @property
    def SubmitErrorMsg(self):
        r"""提交失败错误信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubmitErrorMsg

    @SubmitErrorMsg.setter
    def SubmitErrorMsg(self, SubmitErrorMsg):
        self._SubmitErrorMsg = SubmitErrorMsg

    @property
    def SchemaName(self):
        r"""模式名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def CommandFormat(self):
        r"""函数命令格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CommandFormat

    @CommandFormat.setter
    def CommandFormat(self, CommandFormat):
        self._CommandFormat = CommandFormat

    @property
    def OwnerName(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def SubmitTimestamp(self):
        r"""时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubmitTimestamp

    @SubmitTimestamp.setter
    def SubmitTimestamp(self, SubmitTimestamp):
        self._SubmitTimestamp = SubmitTimestamp

    @property
    def Tag(self):
        r"""函数tag
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Tag

    @Tag.setter
    def Tag(self, Tag):
        self._Tag = Tag

    @property
    def OperatorUserIdsStr(self):
        r"""操作人 ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._OperatorUserIdsStr

    @OperatorUserIdsStr.setter
    def OperatorUserIdsStr(self, OperatorUserIdsStr):
        self._OperatorUserIdsStr = OperatorUserIdsStr

    @property
    def OwnerUserIdsStr(self):
        r"""公有云 Owner ID 列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._OwnerUserIdsStr

    @OwnerUserIdsStr.setter
    def OwnerUserIdsStr(self, OwnerUserIdsStr):
        self._OwnerUserIdsStr = OwnerUserIdsStr

    @property
    def EnvType(self):
        r"""数据库环境
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EnvType

    @EnvType.setter
    def EnvType(self, EnvType):
        self._EnvType = EnvType

    @property
    def FunctionResourceFileType(self):
        r"""函数资源文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FunctionResourceFileType

    @FunctionResourceFileType.setter
    def FunctionResourceFileType(self, FunctionResourceFileType):
        self._FunctionResourceFileType = FunctionResourceFileType


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._DisplayName = params.get("DisplayName")
        self._LayerPath = params.get("LayerPath")
        self._ParentLayerPath = params.get("ParentLayerPath")
        self._Type = params.get("Type")
        self._Kind = params.get("Kind")
        self._Category = params.get("Category")
        self._Status = params.get("Status")
        self._Description = params.get("Description")
        self._Usage = params.get("Usage")
        self._ParamDesc = params.get("ParamDesc")
        self._ReturnDesc = params.get("ReturnDesc")
        self._Example = params.get("Example")
        self._ClusterIdentifier = params.get("ClusterIdentifier")
        self._FuncId = params.get("FuncId")
        self._ClassName = params.get("ClassName")
        if params.get("ResourceList") is not None:
            self._ResourceList = []
            for item in params.get("ResourceList"):
                obj = FunctionVersion()
                obj._deserialize(item)
                self._ResourceList.append(obj)
        self._OperatorUserIds = params.get("OperatorUserIds")
        self._OwnerUserIds = params.get("OwnerUserIds")
        self._DbName = params.get("DbName")
        self._SubmitErrorMsg = params.get("SubmitErrorMsg")
        self._SchemaName = params.get("SchemaName")
        self._CommandFormat = params.get("CommandFormat")
        self._OwnerName = params.get("OwnerName")
        self._SubmitTimestamp = params.get("SubmitTimestamp")
        self._Tag = params.get("Tag")
        self._OperatorUserIdsStr = params.get("OperatorUserIdsStr")
        self._OwnerUserIdsStr = params.get("OwnerUserIdsStr")
        self._EnvType = params.get("EnvType")
        self._FunctionResourceFileType = params.get("FunctionResourceFileType")
        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 PageRoles(AbstractModel):
    r"""角色列表分页信息

    """

    def __init__(self):
        r"""
        :param _Rows: 角色信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of BaseRole
        :param _PageNumber: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _TotalCount: 总个数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        """
        self._Rows = None
        self._PageNumber = None
        self._PageSize = None
        self._TotalCount = None
        self._TotalPageNumber = None

    @property
    def Rows(self):
        r"""角色信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of BaseRole
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def PageNumber(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalCount(self):
        r"""总个数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber


    def _deserialize(self, params):
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = BaseRole()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        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 PageTaskTemplateInfo(AbstractModel):
    r"""任务模版分页

    """

    def __init__(self):
        r"""
        :param _Items: 任务集合信息
        :type Items: list of CodeTemplateDetail
        :param _PageCount: 总页数
        :type PageCount: int
        :param _TotalCount: 总数量
        :type TotalCount: int
        :param _PageNumber: 当前页
        :type PageNumber: int
        :param _PageSize: 每页显示数
        :type PageSize: int
        """
        self._Items = None
        self._PageCount = None
        self._TotalCount = None
        self._PageNumber = None
        self._PageSize = None

    @property
    def Items(self):
        r"""任务集合信息
        :rtype: list of CodeTemplateDetail
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def PageCount(self):
        r"""总页数
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def TotalCount(self):
        r"""总数量
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageNumber(self):
        r"""当前页
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""每页显示数
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    def _deserialize(self, params):
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = CodeTemplateDetail()
                obj._deserialize(item)
                self._Items.append(obj)
        self._PageCount = params.get("PageCount")
        self._TotalCount = params.get("TotalCount")
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        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 Pair(AbstractModel):
    r"""键值对

    """

    def __init__(self):
        r"""
        :param _Key: 键名
        :type Key: str
        :param _Value: 值
        :type Value: str
        :param _Id:  唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        """
        self._Key = None
        self._Value = None
        self._Id = None

    @property
    def Key(self):
        r"""键名
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""值
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Id(self):
        r""" 唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        self._Id = params.get("Id")
        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 PairDto(AbstractModel):
    r"""键值对

    """

    def __init__(self):
        r"""
        :param _Key: 键名
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: 值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        :param _Description: 描述
        :type Description: str
        """
        self._Key = None
        self._Value = None
        self._Description = None

    @property
    def Key(self):
        r"""键名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value

    @property
    def Description(self):
        r"""描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._Value = params.get("Value")
        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 ParamGetTaskInstancesStatusInfoResponseInstance(AbstractModel):
    r"""根据任务信息获取实例状态信息实例

    """

    def __init__(self):
        r"""
        :param _InstanceId: 实例编号
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _Status: 状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _RecordId: 记录编号
注意：此字段可能返回 null，表示取不到有效值。
        :type RecordId: str
        :param _TaskId: 任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        """
        self._InstanceId = None
        self._Status = None
        self._RecordId = None
        self._TaskId = None

    @property
    def InstanceId(self):
        r"""实例编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def Status(self):
        r"""状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def RecordId(self):
        r"""记录编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def TaskId(self):
        r"""任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId


    def _deserialize(self, params):
        self._InstanceId = params.get("InstanceId")
        self._Status = params.get("Status")
        self._RecordId = params.get("RecordId")
        self._TaskId = params.get("TaskId")
        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 ParamInfo(AbstractModel):
    r"""参数参数

    """

    def __init__(self):
        r"""
        :param _ParamKey: 参数名
        :type ParamKey: str
        :param _ParamValue: 参数值
        :type ParamValue: str
        """
        self._ParamKey = None
        self._ParamValue = None

    @property
    def ParamKey(self):
        r"""参数名
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ParamValue(self):
        r"""参数值
        :rtype: str
        """
        return self._ParamValue

    @ParamValue.setter
    def ParamValue(self, ParamValue):
        self._ParamValue = ParamValue


    def _deserialize(self, params):
        self._ParamKey = params.get("ParamKey")
        self._ParamValue = params.get("ParamValue")
        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 ParamInfoDs(AbstractModel):
    r"""参数参数

    """

    def __init__(self):
        r"""
        :param _ParamKey: 参数名
        :type ParamKey: str
        :param _ParamValue: 参数值
        :type ParamValue: str
        """
        self._ParamKey = None
        self._ParamValue = None

    @property
    def ParamKey(self):
        r"""参数名
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ParamValue(self):
        r"""参数值
        :rtype: str
        """
        return self._ParamValue

    @ParamValue.setter
    def ParamValue(self, ParamValue):
        self._ParamValue = ParamValue


    def _deserialize(self, params):
        self._ParamKey = params.get("ParamKey")
        self._ParamValue = params.get("ParamValue")
        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 ParamMapDsDto(AbstractModel):
    r"""ds参数map结构体

    """

    def __init__(self):
        r"""
        :param _Key: k
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: v
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""k
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""v
注意：此字段可能返回 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 ParameterTaskDsDto(AbstractModel):
    r"""任务参数Dto

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _ParamKey: 参数名
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamKey: str
        :param _ParamDefine: 参数定义
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamDefine: str
        :param _ParamValue: 参数值
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamValue: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _InputType: 任务参数输入类型, 取值示例

- text    文本输入

- kv     k-v输入
注意：此字段可能返回 null，表示取不到有效值。
        :type InputType: str
        """
        self._TaskId = None
        self._ParamKey = None
        self._ParamDefine = None
        self._ParamValue = None
        self._CreateTime = None
        self._UpdateTime = None
        self._InputType = None

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ParamKey(self):
        r"""参数名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ParamDefine(self):
        r"""参数定义
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamDefine

    @ParamDefine.setter
    def ParamDefine(self, ParamDefine):
        self._ParamDefine = ParamDefine

    @property
    def ParamValue(self):
        r"""参数值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamValue

    @ParamValue.setter
    def ParamValue(self, ParamValue):
        self._ParamValue = ParamValue

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def InputType(self):
        r"""任务参数输入类型, 取值示例

- text    文本输入

- kv     k-v输入
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InputType

    @InputType.setter
    def InputType(self, InputType):
        self._InputType = InputType


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ParamKey = params.get("ParamKey")
        self._ParamDefine = params.get("ParamDefine")
        self._ParamValue = params.get("ParamValue")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._InputType = params.get("InputType")
        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 ParameterTaskInDsDto(AbstractModel):
    r"""查询任务输入参数Dto

    """

    def __init__(self):
        r"""
        :param _Id: 唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _ParamKey: 参数名
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamKey: str
        :param _ParamDesc: 参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamDesc: str
        :param _FromTaskId: 父任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type FromTaskId: str
        :param _FromParamKey: 父任务参数key
注意：此字段可能返回 null，表示取不到有效值。
        :type FromParamKey: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 升级时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _FromTaskName: 父任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type FromTaskName: str
        :param _FromProjectId: 父任务项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type FromProjectId: str
        :param _FromProjectName: 父任务项目名
注意：此字段可能返回 null，表示取不到有效值。
        :type FromProjectName: str
        """
        self._Id = None
        self._TaskId = None
        self._ParamKey = None
        self._ParamDesc = None
        self._FromTaskId = None
        self._FromParamKey = None
        self._CreateTime = None
        self._UpdateTime = None
        self._FromTaskName = None
        self._FromProjectId = None
        self._FromProjectName = None

    @property
    def Id(self):
        r"""唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ParamKey(self):
        r"""参数名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ParamDesc(self):
        r"""参数描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamDesc

    @ParamDesc.setter
    def ParamDesc(self, ParamDesc):
        self._ParamDesc = ParamDesc

    @property
    def FromTaskId(self):
        r"""父任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FromTaskId

    @FromTaskId.setter
    def FromTaskId(self, FromTaskId):
        self._FromTaskId = FromTaskId

    @property
    def FromParamKey(self):
        r"""父任务参数key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FromParamKey

    @FromParamKey.setter
    def FromParamKey(self, FromParamKey):
        self._FromParamKey = FromParamKey

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""升级时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def FromTaskName(self):
        r"""父任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FromTaskName

    @FromTaskName.setter
    def FromTaskName(self, FromTaskName):
        self._FromTaskName = FromTaskName

    @property
    def FromProjectId(self):
        r"""父任务项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FromProjectId

    @FromProjectId.setter
    def FromProjectId(self, FromProjectId):
        self._FromProjectId = FromProjectId

    @property
    def FromProjectName(self):
        r"""父任务项目名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FromProjectName

    @FromProjectName.setter
    def FromProjectName(self, FromProjectName):
        self._FromProjectName = FromProjectName


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskId = params.get("TaskId")
        self._ParamKey = params.get("ParamKey")
        self._ParamDesc = params.get("ParamDesc")
        self._FromTaskId = params.get("FromTaskId")
        self._FromParamKey = params.get("FromParamKey")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._FromTaskName = params.get("FromTaskName")
        self._FromProjectId = params.get("FromProjectId")
        self._FromProjectName = params.get("FromProjectName")
        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 ParameterTaskOutDsDto(AbstractModel):
    r"""任务参数输出dto

    """

    def __init__(self):
        r"""
        :param _Id: <p>唯一标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _TaskId: <p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _ParamKey: <p>参数名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamKey: str
        :param _ParamDesc: <p>参数描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamDesc: str
        :param _ParamDefine: <p>参数定义</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamDefine: str
        :param _CreateTime: <p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: <p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _TaskName: <p>任务名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProjectId: <p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: <p>项目名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        """
        self._Id = None
        self._TaskId = None
        self._ParamKey = None
        self._ParamDesc = None
        self._ParamDefine = None
        self._CreateTime = None
        self._UpdateTime = None
        self._TaskName = None
        self._ProjectId = None
        self._ProjectName = None

    @property
    def Id(self):
        r"""<p>唯一标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskId(self):
        r"""<p>任务id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ParamKey(self):
        r"""<p>参数名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamKey

    @ParamKey.setter
    def ParamKey(self, ParamKey):
        self._ParamKey = ParamKey

    @property
    def ParamDesc(self):
        r"""<p>参数描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamDesc

    @ParamDesc.setter
    def ParamDesc(self, ParamDesc):
        self._ParamDesc = ParamDesc

    @property
    def ParamDefine(self):
        r"""<p>参数定义</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamDefine

    @ParamDefine.setter
    def ParamDefine(self, ParamDefine):
        self._ParamDefine = ParamDefine

    @property
    def CreateTime(self):
        r"""<p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""<p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def TaskName(self):
        r"""<p>任务名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""<p>项目名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskId = params.get("TaskId")
        self._ParamKey = params.get("ParamKey")
        self._ParamDesc = params.get("ParamDesc")
        self._ParamDefine = params.get("ParamDefine")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._TaskName = params.get("TaskName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        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 Partition(AbstractModel):
    r"""分区参数

    """

    def __init__(self):
        r"""
        :param _Transform: 分区转换策略
        :type Transform: str
        :param _Name: 分区字段名
        :type Name: str
        :param _TransformArgs: 策略参数
        :type TransformArgs: list of str
        """
        self._Transform = None
        self._Name = None
        self._TransformArgs = None

    @property
    def Transform(self):
        r"""分区转换策略
        :rtype: str
        """
        return self._Transform

    @Transform.setter
    def Transform(self, Transform):
        self._Transform = Transform

    @property
    def Name(self):
        r"""分区字段名
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def TransformArgs(self):
        r"""策略参数
        :rtype: list of str
        """
        return self._TransformArgs

    @TransformArgs.setter
    def TransformArgs(self, TransformArgs):
        self._TransformArgs = TransformArgs


    def _deserialize(self, params):
        self._Transform = params.get("Transform")
        self._Name = params.get("Name")
        self._TransformArgs = params.get("TransformArgs")
        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 PathNodeDsVO(AbstractModel):
    r"""数据开发-统一树结构返回属性

    """

    def __init__(self):
        r"""
        :param _Id: PathNode ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _Title: PathNode 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Title: str
        :param _Type: PathNode 类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _ParentId: 父节点唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentId: str
        :param _IsLeaf: 是否叶子节点
注意：此字段可能返回 null，表示取不到有效值。
        :type IsLeaf: bool
        :param _Children: 子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Children: list of PathNodeDsVO
        :param _Params: 业务参数 ,base64编译的json串，获取具体参数需要base64反编译
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        """
        self._Id = None
        self._Title = None
        self._Type = None
        self._ParentId = None
        self._IsLeaf = None
        self._Children = None
        self._Params = None

    @property
    def Id(self):
        r"""PathNode ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def Title(self):
        r"""PathNode 名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Title

    @Title.setter
    def Title(self, Title):
        self._Title = Title

    @property
    def Type(self):
        r"""PathNode 类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def ParentId(self):
        r"""父节点唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentId

    @ParentId.setter
    def ParentId(self, ParentId):
        self._ParentId = ParentId

    @property
    def IsLeaf(self):
        r"""是否叶子节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsLeaf

    @IsLeaf.setter
    def IsLeaf(self, IsLeaf):
        self._IsLeaf = IsLeaf

    @property
    def Children(self):
        r"""子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of PathNodeDsVO
        """
        return self._Children

    @Children.setter
    def Children(self, Children):
        self._Children = Children

    @property
    def Params(self):
        r"""业务参数 ,base64编译的json串，获取具体参数需要base64反编译
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._Title = params.get("Title")
        self._Type = params.get("Type")
        self._ParentId = params.get("ParentId")
        self._IsLeaf = params.get("IsLeaf")
        if params.get("Children") is not None:
            self._Children = []
            for item in params.get("Children"):
                obj = PathNodeDsVO()
                obj._deserialize(item)
                self._Children.append(obj)
        self._Params = params.get("Params")
        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 PermissionStatus(AbstractModel):
    r"""读写权限状态

    """

    def __init__(self):
        r"""
        :param _CanWrite: 写权限
注意：此字段可能返回 null，表示取不到有效值。
        :type CanWrite: bool
        :param _CanDelete: 写权限
注意：此字段可能返回 null，表示取不到有效值。
        :type CanDelete: bool
        :param _CanRead: 写权限
注意：此字段可能返回 null，表示取不到有效值。
        :type CanRead: bool
        """
        self._CanWrite = None
        self._CanDelete = None
        self._CanRead = None

    @property
    def CanWrite(self):
        r"""写权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._CanWrite

    @CanWrite.setter
    def CanWrite(self, CanWrite):
        self._CanWrite = CanWrite

    @property
    def CanDelete(self):
        r"""写权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._CanDelete

    @CanDelete.setter
    def CanDelete(self, CanDelete):
        self._CanDelete = CanDelete

    @property
    def CanRead(self):
        r"""写权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._CanRead

    @CanRead.setter
    def CanRead(self, CanRead):
        self._CanRead = CanRead


    def _deserialize(self, params):
        self._CanWrite = params.get("CanWrite")
        self._CanDelete = params.get("CanDelete")
        self._CanRead = params.get("CanRead")
        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 ProdSchedulerTask(AbstractModel):
    r"""数据质量生产调度任务业务实体

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 生产调度任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _TaskId: 生产调度任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 生产调度任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _CycleType: 生产调度任务任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: int
        :param _TaskType: 生产任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: str
        :param _ScheduleTimeZone: 时区
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        :param _InChargeIdList: 负责人id
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeIdList: list of str
        :param _InChargeNameList: 负责人name
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeNameList: list of str
        :param _TaskStatus: 生产调度任务状态，参考调度任务侧状态信息，“DELETED”状态为质量侧单独加的，查不到任务时认为任务“DELETED”
'Y': '调度中',
'F': '已下线',
'O': '已暂停',
'INVALID': '已失效',
'DELETED': '已删除' 
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskStatus: str
        """
        self._WorkflowId = None
        self._TaskId = None
        self._TaskName = None
        self._CycleType = None
        self._TaskType = None
        self._ScheduleTimeZone = None
        self._InChargeIdList = None
        self._InChargeNameList = None
        self._TaskStatus = None

    @property
    def WorkflowId(self):
        r"""生产调度任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskId(self):
        r"""生产调度任务Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""生产调度任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CycleType(self):
        r"""生产调度任务任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def TaskType(self):
        r"""生产任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def ScheduleTimeZone(self):
        r"""时区
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def InChargeIdList(self):
        r"""负责人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._InChargeIdList

    @InChargeIdList.setter
    def InChargeIdList(self, InChargeIdList):
        self._InChargeIdList = InChargeIdList

    @property
    def InChargeNameList(self):
        r"""负责人name
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._InChargeNameList

    @InChargeNameList.setter
    def InChargeNameList(self, InChargeNameList):
        self._InChargeNameList = InChargeNameList

    @property
    def TaskStatus(self):
        r"""生产调度任务状态，参考调度任务侧状态信息，“DELETED”状态为质量侧单独加的，查不到任务时认为任务“DELETED”
'Y': '调度中',
'F': '已下线',
'O': '已暂停',
'INVALID': '已失效',
'DELETED': '已删除' 
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskStatus

    @TaskStatus.setter
    def TaskStatus(self, TaskStatus):
        self._TaskStatus = TaskStatus


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._CycleType = params.get("CycleType")
        self._TaskType = params.get("TaskType")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._InChargeIdList = params.get("InChargeIdList")
        self._InChargeNameList = params.get("InChargeNameList")
        self._TaskStatus = params.get("TaskStatus")
        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 Project(AbstractModel):
    r"""项目信息

    """

    def __init__(self):
        r"""
        :param _TenantId: 项目的所在租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目标识，英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _DisplayName: 项目显示名称，可以为中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _Region: 地域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _Description: 备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Creator: 创建者
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        :param _Tenant: 租户信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Tenant: :class:`tencentcloud.wedata.v20210820.models.BaseTenant`
        :param _AdminUsers: 项目的管理员
注意：此字段可能返回 null，表示取不到有效值。
        :type AdminUsers: list of BaseUser
        :param _Clusters: 项目关联的集群信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Clusters: list of BaseClusterInfo
        :param _Params: 项目的额外配置参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _Status: 项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
        :type Status: int
        :param _Model: 项目类型，SIMPLE：简单模式 STANDARD：标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :type Model: str
        :param _SecondModuleList: 二级菜单
注意：此字段可能返回 null，表示取不到有效值。
        :type SecondModuleList: list of str
        :param _Owner: 项目负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        :param _WorkspaceExt: 项目扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkspaceExt: list of WorkspaceExt
        :param _CreateTimestamp: 创建时间时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimestamp: int
        """
        self._TenantId = None
        self._ProjectId = None
        self._ProjectName = None
        self._DisplayName = None
        self._Region = None
        self._Description = None
        self._CreateTime = None
        self._Creator = None
        self._Tenant = None
        self._AdminUsers = None
        self._Clusters = None
        self._Params = None
        self._Status = None
        self._Model = None
        self._SecondModuleList = None
        self._Owner = None
        self._WorkspaceExt = None
        self._CreateTimestamp = None

    @property
    def TenantId(self):
        r"""项目的所在租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目标识，英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def DisplayName(self):
        r"""项目显示名称，可以为中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def Region(self):
        r"""地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def Description(self):
        r"""备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Creator(self):
        r"""创建者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def Tenant(self):
        r"""租户信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BaseTenant`
        """
        return self._Tenant

    @Tenant.setter
    def Tenant(self, Tenant):
        self._Tenant = Tenant

    @property
    def AdminUsers(self):
        r"""项目的管理员
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of BaseUser
        """
        return self._AdminUsers

    @AdminUsers.setter
    def AdminUsers(self, AdminUsers):
        self._AdminUsers = AdminUsers

    @property
    def Clusters(self):
        r"""项目关联的集群信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of BaseClusterInfo
        """
        return self._Clusters

    @Clusters.setter
    def Clusters(self, Clusters):
        self._Clusters = Clusters

    @property
    def Params(self):
        r"""项目的额外配置参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def Status(self):
        r"""项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def Model(self):
        r"""项目类型，SIMPLE：简单模式 STANDARD：标准模式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Model

    @Model.setter
    def Model(self, Model):
        self._Model = Model

    @property
    def SecondModuleList(self):
        r"""二级菜单
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._SecondModuleList

    @SecondModuleList.setter
    def SecondModuleList(self, SecondModuleList):
        self._SecondModuleList = SecondModuleList

    @property
    def Owner(self):
        r"""项目负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BaseUser`
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def WorkspaceExt(self):
        r"""项目扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkspaceExt
        """
        return self._WorkspaceExt

    @WorkspaceExt.setter
    def WorkspaceExt(self, WorkspaceExt):
        self._WorkspaceExt = WorkspaceExt

    @property
    def CreateTimestamp(self):
        r"""创建时间时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTimestamp

    @CreateTimestamp.setter
    def CreateTimestamp(self, CreateTimestamp):
        self._CreateTimestamp = CreateTimestamp


    def _deserialize(self, params):
        self._TenantId = params.get("TenantId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._DisplayName = params.get("DisplayName")
        self._Region = params.get("Region")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        if params.get("Creator") is not None:
            self._Creator = BaseUser()
            self._Creator._deserialize(params.get("Creator"))
        if params.get("Tenant") is not None:
            self._Tenant = BaseTenant()
            self._Tenant._deserialize(params.get("Tenant"))
        if params.get("AdminUsers") is not None:
            self._AdminUsers = []
            for item in params.get("AdminUsers"):
                obj = BaseUser()
                obj._deserialize(item)
                self._AdminUsers.append(obj)
        if params.get("Clusters") is not None:
            self._Clusters = []
            for item in params.get("Clusters"):
                obj = BaseClusterInfo()
                obj._deserialize(item)
                self._Clusters.append(obj)
        self._Params = params.get("Params")
        self._Status = params.get("Status")
        self._Model = params.get("Model")
        self._SecondModuleList = params.get("SecondModuleList")
        if params.get("Owner") is not None:
            self._Owner = BaseUser()
            self._Owner._deserialize(params.get("Owner"))
        if params.get("WorkspaceExt") is not None:
            self._WorkspaceExt = []
            for item in params.get("WorkspaceExt"):
                obj = WorkspaceExt()
                obj._deserialize(item)
                self._WorkspaceExt.append(obj)
        self._CreateTimestamp = params.get("CreateTimestamp")
        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 ProjectBaseInfoOpsRequest(AbstractModel):
    r"""基础信息

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _IsAdmin: 是否admin
        :type IsAdmin: bool
        """
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._IsAdmin = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def IsAdmin(self):
        r"""是否admin
        :rtype: bool
        """
        return self._IsAdmin

    @IsAdmin.setter
    def IsAdmin(self, IsAdmin):
        self._IsAdmin = IsAdmin


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._IsAdmin = params.get("IsAdmin")
        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 ProjectPage(AbstractModel):
    r"""查询数据源分页列表

    """

    def __init__(self):
        r"""
        :param _PageNumber: 分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _Rows: 数据源列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of Project
        :param _TotalCount: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        """
        self._PageNumber = None
        self._PageSize = None
        self._Rows = None
        self._TotalCount = None
        self._TotalPageNumber = None

    @property
    def PageNumber(self):
        r"""分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Rows(self):
        r"""数据源列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Project
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def TotalCount(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber


    def _deserialize(self, params):
        self._PageNumber = params.get("PageNumber")
        self._PageSize = params.get("PageSize")
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = Project()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        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 ProjectUserRole(AbstractModel):
    r"""项目的用户对象

    """

    def __init__(self):
        r"""
        :param _Roles: 用户角色对象
注意：此字段可能返回 null，表示取不到有效值。
        :type Roles: list of SystemRole
        :param _UserName: mc
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _UserId: 用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Creator: 是否创建者
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: bool
        :param _DisplayName: 显示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayName: str
        :param _IsProjectAdmin: 是否项目管理员
注意：此字段可能返回 null，表示取不到有效值。
        :type IsProjectAdmin: bool
        :param _PhoneNum: 手机号
注意：此字段可能返回 null，表示取不到有效值。
        :type PhoneNum: str
        :param _Email: 邮箱
注意：此字段可能返回 null，表示取不到有效值。
        :type Email: str
        :param _OwnerUin: 主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _AppId: 租户iD
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _IsProjectOwner: 是否项目负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type IsProjectOwner: bool
        :param _CreateTimestamp: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimestamp: int
        :param _Status: 用户状态 0:历史 1:正常 2:已删除
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _UserTag: 0: 普通用户 1: entraId用户
注意：此字段可能返回 null，表示取不到有效值。
        :type UserTag: int
        """
        self._Roles = None
        self._UserName = None
        self._UserId = None
        self._CreateTime = None
        self._Creator = None
        self._DisplayName = None
        self._IsProjectAdmin = None
        self._PhoneNum = None
        self._Email = None
        self._OwnerUin = None
        self._AppId = None
        self._IsProjectOwner = None
        self._CreateTimestamp = None
        self._Status = None
        self._UserTag = None

    @property
    def Roles(self):
        r"""用户角色对象
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SystemRole
        """
        return self._Roles

    @Roles.setter
    def Roles(self, Roles):
        self._Roles = Roles

    @property
    def UserName(self):
        r"""mc
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def UserId(self):
        r"""用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Creator(self):
        r"""是否创建者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def DisplayName(self):
        r"""显示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayName

    @DisplayName.setter
    def DisplayName(self, DisplayName):
        self._DisplayName = DisplayName

    @property
    def IsProjectAdmin(self):
        r"""是否项目管理员
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsProjectAdmin

    @IsProjectAdmin.setter
    def IsProjectAdmin(self, IsProjectAdmin):
        self._IsProjectAdmin = IsProjectAdmin

    @property
    def PhoneNum(self):
        r"""手机号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PhoneNum

    @PhoneNum.setter
    def PhoneNum(self, PhoneNum):
        self._PhoneNum = PhoneNum

    @property
    def Email(self):
        r"""邮箱
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Email

    @Email.setter
    def Email(self, Email):
        self._Email = Email

    @property
    def OwnerUin(self):
        r"""主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def AppId(self):
        r"""租户iD
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def IsProjectOwner(self):
        r"""是否项目负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsProjectOwner

    @IsProjectOwner.setter
    def IsProjectOwner(self, IsProjectOwner):
        self._IsProjectOwner = IsProjectOwner

    @property
    def CreateTimestamp(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTimestamp

    @CreateTimestamp.setter
    def CreateTimestamp(self, CreateTimestamp):
        self._CreateTimestamp = CreateTimestamp

    @property
    def Status(self):
        r"""用户状态 0:历史 1:正常 2:已删除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def UserTag(self):
        r"""0: 普通用户 1: entraId用户
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UserTag

    @UserTag.setter
    def UserTag(self, UserTag):
        self._UserTag = UserTag


    def _deserialize(self, params):
        if params.get("Roles") is not None:
            self._Roles = []
            for item in params.get("Roles"):
                obj = SystemRole()
                obj._deserialize(item)
                self._Roles.append(obj)
        self._UserName = params.get("UserName")
        self._UserId = params.get("UserId")
        self._CreateTime = params.get("CreateTime")
        self._Creator = params.get("Creator")
        self._DisplayName = params.get("DisplayName")
        self._IsProjectAdmin = params.get("IsProjectAdmin")
        self._PhoneNum = params.get("PhoneNum")
        self._Email = params.get("Email")
        self._OwnerUin = params.get("OwnerUin")
        self._AppId = params.get("AppId")
        self._IsProjectOwner = params.get("IsProjectOwner")
        self._CreateTimestamp = params.get("CreateTimestamp")
        self._Status = params.get("Status")
        self._UserTag = params.get("UserTag")
        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 ProjectUsersPage(AbstractModel):
    r"""项目下的用户集合

    """

    def __init__(self):
        r"""
        :param _Rows: 用户集合
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of ProjectUserRole
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _PageNumber: 分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNumber: int
        :param _TotalCount: 总数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        """
        self._Rows = None
        self._PageSize = None
        self._PageNumber = None
        self._TotalCount = None
        self._TotalPageNumber = None

    @property
    def Rows(self):
        r"""用户集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ProjectUserRole
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def PageNumber(self):
        r"""分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNumber

    @PageNumber.setter
    def PageNumber(self, PageNumber):
        self._PageNumber = PageNumber

    @property
    def TotalCount(self):
        r"""总数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总分页页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber


    def _deserialize(self, params):
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = ProjectUserRole()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._PageSize = params.get("PageSize")
        self._PageNumber = params.get("PageNumber")
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        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 Property(AbstractModel):
    r"""dlc建表属性

    """

    def __init__(self):
        r"""
        :param _Key: key值
        :type Key: str
        :param _Value: value值
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""key值
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""value值
        :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 QualityScore(AbstractModel):
    r"""质量评分

    """

    def __init__(self):
        r"""
        :param _CompositeScore: 综合分数
注意：此字段可能返回 null，表示取不到有效值。
        :type CompositeScore: float
        :param _ScoringDistribution: 评分分布
注意：此字段可能返回 null，表示取不到有效值。
        :type ScoringDistribution: list of TableScoreStatisticsInfo
        :param _TotalTableNumber: 总表数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalTableNumber: int
        """
        self._CompositeScore = None
        self._ScoringDistribution = None
        self._TotalTableNumber = None

    @property
    def CompositeScore(self):
        r"""综合分数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._CompositeScore

    @CompositeScore.setter
    def CompositeScore(self, CompositeScore):
        self._CompositeScore = CompositeScore

    @property
    def ScoringDistribution(self):
        r"""评分分布
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableScoreStatisticsInfo
        """
        return self._ScoringDistribution

    @ScoringDistribution.setter
    def ScoringDistribution(self, ScoringDistribution):
        self._ScoringDistribution = ScoringDistribution

    @property
    def TotalTableNumber(self):
        r"""总表数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalTableNumber

    @TotalTableNumber.setter
    def TotalTableNumber(self, TotalTableNumber):
        self._TotalTableNumber = TotalTableNumber


    def _deserialize(self, params):
        self._CompositeScore = params.get("CompositeScore")
        if params.get("ScoringDistribution") is not None:
            self._ScoringDistribution = []
            for item in params.get("ScoringDistribution"):
                obj = TableScoreStatisticsInfo()
                obj._deserialize(item)
                self._ScoringDistribution.append(obj)
        self._TotalTableNumber = params.get("TotalTableNumber")
        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 QualityScoreTrend(AbstractModel):
    r"""质量评分趋势

    """

    def __init__(self):
        r"""
        :param _AverageScore: 周期平均分
注意：此字段可能返回 null，表示取不到有效值。
        :type AverageScore: float
        :param _DailyScoreList: 日评分列表
注意：此字段可能返回 null，表示取不到有效值。
        :type DailyScoreList: list of DailyScoreInfo
        """
        self._AverageScore = None
        self._DailyScoreList = None

    @property
    def AverageScore(self):
        r"""周期平均分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._AverageScore

    @AverageScore.setter
    def AverageScore(self, AverageScore):
        self._AverageScore = AverageScore

    @property
    def DailyScoreList(self):
        r"""日评分列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DailyScoreInfo
        """
        return self._DailyScoreList

    @DailyScoreList.setter
    def DailyScoreList(self, DailyScoreList):
        self._DailyScoreList = DailyScoreList


    def _deserialize(self, params):
        self._AverageScore = params.get("AverageScore")
        if params.get("DailyScoreList") is not None:
            self._DailyScoreList = []
            for item in params.get("DailyScoreList"):
                obj = DailyScoreInfo()
                obj._deserialize(item)
                self._DailyScoreList.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 QuietPeriod(AbstractModel):
    r"""数据集成 - 告警免打扰时间

    """

    def __init__(self):
        r"""
        :param _DaysOfWeek: 代表一周里的哪些天，1代表周一，7代表周日，以此类推
注意：此字段可能返回 null，表示取不到有效值。
        :type DaysOfWeek: list of int non-negative
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        """
        self._DaysOfWeek = None
        self._StartTime = None
        self._EndTime = None

    @property
    def DaysOfWeek(self):
        r"""代表一周里的哪些天，1代表周一，7代表周日，以此类推
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int non-negative
        """
        return self._DaysOfWeek

    @DaysOfWeek.setter
    def DaysOfWeek(self, DaysOfWeek):
        self._DaysOfWeek = DaysOfWeek

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime


    def _deserialize(self, params):
        self._DaysOfWeek = params.get("DaysOfWeek")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 RealTimeTaskInstanceNodeInfo(AbstractModel):
    r"""实时任务实例当前的节点信息

    """

    def __init__(self):
        r"""
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _InstanceNodeInfoList: 实时任务实例节点信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceNodeInfoList: list of InstanceNodeInfo
        """
        self._TaskName = None
        self._TaskId = None
        self._InstanceNodeInfoList = None

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def InstanceNodeInfoList(self):
        r"""实时任务实例节点信息列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of InstanceNodeInfo
        """
        return self._InstanceNodeInfoList

    @InstanceNodeInfoList.setter
    def InstanceNodeInfoList(self, InstanceNodeInfoList):
        self._InstanceNodeInfoList = InstanceNodeInfoList


    def _deserialize(self, params):
        self._TaskName = params.get("TaskName")
        self._TaskId = params.get("TaskId")
        if params.get("InstanceNodeInfoList") is not None:
            self._InstanceNodeInfoList = []
            for item in params.get("InstanceNodeInfoList"):
                obj = InstanceNodeInfo()
                obj._deserialize(item)
                self._InstanceNodeInfoList.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 RealTimeTaskSpeed(AbstractModel):
    r"""实时任务同步速度趋势

    """

    def __init__(self):
        r"""
        :param _RecordsSpeedList: 同步速度条/s列表
        :type RecordsSpeedList: list of RecordsSpeed
        :param _BytesSpeedList: 同步速度字节/s列表
        :type BytesSpeedList: list of BytesSpeed
        :param _RecordsLogSpeed: 日志条数速度
        :type RecordsLogSpeed: list of RecordsSpeed
        :param _BytesLogSpeed: 日志大小速度
        :type BytesLogSpeed: list of BytesSpeed
        """
        self._RecordsSpeedList = None
        self._BytesSpeedList = None
        self._RecordsLogSpeed = None
        self._BytesLogSpeed = None

    @property
    def RecordsSpeedList(self):
        r"""同步速度条/s列表
        :rtype: list of RecordsSpeed
        """
        return self._RecordsSpeedList

    @RecordsSpeedList.setter
    def RecordsSpeedList(self, RecordsSpeedList):
        self._RecordsSpeedList = RecordsSpeedList

    @property
    def BytesSpeedList(self):
        r"""同步速度字节/s列表
        :rtype: list of BytesSpeed
        """
        return self._BytesSpeedList

    @BytesSpeedList.setter
    def BytesSpeedList(self, BytesSpeedList):
        self._BytesSpeedList = BytesSpeedList

    @property
    def RecordsLogSpeed(self):
        r"""日志条数速度
        :rtype: list of RecordsSpeed
        """
        return self._RecordsLogSpeed

    @RecordsLogSpeed.setter
    def RecordsLogSpeed(self, RecordsLogSpeed):
        self._RecordsLogSpeed = RecordsLogSpeed

    @property
    def BytesLogSpeed(self):
        r"""日志大小速度
        :rtype: list of BytesSpeed
        """
        return self._BytesLogSpeed

    @BytesLogSpeed.setter
    def BytesLogSpeed(self, BytesLogSpeed):
        self._BytesLogSpeed = BytesLogSpeed


    def _deserialize(self, params):
        if params.get("RecordsSpeedList") is not None:
            self._RecordsSpeedList = []
            for item in params.get("RecordsSpeedList"):
                obj = RecordsSpeed()
                obj._deserialize(item)
                self._RecordsSpeedList.append(obj)
        if params.get("BytesSpeedList") is not None:
            self._BytesSpeedList = []
            for item in params.get("BytesSpeedList"):
                obj = BytesSpeed()
                obj._deserialize(item)
                self._BytesSpeedList.append(obj)
        if params.get("RecordsLogSpeed") is not None:
            self._RecordsLogSpeed = []
            for item in params.get("RecordsLogSpeed"):
                obj = RecordsSpeed()
                obj._deserialize(item)
                self._RecordsLogSpeed.append(obj)
        if params.get("BytesLogSpeed") is not None:
            self._BytesLogSpeed = []
            for item in params.get("BytesLogSpeed"):
                obj = BytesSpeed()
                obj._deserialize(item)
                self._BytesLogSpeed.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 RecordField(AbstractModel):
    r"""通用记录字段，与服务端约定传入合法的键值对

    """

    def __init__(self):
        r"""
        :param _Name: 字段名称，拓展字段名称
        :type Name: str
        :param _Value: 字段值，拓展字段值
        :type Value: str
        """
        self._Name = None
        self._Value = None

    @property
    def Name(self):
        r"""字段名称，拓展字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Value(self):
        r"""字段值，拓展字段值
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._Name = params.get("Name")
        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 RecordsSpeed(AbstractModel):
    r"""实时任务同步速度 条/s

    """

    def __init__(self):
        r"""
        :param _NodeType: 节点类型
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeType: str
        :param _NodeName: 节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeName: str
        :param _Values: 速度值列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Values: list of SpeedValue
        """
        self._NodeType = None
        self._NodeName = None
        self._Values = None

    @property
    def NodeType(self):
        r"""节点类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeType

    @NodeType.setter
    def NodeType(self, NodeType):
        self._NodeType = NodeType

    @property
    def NodeName(self):
        r"""节点名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeName

    @NodeName.setter
    def NodeName(self, NodeName):
        self._NodeName = NodeName

    @property
    def Values(self):
        r"""速度值列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SpeedValue
        """
        return self._Values

    @Values.setter
    def Values(self, Values):
        self._Values = Values


    def _deserialize(self, params):
        self._NodeType = params.get("NodeType")
        self._NodeName = params.get("NodeName")
        if params.get("Values") is not None:
            self._Values = []
            for item in params.get("Values"):
                obj = SpeedValue()
                obj._deserialize(item)
                self._Values.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 RegisterDsEventListenerRequest(AbstractModel):
    r"""RegisterDsEventListener请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Key: 任务Id
        :type Key: str
        :param _Type: 事件类型，默认 REST_API
        :type Type: str
        :param _EventName: 事件名称
        :type EventName: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _Properties: 配置信息，比如最长等待时间3天配置：[{"ParamKey":"maxWaitEventTime","ParamValue":"3"},{"ParamKey":"maxWaitEventTimeUnit","ParamValue":"DAYS"}]
        :type Properties: list of ParamInfoDs
        :param _EventProjectId: 事件所属项目id
        :type EventProjectId: str
        """
        self._ProjectId = None
        self._Key = None
        self._Type = None
        self._EventName = None
        self._RequestFromSource = None
        self._Properties = None
        self._EventProjectId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Key(self):
        r"""任务Id
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Type(self):
        r"""事件类型，默认 REST_API
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def EventName(self):
        r"""事件名称
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Properties(self):
        r"""配置信息，比如最长等待时间3天配置：[{"ParamKey":"maxWaitEventTime","ParamValue":"3"},{"ParamKey":"maxWaitEventTimeUnit","ParamValue":"DAYS"}]
        :rtype: list of ParamInfoDs
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def EventProjectId(self):
        r"""事件所属项目id
        :rtype: str
        """
        return self._EventProjectId

    @EventProjectId.setter
    def EventProjectId(self, EventProjectId):
        self._EventProjectId = EventProjectId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Key = params.get("Key")
        self._Type = params.get("Type")
        self._EventName = params.get("EventName")
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Properties") is not None:
            self._Properties = []
            for item in params.get("Properties"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._Properties.append(obj)
        self._EventProjectId = params.get("EventProjectId")
        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 RegisterDsEventListenerResponse(AbstractModel):
    r"""RegisterDsEventListener返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 事件监听者
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.EventListenerDTO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""事件监听者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventListenerDTO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = EventListenerDTO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RegisterDsEventPublisherReq(AbstractModel):
    r"""RegisterDsEventPublisher注册事件发布者参数

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Key: 任务id
        :type Key: str
        :param _Type: 类型 REST_API、KAFKA
        :type Type: str
        :param _Properties: 配置信息
        :type Properties: list of ParamInfoDs
        :param _Description: 描述信息
        :type Description: str
        """
        self._ProjectId = None
        self._Key = None
        self._Type = None
        self._Properties = None
        self._Description = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Key(self):
        r"""任务id
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Type(self):
        r"""类型 REST_API、KAFKA
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Properties(self):
        r"""配置信息
        :rtype: list of ParamInfoDs
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def Description(self):
        r"""描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Key = params.get("Key")
        self._Type = params.get("Type")
        if params.get("Properties") is not None:
            self._Properties = []
            for item in params.get("Properties"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._Properties.append(obj)
        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 RegisterDsEventRequest(AbstractModel):
    r"""RegisterDsEvent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _Name: 事件名称
        :type Name: str
        :param _EventSubType: 事件周期类型 1、分钟：MIN    2、小时 ：HOUR    3、天：DAY	
        :type EventSubType: str
        :param _TimeToLive: 事件存活时间，值为大于0的整数
        :type TimeToLive: str
        :param _TimeUnit: 事件存活时间单位	1、天：DAYS    2、分钟：MINUTES
        :type TimeUnit: str
        :param _Owner: 事件所属人，账号昵称	
        :type Owner: str
        :param _Description: 事件描述
        :type Description: str
        :param _EventType: 事件类型GENERAL、TIME_SERIES
        :type EventType: str
        :param _EventBroadcastType: 事件广播类型SINGLE、BROADCAST	
        :type EventBroadcastType: str
        :param _DimensionFormat: 时间格式	
        :type DimensionFormat: str
        :param _ValidConsumeCount: 事件消费有效次数
        :type ValidConsumeCount: int
        """
        self._ProjectId = None
        self._Name = None
        self._EventSubType = None
        self._TimeToLive = None
        self._TimeUnit = None
        self._Owner = None
        self._Description = None
        self._EventType = None
        self._EventBroadcastType = None
        self._DimensionFormat = None
        self._ValidConsumeCount = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Name(self):
        r"""事件名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def EventSubType(self):
        r"""事件周期类型 1、分钟：MIN    2、小时 ：HOUR    3、天：DAY	
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def TimeToLive(self):
        r"""事件存活时间，值为大于0的整数
        :rtype: str
        """
        return self._TimeToLive

    @TimeToLive.setter
    def TimeToLive(self, TimeToLive):
        self._TimeToLive = TimeToLive

    @property
    def TimeUnit(self):
        r"""事件存活时间单位	1、天：DAYS    2、分钟：MINUTES
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def Owner(self):
        r"""事件所属人，账号昵称	
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def Description(self):
        r"""事件描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def EventType(self):
        warnings.warn("parameter `EventType` is deprecated", DeprecationWarning) 

        r"""事件类型GENERAL、TIME_SERIES
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        warnings.warn("parameter `EventType` is deprecated", DeprecationWarning) 

        self._EventType = EventType

    @property
    def EventBroadcastType(self):
        warnings.warn("parameter `EventBroadcastType` is deprecated", DeprecationWarning) 

        r"""事件广播类型SINGLE、BROADCAST	
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        warnings.warn("parameter `EventBroadcastType` is deprecated", DeprecationWarning) 

        self._EventBroadcastType = EventBroadcastType

    @property
    def DimensionFormat(self):
        warnings.warn("parameter `DimensionFormat` is deprecated", DeprecationWarning) 

        r"""时间格式	
        :rtype: str
        """
        return self._DimensionFormat

    @DimensionFormat.setter
    def DimensionFormat(self, DimensionFormat):
        warnings.warn("parameter `DimensionFormat` is deprecated", DeprecationWarning) 

        self._DimensionFormat = DimensionFormat

    @property
    def ValidConsumeCount(self):
        r"""事件消费有效次数
        :rtype: int
        """
        return self._ValidConsumeCount

    @ValidConsumeCount.setter
    def ValidConsumeCount(self, ValidConsumeCount):
        self._ValidConsumeCount = ValidConsumeCount


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Name = params.get("Name")
        self._EventSubType = params.get("EventSubType")
        self._TimeToLive = params.get("TimeToLive")
        self._TimeUnit = params.get("TimeUnit")
        self._Owner = params.get("Owner")
        self._Description = params.get("Description")
        self._EventType = params.get("EventType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._DimensionFormat = params.get("DimensionFormat")
        self._ValidConsumeCount = params.get("ValidConsumeCount")
        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 RegisterDsEventResponse(AbstractModel):
    r"""RegisterDsEvent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 事件信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.EventDsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""事件信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EventDsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = EventDsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RegisterEventListenerRequest(AbstractModel):
    r"""RegisterEventListener请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Key: 关键字，如果是任务，则传任务Id
        :type Key: str
        :param _EventName: 事件名称
        :type EventName: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Type: 事件类型，默认 REST_API
        :type Type: str
        :param _Properties: 配置信息，比如最长等待时间1天配置json：{"maxWaitEventTime":1,"maxWaitEventTimeUnit":"DAYS"}
        :type Properties: str
        """
        self._Key = None
        self._EventName = None
        self._ProjectId = None
        self._Type = None
        self._Properties = None

    @property
    def Key(self):
        r"""关键字，如果是任务，则传任务Id
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def EventName(self):
        r"""事件名称
        :rtype: str
        """
        return self._EventName

    @EventName.setter
    def EventName(self, EventName):
        self._EventName = EventName

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Type(self):
        r"""事件类型，默认 REST_API
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Properties(self):
        r"""配置信息，比如最长等待时间1天配置json：{"maxWaitEventTime":1,"maxWaitEventTimeUnit":"DAYS"}
        :rtype: str
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties


    def _deserialize(self, params):
        self._Key = params.get("Key")
        self._EventName = params.get("EventName")
        self._ProjectId = params.get("ProjectId")
        self._Type = params.get("Type")
        self._Properties = params.get("Properties")
        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 RegisterEventListenerResponse(AbstractModel):
    r"""RegisterEventListener返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchReturn()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RegisterEventRequest(AbstractModel):
    r"""RegisterEvent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Name: 事件名称，支持英文、数字和下划线，最长20个字符, 不能以数字下划线开头。
        :type Name: str
        :param _EventSubType: 事件分割类型，周期类型: DAY，HOUR，MIN，SECOND
        :type EventSubType: str
        :param _EventBroadcastType: 广播：BROADCAST,单播：SINGLE
        :type EventBroadcastType: str
        :param _TimeUnit: 周期类型为天和小时为HOURS ，周期类型为分钟 ：MINUTES,周期类型为秒：SECONDS
        :type TimeUnit: str
        :param _Owner: 事件所属人
        :type Owner: str
        :param _EventType: 事件类型，不填会使用默认值 TIME_SERIES 填充
        :type EventType: str
        :param _DimensionFormat: 对应day： yyyyMMdd，对应HOUR：yyyyMMddHH，对应MIN：yyyyMMddHHmm，对应SECOND：yyyyMMddHHmmss，默认值：yyyyMMdd
        :type DimensionFormat: str
        :param _TimeToLive: 存活时间
        :type TimeToLive: int
        :param _Description: 事件描述
        :type Description: str
        """
        self._ProjectId = None
        self._Name = None
        self._EventSubType = None
        self._EventBroadcastType = None
        self._TimeUnit = None
        self._Owner = None
        self._EventType = None
        self._DimensionFormat = None
        self._TimeToLive = None
        self._Description = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Name(self):
        r"""事件名称，支持英文、数字和下划线，最长20个字符, 不能以数字下划线开头。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def EventSubType(self):
        r"""事件分割类型，周期类型: DAY，HOUR，MIN，SECOND
        :rtype: str
        """
        return self._EventSubType

    @EventSubType.setter
    def EventSubType(self, EventSubType):
        self._EventSubType = EventSubType

    @property
    def EventBroadcastType(self):
        r"""广播：BROADCAST,单播：SINGLE
        :rtype: str
        """
        return self._EventBroadcastType

    @EventBroadcastType.setter
    def EventBroadcastType(self, EventBroadcastType):
        self._EventBroadcastType = EventBroadcastType

    @property
    def TimeUnit(self):
        r"""周期类型为天和小时为HOURS ，周期类型为分钟 ：MINUTES,周期类型为秒：SECONDS
        :rtype: str
        """
        return self._TimeUnit

    @TimeUnit.setter
    def TimeUnit(self, TimeUnit):
        self._TimeUnit = TimeUnit

    @property
    def Owner(self):
        r"""事件所属人
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def EventType(self):
        r"""事件类型，不填会使用默认值 TIME_SERIES 填充
        :rtype: str
        """
        return self._EventType

    @EventType.setter
    def EventType(self, EventType):
        self._EventType = EventType

    @property
    def DimensionFormat(self):
        r"""对应day： yyyyMMdd，对应HOUR：yyyyMMddHH，对应MIN：yyyyMMddHHmm，对应SECOND：yyyyMMddHHmmss，默认值：yyyyMMdd
        :rtype: str
        """
        return self._DimensionFormat

    @DimensionFormat.setter
    def DimensionFormat(self, DimensionFormat):
        self._DimensionFormat = DimensionFormat

    @property
    def TimeToLive(self):
        r"""存活时间
        :rtype: int
        """
        return self._TimeToLive

    @TimeToLive.setter
    def TimeToLive(self, TimeToLive):
        self._TimeToLive = TimeToLive

    @property
    def Description(self):
        r"""事件描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Name = params.get("Name")
        self._EventSubType = params.get("EventSubType")
        self._EventBroadcastType = params.get("EventBroadcastType")
        self._TimeUnit = params.get("TimeUnit")
        self._Owner = params.get("Owner")
        self._EventType = params.get("EventType")
        self._DimensionFormat = params.get("DimensionFormat")
        self._TimeToLive = params.get("TimeToLive")
        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 RegisterEventResponse(AbstractModel):
    r"""RegisterEvent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchReturn()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RegisteredModelAlias(AbstractModel):
    r"""注册模型别名

    """

    def __init__(self):
        r"""
        :param _Alias: 别名的名称
        :type Alias: str
        :param _Version: 别名指向的模型版本号
        :type Version: str
        """
        self._Alias = None
        self._Version = None

    @property
    def Alias(self):
        r"""别名的名称
        :rtype: str
        """
        return self._Alias

    @Alias.setter
    def Alias(self, Alias):
        self._Alias = Alias

    @property
    def Version(self):
        r"""别名指向的模型版本号
        :rtype: str
        """
        return self._Version

    @Version.setter
    def Version(self, Version):
        self._Version = Version


    def _deserialize(self, params):
        self._Alias = params.get("Alias")
        self._Version = params.get("Version")
        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 RegisteredModelTag(AbstractModel):
    r"""注册模型标签

    """

    def __init__(self):
        r"""
        :param _Key: tag key
        :type Key: str
        :param _Value: tag value
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""tag key
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""tag value
        :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 RelatedTask(AbstractModel):
    r"""任务直接关联的其他任务

    """

    def __init__(self):
        r"""
        :param _DependencyDirection: 查询直接依赖方向，如UP、DOWN
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyDirection: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _CycleType: 任务调度周期
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _Status: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _OwnerName: 责任人名
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _ProjectId: 事件项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectDisplayName: 项目展示名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _WorkflowId: 所属工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 所属工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _TaskTypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        """
        self._DependencyDirection = None
        self._TaskId = None
        self._TaskName = None
        self._CycleType = None
        self._Status = None
        self._OwnerName = None
        self._ProjectId = None
        self._ProjectDisplayName = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._TaskTypeId = None

    @property
    def DependencyDirection(self):
        r"""查询直接依赖方向，如UP、DOWN
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyDirection

    @DependencyDirection.setter
    def DependencyDirection(self, DependencyDirection):
        self._DependencyDirection = DependencyDirection

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def CycleType(self):
        r"""任务调度周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def Status(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def OwnerName(self):
        r"""责任人名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def ProjectId(self):
        r"""事件项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectDisplayName(self):
        r"""项目展示名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def WorkflowId(self):
        r"""所属工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""所属工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def TaskTypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId


    def _deserialize(self, params):
        self._DependencyDirection = params.get("DependencyDirection")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._CycleType = params.get("CycleType")
        self._Status = params.get("Status")
        self._OwnerName = params.get("OwnerName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._TaskTypeId = params.get("TaskTypeId")
        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 RemoveDatabaseRequest(AbstractModel):
    r"""RemoveDatabase请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称
        :type DatabaseName: str
        """
        self._DatasourceId = None
        self._DatabaseName = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        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 RemoveDatabaseResponse(AbstractModel):
    r"""RemoveDatabase返回参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 异步删除的任务id,用于查询执行状态
        :type JobId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._JobId = None
        self._RequestId = None

    @property
    def JobId(self):
        r"""异步删除的任务id,用于查询执行状态
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def RequestId(self):
        r"""唯一请求 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._RequestId = params.get("RequestId")


class RemoveSchemaRequest(AbstractModel):
    r"""RemoveSchema请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称
        :type DatabaseName: str
        :param _SchemaName: schema名称
        :type SchemaName: str
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._SchemaName = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        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 RemoveSchemaResponse(AbstractModel):
    r"""RemoveSchema返回参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 异步删除的任务id,用于查询执行状态
        :type JobId: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._JobId = None
        self._RequestId = None

    @property
    def JobId(self):
        r"""异步删除的任务id,用于查询执行状态
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def RequestId(self):
        r"""唯一请求 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._RequestId = params.get("RequestId")


class RemoveTableRequest(AbstractModel):
    r"""RemoveTable请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称
        :type DatabaseName: str
        :param _SchemaName: schema名称
        :type SchemaName: str
        :param _TableName: 表名称
        :type TableName: str
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._SchemaName = None
        self._TableName = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def TableName(self):
        r"""表名称
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._TableName = params.get("TableName")
        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 RemoveTableResponse(AbstractModel):
    r"""RemoveTable返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Result: 结果
        :type Result: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Result = None
        self._RequestId = None

    @property
    def Result(self):
        r"""结果
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Result = params.get("Result")
        self._RequestId = params.get("RequestId")


class RemoveWorkflowDsRequest(AbstractModel):
    r"""RemoveWorkflowDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _DeleteScript: 是否删除脚本
        :type DeleteScript: str
        :param _OperateIsInform: 删除是否通知下游
        :type OperateIsInform: str
        :param _DeleteMode: 是否终止进行中的任务
        :type DeleteMode: str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._DeleteScript = None
        self._OperateIsInform = None
        self._DeleteMode = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def DeleteScript(self):
        r"""是否删除脚本
        :rtype: str
        """
        return self._DeleteScript

    @DeleteScript.setter
    def DeleteScript(self, DeleteScript):
        self._DeleteScript = DeleteScript

    @property
    def OperateIsInform(self):
        r"""删除是否通知下游
        :rtype: str
        """
        return self._OperateIsInform

    @OperateIsInform.setter
    def OperateIsInform(self, OperateIsInform):
        self._OperateIsInform = OperateIsInform

    @property
    def DeleteMode(self):
        r"""是否终止进行中的任务
        :rtype: str
        """
        return self._DeleteMode

    @DeleteMode.setter
    def DeleteMode(self, DeleteMode):
        self._DeleteMode = DeleteMode


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._DeleteScript = params.get("DeleteScript")
        self._OperateIsInform = params.get("OperateIsInform")
        self._DeleteMode = params.get("DeleteMode")
        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 RemoveWorkflowDsResponse(AbstractModel):
    r"""RemoveWorkflowDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否删除成功
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否删除成功
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class RenewWorkflowOwnerDsRequest(AbstractModel):
    r"""RenewWorkflowOwnerDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 工作流ID
        :type ProjectId: str
        :param _Owner: 责任人
        :type Owner: str
        :param _OwnerId: 责任人ID
        :type OwnerId: str
        :param _WorkflowIds: 工作流ID列表
        :type WorkflowIds: list of str
        """
        self._ProjectId = None
        self._Owner = None
        self._OwnerId = None
        self._WorkflowIds = None

    @property
    def ProjectId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Owner(self):
        r"""责任人
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人ID
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def WorkflowIds(self):
        r"""工作流ID列表
        :rtype: list of str
        """
        return self._WorkflowIds

    @WorkflowIds.setter
    def WorkflowIds(self, WorkflowIds):
        self._WorkflowIds = WorkflowIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._WorkflowIds = params.get("WorkflowIds")
        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 RenewWorkflowOwnerDsResponse(AbstractModel):
    r"""RenewWorkflowOwnerDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchResultDs`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchResultDs`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchResultDs()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RenewWorkflowSchedulerInfoDsRequest(AbstractModel):
    r"""RenewWorkflowSchedulerInfoDs请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _WorkflowId: 工作流ID
        :type WorkflowId: str
        :param _DelayTime: 延迟时间
        :type DelayTime: int
        :param _StartupTime: 启动时间
        :type StartupTime: int
        :param _SelfDepend: 任务依赖
        :type SelfDepend: str
        :param _StartTime: 开始时间
        :type StartTime: str
        :param _EndTime: 结束时间
        :type EndTime: str
        :param _TaskAction: 指定运行时间
        :type TaskAction: str
        :param _CycleType: 调度周期时间单位
        :type CycleType: str
        :param _CycleStep: 调度周期
        :type CycleStep: int
        :param _ExecutionStartTime: 执行时间左闭区间
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间
        :type ExecutionEndTime: str
        :param _InstanceInitStrategy: 任务初始化策略，T_PLUS_1、T_PLUS_0、T_MINUS_1
        :type InstanceInitStrategy: str
        :param _DependencyWorkflow: 工作流依赖，yes or no
        :type DependencyWorkflow: str
        :param _CrontabExpression: CrontabExpression
        :type CrontabExpression: str
        :param _ModifyCycleValue: 0：不修改
1：将任务的上游依赖配置改为默认值 
        :type ModifyCycleValue: str
        :param _CalendarOpen: 是否开启日历调度 1 开启 0关闭
        :type CalendarOpen: str
        :param _CalendarName: 日历名称
        :type CalendarName: str
        :param _CalendarId: 日历id
        :type CalendarId: str
        :param _ScheduleTimeZone: 时区
        :type ScheduleTimeZone: str
        :param _ClearLink: 是否自动清理不支持的任务链接
        :type ClearLink: bool
        :param _MainCyclicConfig: ModifyCycleValue为1的时候生效，表示默认修改的上游依赖-时间维度
        :type MainCyclicConfig: str
        :param _SubordinateCyclicConfig: ModifyCycleValue为1的时候生效，表示默认修改的上游依赖-实例范围
        :type SubordinateCyclicConfig: str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CycleType = None
        self._CycleStep = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._InstanceInitStrategy = None
        self._DependencyWorkflow = None
        self._CrontabExpression = None
        self._ModifyCycleValue = None
        self._CalendarOpen = None
        self._CalendarName = None
        self._CalendarId = None
        self._ScheduleTimeZone = None
        self._ClearLink = None
        self._MainCyclicConfig = None
        self._SubordinateCyclicConfig = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def DelayTime(self):
        r"""延迟时间
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""任务依赖
        :rtype: str
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def StartTime(self):
        r"""开始时间
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""指定运行时间
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CycleType(self):
        r"""调度周期时间单位
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""调度周期
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def InstanceInitStrategy(self):
        r"""任务初始化策略，T_PLUS_1、T_PLUS_0、T_MINUS_1
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def DependencyWorkflow(self):
        r"""工作流依赖，yes or no
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def CrontabExpression(self):
        r"""CrontabExpression
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ModifyCycleValue(self):
        r"""0：不修改
1：将任务的上游依赖配置改为默认值 
        :rtype: str
        """
        return self._ModifyCycleValue

    @ModifyCycleValue.setter
    def ModifyCycleValue(self, ModifyCycleValue):
        self._ModifyCycleValue = ModifyCycleValue

    @property
    def CalendarOpen(self):
        r"""是否开启日历调度 1 开启 0关闭
        :rtype: str
        """
        return self._CalendarOpen

    @CalendarOpen.setter
    def CalendarOpen(self, CalendarOpen):
        self._CalendarOpen = CalendarOpen

    @property
    def CalendarName(self):
        r"""日历名称
        :rtype: str
        """
        return self._CalendarName

    @CalendarName.setter
    def CalendarName(self, CalendarName):
        self._CalendarName = CalendarName

    @property
    def CalendarId(self):
        r"""日历id
        :rtype: str
        """
        return self._CalendarId

    @CalendarId.setter
    def CalendarId(self, CalendarId):
        self._CalendarId = CalendarId

    @property
    def ScheduleTimeZone(self):
        r"""时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def ClearLink(self):
        r"""是否自动清理不支持的任务链接
        :rtype: bool
        """
        return self._ClearLink

    @ClearLink.setter
    def ClearLink(self, ClearLink):
        self._ClearLink = ClearLink

    @property
    def MainCyclicConfig(self):
        r"""ModifyCycleValue为1的时候生效，表示默认修改的上游依赖-时间维度
        :rtype: str
        """
        return self._MainCyclicConfig

    @MainCyclicConfig.setter
    def MainCyclicConfig(self, MainCyclicConfig):
        self._MainCyclicConfig = MainCyclicConfig

    @property
    def SubordinateCyclicConfig(self):
        r"""ModifyCycleValue为1的时候生效，表示默认修改的上游依赖-实例范围
        :rtype: str
        """
        return self._SubordinateCyclicConfig

    @SubordinateCyclicConfig.setter
    def SubordinateCyclicConfig(self, SubordinateCyclicConfig):
        self._SubordinateCyclicConfig = SubordinateCyclicConfig


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ModifyCycleValue = params.get("ModifyCycleValue")
        self._CalendarOpen = params.get("CalendarOpen")
        self._CalendarName = params.get("CalendarName")
        self._CalendarId = params.get("CalendarId")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._ClearLink = params.get("ClearLink")
        self._MainCyclicConfig = params.get("MainCyclicConfig")
        self._SubordinateCyclicConfig = params.get("SubordinateCyclicConfig")
        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 RenewWorkflowSchedulerInfoDsResponse(AbstractModel):
    r"""RenewWorkflowSchedulerInfoDs返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchResultDs`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchResultDs`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchResultDs()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class ReportColumnInfo(AbstractModel):
    r"""上报表元数据的字段结构

    """

    def __init__(self):
        r"""
        :param _Name: 字段名称,字符长度128内
        :type Name: str
        :param _Type: 字段类型,字符长度128内
        :type Type: str
        :param _Position: 字段位置,1开始
        :type Position: int
        :param _Description: 字段描述,字符长度256内
        :type Description: str
        :param _CreateTime: 创建时间戳,毫秒,为空默认当前时间
        :type CreateTime: str
        :param _ModifiedTime: 修改时间戳,毫秒,为空默认当前时间
        :type ModifiedTime: str
        """
        self._Name = None
        self._Type = None
        self._Position = None
        self._Description = None
        self._CreateTime = None
        self._ModifiedTime = None

    @property
    def Name(self):
        r"""字段名称,字符长度128内
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Type(self):
        r"""字段类型,字符长度128内
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Position(self):
        r"""字段位置,1开始
        :rtype: int
        """
        return self._Position

    @Position.setter
    def Position(self, Position):
        self._Position = Position

    @property
    def Description(self):
        r"""字段描述,字符长度256内
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间戳,毫秒,为空默认当前时间
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""修改时间戳,毫秒,为空默认当前时间
        :rtype: str
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._Type = params.get("Type")
        self._Position = params.get("Position")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        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 ReportDatabaseRequest(AbstractModel):
    r"""ReportDatabase请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称,字符长度128内
        :type DatabaseName: str
        :param _Description: 描述,字符长度3000内
        :type Description: str
        :param _CreateTime: 创建时间戳,毫秒,为空默认当前时间
        :type CreateTime: int
        :param _ModifiedTime: 修改时间戳,毫秒,为空默认当前时间
        :type ModifiedTime: int
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._Description = None
        self._CreateTime = None
        self._ModifiedTime = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称,字符长度128内
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def Description(self):
        r"""描述,字符长度3000内
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""修改时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        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 ReportDatabaseResponse(AbstractModel):
    r"""ReportDatabase返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Guid: 元数据唯一id
        :type Guid: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Guid = None
        self._RequestId = None

    @property
    def Guid(self):
        r"""元数据唯一id
        :rtype: str
        """
        return self._Guid

    @Guid.setter
    def Guid(self, Guid):
        self._Guid = Guid

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Guid = params.get("Guid")
        self._RequestId = params.get("RequestId")


class ReportSchemaRequest(AbstractModel):
    r"""ReportSchema请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称,字符长度128内
        :type DatabaseName: str
        :param _SchemaName: schema名称,字符长度128内
        :type SchemaName: str
        :param _Description: 描述,字符长度3000内
        :type Description: str
        :param _CreateTime: 创建时间戳,毫秒,为空默认当前时间
        :type CreateTime: int
        :param _ModifiedTime: 修改时间戳,毫秒,为空默认当前时间
        :type ModifiedTime: int
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._SchemaName = None
        self._Description = None
        self._CreateTime = None
        self._ModifiedTime = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称,字符长度128内
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""schema名称,字符长度128内
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Description(self):
        r"""描述,字符长度3000内
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""修改时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        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 ReportSchemaResponse(AbstractModel):
    r"""ReportSchema返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Guid: 元数据唯一id
        :type Guid: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Guid = None
        self._RequestId = None

    @property
    def Guid(self):
        r"""元数据唯一id
        :rtype: str
        """
        return self._Guid

    @Guid.setter
    def Guid(self, Guid):
        self._Guid = Guid

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Guid = params.get("Guid")
        self._RequestId = params.get("RequestId")


class ReportTableRequest(AbstractModel):
    r"""ReportTable请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: database名称,字符长度128内
        :type DatabaseName: str
        :param _TableName: table名称,字符长度128内
        :type TableName: str
        :param _Type: 表类型,VIEW/TABLE
        :type Type: str
        :param _SchemaName: schema名称,字符长度128内
        :type SchemaName: str
        :param _Description: 描述,字符长度1000内
        :type Description: str
        :param _CreateTime: 创建时间戳,毫秒,为空默认当前时间
        :type CreateTime: int
        :param _ModifiedTime: 修改时间戳,毫秒,为空默认当前时间
        :type ModifiedTime: int
        :param _Columns: 字段信息
        :type Columns: list of ReportColumnInfo
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._TableName = None
        self._Type = None
        self._SchemaName = None
        self._Description = None
        self._CreateTime = None
        self._ModifiedTime = None
        self._Columns = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""database名称,字符长度128内
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""table名称,字符长度128内
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def Type(self):
        r"""表类型,VIEW/TABLE
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def SchemaName(self):
        r"""schema名称,字符长度128内
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Description(self):
        r"""描述,字符长度1000内
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""创建时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""修改时间戳,毫秒,为空默认当前时间
        :rtype: int
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def Columns(self):
        r"""字段信息
        :rtype: list of ReportColumnInfo
        """
        return self._Columns

    @Columns.setter
    def Columns(self, Columns):
        self._Columns = Columns


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._Type = params.get("Type")
        self._SchemaName = params.get("SchemaName")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        if params.get("Columns") is not None:
            self._Columns = []
            for item in params.get("Columns"):
                obj = ReportColumnInfo()
                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 ReportTableResponse(AbstractModel):
    r"""ReportTable返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Guid: 元数据唯一id
        :type Guid: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Guid = None
        self._RequestId = None

    @property
    def Guid(self):
        r"""元数据唯一id
        :rtype: str
        """
        return self._Guid

    @Guid.setter
    def Guid(self, Guid):
        self._Guid = Guid

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Guid = params.get("Guid")
        self._RequestId = params.get("RequestId")


class ReportTaskDetail(AbstractModel):
    r"""上报任务详情

    """

    def __init__(self):
        r"""
        :param _EngineTaskId: 引擎任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineTaskId: str
        :param _EngineExeStatus: 引擎执行状态，枚举
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeStatus: str
        :param _EngineExeStartTime: 引擎执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeStartTime: str
        :param _EngineExeEndTime: 引擎执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeEndTime: str
        :param _TaskTypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _BusinessInfo: 业务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BusinessInfo: str
        :param _EngineTaskInfo: 引擎任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineTaskInfo: :class:`tencentcloud.wedata.v20210820.models.EngineTaskInfo`
        """
        self._EngineTaskId = None
        self._EngineExeStatus = None
        self._EngineExeStartTime = None
        self._EngineExeEndTime = None
        self._TaskTypeId = None
        self._BusinessInfo = None
        self._EngineTaskInfo = None

    @property
    def EngineTaskId(self):
        r"""引擎任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineTaskId

    @EngineTaskId.setter
    def EngineTaskId(self, EngineTaskId):
        self._EngineTaskId = EngineTaskId

    @property
    def EngineExeStatus(self):
        r"""引擎执行状态，枚举
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeStatus

    @EngineExeStatus.setter
    def EngineExeStatus(self, EngineExeStatus):
        self._EngineExeStatus = EngineExeStatus

    @property
    def EngineExeStartTime(self):
        r"""引擎执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeStartTime

    @EngineExeStartTime.setter
    def EngineExeStartTime(self, EngineExeStartTime):
        self._EngineExeStartTime = EngineExeStartTime

    @property
    def EngineExeEndTime(self):
        r"""引擎执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeEndTime

    @EngineExeEndTime.setter
    def EngineExeEndTime(self, EngineExeEndTime):
        self._EngineExeEndTime = EngineExeEndTime

    @property
    def TaskTypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def BusinessInfo(self):
        r"""业务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BusinessInfo

    @BusinessInfo.setter
    def BusinessInfo(self, BusinessInfo):
        self._BusinessInfo = BusinessInfo

    @property
    def EngineTaskInfo(self):
        r"""引擎任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.EngineTaskInfo`
        """
        return self._EngineTaskInfo

    @EngineTaskInfo.setter
    def EngineTaskInfo(self, EngineTaskInfo):
        self._EngineTaskInfo = EngineTaskInfo


    def _deserialize(self, params):
        self._EngineTaskId = params.get("EngineTaskId")
        self._EngineExeStatus = params.get("EngineExeStatus")
        self._EngineExeStartTime = params.get("EngineExeStartTime")
        self._EngineExeEndTime = params.get("EngineExeEndTime")
        self._TaskTypeId = params.get("TaskTypeId")
        self._BusinessInfo = params.get("BusinessInfo")
        if params.get("EngineTaskInfo") is not None:
            self._EngineTaskInfo = EngineTaskInfo()
            self._EngineTaskInfo._deserialize(params.get("EngineTaskInfo"))
        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 ReportTaskLineageRequest(AbstractModel):
    r"""ReportTaskLineage请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ChannelType: 上报渠道
        :type ChannelType: str
        :param _Task: 血缘任务
        :type Task: :class:`tencentcloud.wedata.v20210820.models.LineageTask`
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TableLineages: 表血缘关系
        :type TableLineages: list of TableLineagePair
        :param _ColumnLineages: 列血缘关系
        :type ColumnLineages: list of ColumnLineagePair
        """
        self._ChannelType = None
        self._Task = None
        self._ProjectId = None
        self._TableLineages = None
        self._ColumnLineages = None

    @property
    def ChannelType(self):
        r"""上报渠道
        :rtype: str
        """
        return self._ChannelType

    @ChannelType.setter
    def ChannelType(self, ChannelType):
        self._ChannelType = ChannelType

    @property
    def Task(self):
        r"""血缘任务
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LineageTask`
        """
        return self._Task

    @Task.setter
    def Task(self, Task):
        self._Task = Task

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TableLineages(self):
        r"""表血缘关系
        :rtype: list of TableLineagePair
        """
        return self._TableLineages

    @TableLineages.setter
    def TableLineages(self, TableLineages):
        self._TableLineages = TableLineages

    @property
    def ColumnLineages(self):
        r"""列血缘关系
        :rtype: list of ColumnLineagePair
        """
        return self._ColumnLineages

    @ColumnLineages.setter
    def ColumnLineages(self, ColumnLineages):
        self._ColumnLineages = ColumnLineages


    def _deserialize(self, params):
        self._ChannelType = params.get("ChannelType")
        if params.get("Task") is not None:
            self._Task = LineageTask()
            self._Task._deserialize(params.get("Task"))
        self._ProjectId = params.get("ProjectId")
        if params.get("TableLineages") is not None:
            self._TableLineages = []
            for item in params.get("TableLineages"):
                obj = TableLineagePair()
                obj._deserialize(item)
                self._TableLineages.append(obj)
        if params.get("ColumnLineages") is not None:
            self._ColumnLineages = []
            for item in params.get("ColumnLineages"):
                obj = ColumnLineagePair()
                obj._deserialize(item)
                self._ColumnLineages.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 ReportTaskLineageResponse(AbstractModel):
    r"""ReportTaskLineage返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestFromSource: str
        :param _Data: 上报结果
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestFromSource = None
        self._Data = None
        self._RequestId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Data(self):
        r"""上报结果
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class ReportTaskListInfo(AbstractModel):
    r"""上报任务信息

    """

    def __init__(self):
        r"""
        :param _Rows: 任务列表详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Rows: list of TaskInfoVo
        :param _PageNum: 页码
注意：此字段可能返回 null，表示取不到有效值。
        :type PageNum: int
        :param _PageSize: 每页条数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        :param _TotalCount: 总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _TotalPageNumber: 总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalPageNumber: int
        """
        self._Rows = None
        self._PageNum = None
        self._PageSize = None
        self._TotalCount = None
        self._TotalPageNumber = None

    @property
    def Rows(self):
        r"""任务列表详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskInfoVo
        """
        return self._Rows

    @Rows.setter
    def Rows(self, Rows):
        self._Rows = Rows

    @property
    def PageNum(self):
        r"""页码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageNum

    @PageNum.setter
    def PageNum(self, PageNum):
        self._PageNum = PageNum

    @property
    def PageSize(self):
        r"""每页条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def TotalCount(self):
        r"""总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def TotalPageNumber(self):
        r"""总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalPageNumber

    @TotalPageNumber.setter
    def TotalPageNumber(self, TotalPageNumber):
        self._TotalPageNumber = TotalPageNumber


    def _deserialize(self, params):
        if params.get("Rows") is not None:
            self._Rows = []
            for item in params.get("Rows"):
                obj = TaskInfoVo()
                obj._deserialize(item)
                self._Rows.append(obj)
        self._PageNum = params.get("PageNum")
        self._PageSize = params.get("PageSize")
        self._TotalCount = params.get("TotalCount")
        self._TotalPageNumber = params.get("TotalPageNumber")
        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 ResourcePathTree(AbstractModel):
    r"""资源管理目录树节点

    """

    def __init__(self):
        r"""
        :param _Name: 资源名字
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _IsLeaf: 是否为叶子节点
注意：此字段可能返回 null，表示取不到有效值。
        :type IsLeaf: bool
        :param _ResourceId: 资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceId: str
        :param _LocalPath: 本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalPath: str
        :param _RemotePath: 远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :type RemotePath: str
        :param _FileExtensionType: 文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FileExtensionType: str
        :param _Size: 文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type Size: int
        :param _Md5Value: 文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :type Md5Value: str
        :param _OwnerName: 文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _UpdateUser: 更新人
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUser: str
        :param _UpdateUserId: 文件更新人uin
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: int
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: int
        :param _CosBucket: Cos存储桶名
注意：此字段可能返回 null，表示取不到有效值。
        :type CosBucket: str
        :param _CosRegion: Cos地域
注意：此字段可能返回 null，表示取不到有效值。
        :type CosRegion: str
        :param _ExtraInfo: 额外信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraInfo: str
        """
        self._Name = None
        self._IsLeaf = None
        self._ResourceId = None
        self._LocalPath = None
        self._RemotePath = None
        self._FileExtensionType = None
        self._Size = None
        self._Md5Value = None
        self._OwnerName = None
        self._UpdateUser = None
        self._UpdateUserId = None
        self._CreateTime = None
        self._UpdateTime = None
        self._CosBucket = None
        self._CosRegion = None
        self._ExtraInfo = None

    @property
    def Name(self):
        r"""资源名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def IsLeaf(self):
        r"""是否为叶子节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsLeaf

    @IsLeaf.setter
    def IsLeaf(self, IsLeaf):
        self._IsLeaf = IsLeaf

    @property
    def ResourceId(self):
        r"""资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def LocalPath(self):
        r"""本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalPath

    @LocalPath.setter
    def LocalPath(self, LocalPath):
        self._LocalPath = LocalPath

    @property
    def RemotePath(self):
        r"""远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath

    @property
    def FileExtensionType(self):
        r"""文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileExtensionType

    @FileExtensionType.setter
    def FileExtensionType(self, FileExtensionType):
        self._FileExtensionType = FileExtensionType

    @property
    def Size(self):
        r"""文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def Md5Value(self):
        r"""文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Md5Value

    @Md5Value.setter
    def Md5Value(self, Md5Value):
        self._Md5Value = Md5Value

    @property
    def OwnerName(self):
        r"""文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def UpdateUser(self):
        r"""更新人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUser

    @UpdateUser.setter
    def UpdateUser(self, UpdateUser):
        self._UpdateUser = UpdateUser

    @property
    def UpdateUserId(self):
        r"""文件更新人uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def CosBucket(self):
        r"""Cos存储桶名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CosBucket

    @CosBucket.setter
    def CosBucket(self, CosBucket):
        self._CosBucket = CosBucket

    @property
    def CosRegion(self):
        r"""Cos地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CosRegion

    @CosRegion.setter
    def CosRegion(self, CosRegion):
        self._CosRegion = CosRegion

    @property
    def ExtraInfo(self):
        r"""额外信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._IsLeaf = params.get("IsLeaf")
        self._ResourceId = params.get("ResourceId")
        self._LocalPath = params.get("LocalPath")
        self._RemotePath = params.get("RemotePath")
        self._FileExtensionType = params.get("FileExtensionType")
        self._Size = params.get("Size")
        self._Md5Value = params.get("Md5Value")
        self._OwnerName = params.get("OwnerName")
        self._UpdateUser = params.get("UpdateUser")
        self._UpdateUserId = params.get("UpdateUserId")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._CosBucket = params.get("CosBucket")
        self._CosRegion = params.get("CosRegion")
        self._ExtraInfo = params.get("ExtraInfo")
        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 ResourcePoolInfo(AbstractModel):
    r"""资源池信息

    """

    def __init__(self):
        r"""
        :param _ResourcePools: 资源池id
        :type ResourcePools: list of str
        :param _StorageSize: 存储空间大小，单位 MB
        :type StorageSize: int
        :param _StorageFileNum: 存储文件数大小
        :type StorageFileNum: int
        :param _ClusterId: 集群id
        :type ClusterId: str
        :param _StorageType: 存储类型，0 代表HDFS，1 代表OZONE
        :type StorageType: str
        """
        self._ResourcePools = None
        self._StorageSize = None
        self._StorageFileNum = None
        self._ClusterId = None
        self._StorageType = None

    @property
    def ResourcePools(self):
        r"""资源池id
        :rtype: list of str
        """
        return self._ResourcePools

    @ResourcePools.setter
    def ResourcePools(self, ResourcePools):
        self._ResourcePools = ResourcePools

    @property
    def StorageSize(self):
        r"""存储空间大小，单位 MB
        :rtype: int
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def StorageFileNum(self):
        r"""存储文件数大小
        :rtype: int
        """
        return self._StorageFileNum

    @StorageFileNum.setter
    def StorageFileNum(self, StorageFileNum):
        self._StorageFileNum = StorageFileNum

    @property
    def ClusterId(self):
        r"""集群id
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def StorageType(self):
        r"""存储类型，0 代表HDFS，1 代表OZONE
        :rtype: str
        """
        return self._StorageType

    @StorageType.setter
    def StorageType(self, StorageType):
        self._StorageType = StorageType


    def _deserialize(self, params):
        self._ResourcePools = params.get("ResourcePools")
        self._StorageSize = params.get("StorageSize")
        self._StorageFileNum = params.get("StorageFileNum")
        self._ClusterId = params.get("ClusterId")
        self._StorageType = params.get("StorageType")
        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 ResumeIntegrationTaskRequest(AbstractModel):
    r"""ResumeIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Event: 事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        :type Event: str
        :param _ExtConfig: 额外参数
        :type ExtConfig: list of RecordField
        :param _EventDesc: 前端操作类型描述
        :type EventDesc: str
        """
        self._TaskId = None
        self._ProjectId = None
        self._Event = None
        self._ExtConfig = None
        self._EventDesc = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Event(self):
        r"""事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        :rtype: str
        """
        return self._Event

    @Event.setter
    def Event(self, Event):
        self._Event = Event

    @property
    def ExtConfig(self):
        r"""额外参数
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def EventDesc(self):
        r"""前端操作类型描述
        :rtype: str
        """
        return self._EventDesc

    @EventDesc.setter
    def EventDesc(self, EventDesc):
        self._EventDesc = EventDesc


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._Event = params.get("Event")
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        self._EventDesc = params.get("EventDesc")
        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 ResumeIntegrationTaskResponse(AbstractModel):
    r"""ResumeIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class RobAndLockIntegrationTaskRequest(AbstractModel):
    r"""RobAndLockIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _TaskType: 任务类型：201. stream,   202. offline
        :type TaskType: int
        """
        self._TaskId = None
        self._ProjectId = None
        self._TaskType = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskType(self):
        r"""任务类型：201. stream,   202. offline
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._TaskType = params.get("TaskType")
        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 RobAndLockIntegrationTaskResponse(AbstractModel):
    r"""RobAndLockIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RobLockState: 抢锁状态
        :type RobLockState: :class:`tencentcloud.wedata.v20210820.models.RobLockState`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RobLockState = None
        self._RequestId = None

    @property
    def RobLockState(self):
        r"""抢锁状态
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RobLockState`
        """
        return self._RobLockState

    @RobLockState.setter
    def RobLockState(self, RobLockState):
        self._RobLockState = RobLockState

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("RobLockState") is not None:
            self._RobLockState = RobLockState()
            self._RobLockState._deserialize(params.get("RobLockState"))
        self._RequestId = params.get("RequestId")


class RobLockState(AbstractModel):
    r"""抢锁状态：是否可以抢锁和当前持锁人

    """

    def __init__(self):
        r"""
        :param _IsRob: 是否可以抢锁
        :type IsRob: bool
        :param _Locker: 当前持锁人
        :type Locker: str
        """
        self._IsRob = None
        self._Locker = None

    @property
    def IsRob(self):
        r"""是否可以抢锁
        :rtype: bool
        """
        return self._IsRob

    @IsRob.setter
    def IsRob(self, IsRob):
        self._IsRob = IsRob

    @property
    def Locker(self):
        r"""当前持锁人
        :rtype: str
        """
        return self._Locker

    @Locker.setter
    def Locker(self, Locker):
        self._Locker = Locker


    def _deserialize(self, params):
        self._IsRob = params.get("IsRob")
        self._Locker = params.get("Locker")
        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 RolePrivilege(AbstractModel):
    r"""角色权限对象

    """

    def __init__(self):
        r"""
        :param _PrivilegeId: id
注意：此字段可能返回 null，表示取不到有效值。
        :type PrivilegeId: str
        :param _PrivilegeName: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type PrivilegeName: str
        :param _RestPath: 路径
注意：此字段可能返回 null，表示取不到有效值。
        :type RestPath: str
        :param _RestMethod: 方法
注意：此字段可能返回 null，表示取不到有效值。
        :type RestMethod: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ModuleId: 模块id
注意：此字段可能返回 null，表示取不到有效值。
        :type ModuleId: str
        :param _Type: 权限类型 N、R、RW、RWD
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        """
        self._PrivilegeId = None
        self._PrivilegeName = None
        self._RestPath = None
        self._RestMethod = None
        self._Description = None
        self._ModuleId = None
        self._Type = None

    @property
    def PrivilegeId(self):
        r"""id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrivilegeId

    @PrivilegeId.setter
    def PrivilegeId(self, PrivilegeId):
        self._PrivilegeId = PrivilegeId

    @property
    def PrivilegeName(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrivilegeName

    @PrivilegeName.setter
    def PrivilegeName(self, PrivilegeName):
        self._PrivilegeName = PrivilegeName

    @property
    def RestPath(self):
        r"""路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RestPath

    @RestPath.setter
    def RestPath(self, RestPath):
        self._RestPath = RestPath

    @property
    def RestMethod(self):
        r"""方法
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RestMethod

    @RestMethod.setter
    def RestMethod(self, RestMethod):
        self._RestMethod = RestMethod

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ModuleId(self):
        r"""模块id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModuleId

    @ModuleId.setter
    def ModuleId(self, ModuleId):
        self._ModuleId = ModuleId

    @property
    def Type(self):
        r"""权限类型 N、R、RW、RWD
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type


    def _deserialize(self, params):
        self._PrivilegeId = params.get("PrivilegeId")
        self._PrivilegeName = params.get("PrivilegeName")
        self._RestPath = params.get("RestPath")
        self._RestMethod = params.get("RestMethod")
        self._Description = params.get("Description")
        self._ModuleId = params.get("ModuleId")
        self._Type = params.get("Type")
        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 Rule(AbstractModel):
    r"""数据质量规则

    """

    def __init__(self):
        r"""
        :param _RuleId: 规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleId: int
        :param _RuleGroupId: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _TableId: 数据表Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _Name: 规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: int
        :param _RuleTemplateId: 规则模板Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleTemplateId: int
        :param _RuleTemplateContent: 规则模板概述
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleTemplateContent: str
        :param _QualityDim: 规则所属质量维度 1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :type QualityDim: int
        :param _SourceObjectType: 规则适用的源数据对象类型（1：常量，2：离线表级，3：离线字段级别）
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectType: int
        :param _SourceObjectDataType: 规则适用的源数据对象类型（1：数值，2：字符串）
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectDataType: int
        :param _SourceObjectDataTypeName: 源字段详细类型，INT、STRING
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectDataTypeName: str
        :param _SourceObjectValue: 源字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectValue: str
        :param _ConditionType: 检测范围 1.全表, 2.条件扫描
注意：此字段可能返回 null，表示取不到有效值。
        :type ConditionType: int
        :param _ConditionExpression: 条件扫描WHERE条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type ConditionExpression: str
        :param _CustomSql: 自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :type CustomSql: str
        :param _CompareRule: 报警触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :type CompareRule: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        :param _AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmLevel: int
        :param _Description: 规则描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Operator: 规则配置人
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _TargetDatabaseId: 目标库Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetDatabaseId: str
        :param _TargetDatabaseName: 目标库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetDatabaseName: str
        :param _TargetTableId: 目标表Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTableId: str
        :param _TargetTableName: 目标表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTableName: str
        :param _TargetConditionExpr: 目标字段过滤条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetConditionExpr: str
        :param _RelConditionExpr: 源字段与目标字段关联条件on表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type RelConditionExpr: str
        :param _FieldConfig: 自定义模版sql表达式参数
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldConfig: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        :param _MultiSourceFlag: 是否关联多表
注意：此字段可能返回 null，表示取不到有效值。
        :type MultiSourceFlag: bool
        :param _WhereFlag: 是否where参数
注意：此字段可能返回 null，表示取不到有效值。
        :type WhereFlag: bool
        :param _TemplateSql: 模版原始SQL
注意：此字段可能返回 null，表示取不到有效值。
        :type TemplateSql: str
        :param _SubQualityDim: 模版子维度：0.父维度类型,1.一致性: 枚举范围一致性,2.一致性：数值范围一致性,3.一致性：字段数据相关性
注意：此字段可能返回 null，表示取不到有效值。
        :type SubQualityDim: int
        :param _TargetObjectType: 规则适用的目标数据对象类型（1：常量，2：离线表级，3：离线字段级别）
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectType: int
        :param _TargetObjectDataType: 规则适用的目标数据对象类型（1：数值，2：字符串）
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectDataType: int
        :param _TargetObjectDataTypeName: 目标字段详细类型，INT、STRING
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectDataTypeName: str
        :param _TargetObjectValue: 目标字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectValue: str
        :param _SourceEngineTypes: 源端对应的引擎类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceEngineTypes: list of int non-negative
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableOwnerName: 表负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerName: str
        :param _ExecStrategy: 执行策略信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecStrategy: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        :param _Subscription: 订阅信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Subscription: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _DatasourceId: 数据源 id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: int
        :param _DatabaseId: 数据库 id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _MonitorStatus: 监控是否开启.0false,1true
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorStatus: int
        :param _TriggerCondition: 触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerCondition: str
        :param _DsEnvType: 0或者未返回或者null：未定义，1：生产，2：开发
注意：此字段可能返回 null，表示取不到有效值。
        :type DsEnvType: int
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _SchemaName: 模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _TargetSchemaName: 目标模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetSchemaName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseName: 数据库名称 
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _FailMsg: 失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :type FailMsg: str
        :param _GroupType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type GroupType: str
        :param _AspectTaskId: 编排任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type AspectTaskId: str
        :param _CatalogName: 目录
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        :param _TargetCatalogName: 目标目录
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetCatalogName: str
        """
        self._RuleId = None
        self._RuleGroupId = None
        self._TableId = None
        self._Name = None
        self._Type = None
        self._RuleTemplateId = None
        self._RuleTemplateContent = None
        self._QualityDim = None
        self._SourceObjectType = None
        self._SourceObjectDataType = None
        self._SourceObjectDataTypeName = None
        self._SourceObjectValue = None
        self._ConditionType = None
        self._ConditionExpression = None
        self._CustomSql = None
        self._CompareRule = None
        self._AlarmLevel = None
        self._Description = None
        self._Operator = None
        self._TargetDatabaseId = None
        self._TargetDatabaseName = None
        self._TargetTableId = None
        self._TargetTableName = None
        self._TargetConditionExpr = None
        self._RelConditionExpr = None
        self._FieldConfig = None
        self._MultiSourceFlag = None
        self._WhereFlag = None
        self._TemplateSql = None
        self._SubQualityDim = None
        self._TargetObjectType = None
        self._TargetObjectDataType = None
        self._TargetObjectDataTypeName = None
        self._TargetObjectValue = None
        self._SourceEngineTypes = None
        self._TableName = None
        self._TableOwnerName = None
        self._ExecStrategy = None
        self._Subscription = None
        self._CreateTime = None
        self._DatasourceId = None
        self._DatabaseId = None
        self._MonitorStatus = None
        self._TriggerCondition = None
        self._DsEnvType = None
        self._DatasourceType = None
        self._SchemaName = None
        self._TargetSchemaName = None
        self._ProjectId = None
        self._ProjectName = None
        self._UpdateTime = None
        self._DatasourceName = None
        self._DatabaseName = None
        self._FailMsg = None
        self._GroupType = None
        self._AspectTaskId = None
        self._CatalogName = None
        self._TargetCatalogName = None

    @property
    def RuleId(self):
        r"""规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def RuleGroupId(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def TableId(self):
        r"""数据表Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def Name(self):
        r"""规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Type(self):
        r"""规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def RuleTemplateId(self):
        r"""规则模板Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleTemplateId

    @RuleTemplateId.setter
    def RuleTemplateId(self, RuleTemplateId):
        self._RuleTemplateId = RuleTemplateId

    @property
    def RuleTemplateContent(self):
        r"""规则模板概述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleTemplateContent

    @RuleTemplateContent.setter
    def RuleTemplateContent(self, RuleTemplateContent):
        self._RuleTemplateContent = RuleTemplateContent

    @property
    def QualityDim(self):
        r"""规则所属质量维度 1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def SourceObjectType(self):
        r"""规则适用的源数据对象类型（1：常量，2：离线表级，3：离线字段级别）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SourceObjectType

    @SourceObjectType.setter
    def SourceObjectType(self, SourceObjectType):
        self._SourceObjectType = SourceObjectType

    @property
    def SourceObjectDataType(self):
        r"""规则适用的源数据对象类型（1：数值，2：字符串）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SourceObjectDataType

    @SourceObjectDataType.setter
    def SourceObjectDataType(self, SourceObjectDataType):
        self._SourceObjectDataType = SourceObjectDataType

    @property
    def SourceObjectDataTypeName(self):
        r"""源字段详细类型，INT、STRING
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceObjectDataTypeName

    @SourceObjectDataTypeName.setter
    def SourceObjectDataTypeName(self, SourceObjectDataTypeName):
        self._SourceObjectDataTypeName = SourceObjectDataTypeName

    @property
    def SourceObjectValue(self):
        r"""源字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceObjectValue

    @SourceObjectValue.setter
    def SourceObjectValue(self, SourceObjectValue):
        self._SourceObjectValue = SourceObjectValue

    @property
    def ConditionType(self):
        r"""检测范围 1.全表, 2.条件扫描
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConditionType

    @ConditionType.setter
    def ConditionType(self, ConditionType):
        self._ConditionType = ConditionType

    @property
    def ConditionExpression(self):
        r"""条件扫描WHERE条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConditionExpression

    @ConditionExpression.setter
    def ConditionExpression(self, ConditionExpression):
        self._ConditionExpression = ConditionExpression

    @property
    def CustomSql(self):
        r"""自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CustomSql

    @CustomSql.setter
    def CustomSql(self, CustomSql):
        self._CustomSql = CustomSql

    @property
    def CompareRule(self):
        r"""报警触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CompareRule`
        """
        return self._CompareRule

    @CompareRule.setter
    def CompareRule(self, CompareRule):
        self._CompareRule = CompareRule

    @property
    def AlarmLevel(self):
        r"""报警触发级别 1.低, 2.中, 3.高
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def Description(self):
        r"""规则描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Operator(self):
        r"""规则配置人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def TargetDatabaseId(self):
        r"""目标库Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetDatabaseId

    @TargetDatabaseId.setter
    def TargetDatabaseId(self, TargetDatabaseId):
        self._TargetDatabaseId = TargetDatabaseId

    @property
    def TargetDatabaseName(self):
        r"""目标库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetDatabaseName

    @TargetDatabaseName.setter
    def TargetDatabaseName(self, TargetDatabaseName):
        self._TargetDatabaseName = TargetDatabaseName

    @property
    def TargetTableId(self):
        r"""目标表Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetTableId

    @TargetTableId.setter
    def TargetTableId(self, TargetTableId):
        self._TargetTableId = TargetTableId

    @property
    def TargetTableName(self):
        r"""目标表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetTableName

    @TargetTableName.setter
    def TargetTableName(self, TargetTableName):
        self._TargetTableName = TargetTableName

    @property
    def TargetConditionExpr(self):
        r"""目标字段过滤条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetConditionExpr

    @TargetConditionExpr.setter
    def TargetConditionExpr(self, TargetConditionExpr):
        self._TargetConditionExpr = TargetConditionExpr

    @property
    def RelConditionExpr(self):
        r"""源字段与目标字段关联条件on表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RelConditionExpr

    @RelConditionExpr.setter
    def RelConditionExpr(self, RelConditionExpr):
        self._RelConditionExpr = RelConditionExpr

    @property
    def FieldConfig(self):
        r"""自定义模版sql表达式参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        """
        return self._FieldConfig

    @FieldConfig.setter
    def FieldConfig(self, FieldConfig):
        self._FieldConfig = FieldConfig

    @property
    def MultiSourceFlag(self):
        r"""是否关联多表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._MultiSourceFlag

    @MultiSourceFlag.setter
    def MultiSourceFlag(self, MultiSourceFlag):
        self._MultiSourceFlag = MultiSourceFlag

    @property
    def WhereFlag(self):
        r"""是否where参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._WhereFlag

    @WhereFlag.setter
    def WhereFlag(self, WhereFlag):
        self._WhereFlag = WhereFlag

    @property
    def TemplateSql(self):
        r"""模版原始SQL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TemplateSql

    @TemplateSql.setter
    def TemplateSql(self, TemplateSql):
        self._TemplateSql = TemplateSql

    @property
    def SubQualityDim(self):
        r"""模版子维度：0.父维度类型,1.一致性: 枚举范围一致性,2.一致性：数值范围一致性,3.一致性：字段数据相关性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SubQualityDim

    @SubQualityDim.setter
    def SubQualityDim(self, SubQualityDim):
        self._SubQualityDim = SubQualityDim

    @property
    def TargetObjectType(self):
        r"""规则适用的目标数据对象类型（1：常量，2：离线表级，3：离线字段级别）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TargetObjectType

    @TargetObjectType.setter
    def TargetObjectType(self, TargetObjectType):
        self._TargetObjectType = TargetObjectType

    @property
    def TargetObjectDataType(self):
        r"""规则适用的目标数据对象类型（1：数值，2：字符串）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TargetObjectDataType

    @TargetObjectDataType.setter
    def TargetObjectDataType(self, TargetObjectDataType):
        self._TargetObjectDataType = TargetObjectDataType

    @property
    def TargetObjectDataTypeName(self):
        r"""目标字段详细类型，INT、STRING
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetObjectDataTypeName

    @TargetObjectDataTypeName.setter
    def TargetObjectDataTypeName(self, TargetObjectDataTypeName):
        self._TargetObjectDataTypeName = TargetObjectDataTypeName

    @property
    def TargetObjectValue(self):
        r"""目标字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetObjectValue

    @TargetObjectValue.setter
    def TargetObjectValue(self, TargetObjectValue):
        self._TargetObjectValue = TargetObjectValue

    @property
    def SourceEngineTypes(self):
        r"""源端对应的引擎类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableOwnerName(self):
        r"""表负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerName

    @TableOwnerName.setter
    def TableOwnerName(self, TableOwnerName):
        self._TableOwnerName = TableOwnerName

    @property
    def ExecStrategy(self):
        r"""执行策略信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        """
        return self._ExecStrategy

    @ExecStrategy.setter
    def ExecStrategy(self, ExecStrategy):
        self._ExecStrategy = ExecStrategy

    @property
    def Subscription(self):
        r"""订阅信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        """
        return self._Subscription

    @Subscription.setter
    def Subscription(self, Subscription):
        self._Subscription = Subscription

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def DatasourceId(self):
        r"""数据源 id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseId(self):
        r"""数据库 id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def MonitorStatus(self):
        r"""监控是否开启.0false,1true
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorStatus

    @MonitorStatus.setter
    def MonitorStatus(self, MonitorStatus):
        self._MonitorStatus = MonitorStatus

    @property
    def TriggerCondition(self):
        r"""触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerCondition

    @TriggerCondition.setter
    def TriggerCondition(self, TriggerCondition):
        self._TriggerCondition = TriggerCondition

    @property
    def DsEnvType(self):
        r"""0或者未返回或者null：未定义，1：生产，2：开发
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DsEnvType

    @DsEnvType.setter
    def DsEnvType(self, DsEnvType):
        self._DsEnvType = DsEnvType

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def SchemaName(self):
        r"""模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def TargetSchemaName(self):
        r"""目标模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetSchemaName

    @TargetSchemaName.setter
    def TargetSchemaName(self, TargetSchemaName):
        self._TargetSchemaName = TargetSchemaName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseName(self):
        r"""数据库名称 
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def FailMsg(self):
        r"""失败原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FailMsg

    @FailMsg.setter
    def FailMsg(self, FailMsg):
        self._FailMsg = FailMsg

    @property
    def GroupType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GroupType

    @GroupType.setter
    def GroupType(self, GroupType):
        self._GroupType = GroupType

    @property
    def AspectTaskId(self):
        r"""编排任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AspectTaskId

    @AspectTaskId.setter
    def AspectTaskId(self, AspectTaskId):
        self._AspectTaskId = AspectTaskId

    @property
    def CatalogName(self):
        r"""目录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def TargetCatalogName(self):
        r"""目标目录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetCatalogName

    @TargetCatalogName.setter
    def TargetCatalogName(self, TargetCatalogName):
        self._TargetCatalogName = TargetCatalogName


    def _deserialize(self, params):
        self._RuleId = params.get("RuleId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._TableId = params.get("TableId")
        self._Name = params.get("Name")
        self._Type = params.get("Type")
        self._RuleTemplateId = params.get("RuleTemplateId")
        self._RuleTemplateContent = params.get("RuleTemplateContent")
        self._QualityDim = params.get("QualityDim")
        self._SourceObjectType = params.get("SourceObjectType")
        self._SourceObjectDataType = params.get("SourceObjectDataType")
        self._SourceObjectDataTypeName = params.get("SourceObjectDataTypeName")
        self._SourceObjectValue = params.get("SourceObjectValue")
        self._ConditionType = params.get("ConditionType")
        self._ConditionExpression = params.get("ConditionExpression")
        self._CustomSql = params.get("CustomSql")
        if params.get("CompareRule") is not None:
            self._CompareRule = CompareRule()
            self._CompareRule._deserialize(params.get("CompareRule"))
        self._AlarmLevel = params.get("AlarmLevel")
        self._Description = params.get("Description")
        self._Operator = params.get("Operator")
        self._TargetDatabaseId = params.get("TargetDatabaseId")
        self._TargetDatabaseName = params.get("TargetDatabaseName")
        self._TargetTableId = params.get("TargetTableId")
        self._TargetTableName = params.get("TargetTableName")
        self._TargetConditionExpr = params.get("TargetConditionExpr")
        self._RelConditionExpr = params.get("RelConditionExpr")
        if params.get("FieldConfig") is not None:
            self._FieldConfig = RuleFieldConfig()
            self._FieldConfig._deserialize(params.get("FieldConfig"))
        self._MultiSourceFlag = params.get("MultiSourceFlag")
        self._WhereFlag = params.get("WhereFlag")
        self._TemplateSql = params.get("TemplateSql")
        self._SubQualityDim = params.get("SubQualityDim")
        self._TargetObjectType = params.get("TargetObjectType")
        self._TargetObjectDataType = params.get("TargetObjectDataType")
        self._TargetObjectDataTypeName = params.get("TargetObjectDataTypeName")
        self._TargetObjectValue = params.get("TargetObjectValue")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        self._TableName = params.get("TableName")
        self._TableOwnerName = params.get("TableOwnerName")
        if params.get("ExecStrategy") is not None:
            self._ExecStrategy = RuleGroupExecStrategy()
            self._ExecStrategy._deserialize(params.get("ExecStrategy"))
        if params.get("Subscription") is not None:
            self._Subscription = RuleGroupSubscribe()
            self._Subscription._deserialize(params.get("Subscription"))
        self._CreateTime = params.get("CreateTime")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseId = params.get("DatabaseId")
        self._MonitorStatus = params.get("MonitorStatus")
        self._TriggerCondition = params.get("TriggerCondition")
        self._DsEnvType = params.get("DsEnvType")
        self._DatasourceType = params.get("DatasourceType")
        self._SchemaName = params.get("SchemaName")
        self._TargetSchemaName = params.get("TargetSchemaName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._UpdateTime = params.get("UpdateTime")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseName = params.get("DatabaseName")
        self._FailMsg = params.get("FailMsg")
        self._GroupType = params.get("GroupType")
        self._AspectTaskId = params.get("AspectTaskId")
        self._CatalogName = params.get("CatalogName")
        self._TargetCatalogName = params.get("TargetCatalogName")
        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 RuleConfig(AbstractModel):
    r"""规则配置

    """

    def __init__(self):
        r"""
        :param _RuleId: 规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleId: int
        :param _ConditionType: 规则检测范围类型 1.全表  2.条件扫描
注意：此字段可能返回 null，表示取不到有效值。
        :type ConditionType: int
        :param _Condition: 检测范围表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type Condition: str
        :param _TargetCondition: 目标检测范围表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetCondition: str
        """
        self._RuleId = None
        self._ConditionType = None
        self._Condition = None
        self._TargetCondition = None

    @property
    def RuleId(self):
        r"""规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def ConditionType(self):
        r"""规则检测范围类型 1.全表  2.条件扫描
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConditionType

    @ConditionType.setter
    def ConditionType(self, ConditionType):
        self._ConditionType = ConditionType

    @property
    def Condition(self):
        r"""检测范围表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Condition

    @Condition.setter
    def Condition(self, Condition):
        self._Condition = Condition

    @property
    def TargetCondition(self):
        r"""目标检测范围表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetCondition

    @TargetCondition.setter
    def TargetCondition(self, TargetCondition):
        self._TargetCondition = TargetCondition


    def _deserialize(self, params):
        self._RuleId = params.get("RuleId")
        self._ConditionType = params.get("ConditionType")
        self._Condition = params.get("Condition")
        self._TargetCondition = params.get("TargetCondition")
        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 RuleDimCnt(AbstractModel):
    r"""RuleDimCnt 规则维度统计

    """

    def __init__(self):
        r"""
        :param _Dim: 1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :type Dim: int
        :param _Cnt: count 数
        :type Cnt: int
        """
        self._Dim = None
        self._Cnt = None

    @property
    def Dim(self):
        r"""1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :rtype: int
        """
        return self._Dim

    @Dim.setter
    def Dim(self, Dim):
        self._Dim = Dim

    @property
    def Cnt(self):
        r"""count 数
        :rtype: int
        """
        return self._Cnt

    @Cnt.setter
    def Cnt(self, Cnt):
        self._Cnt = Cnt


    def _deserialize(self, params):
        self._Dim = params.get("Dim")
        self._Cnt = params.get("Cnt")
        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 RuleDimStat(AbstractModel):
    r"""规则维度数统计

    """

    def __init__(self):
        r"""
        :param _TotalCnt: 总数
        :type TotalCnt: int
        :param _DimCntList: 维度统计数
        :type DimCntList: list of RuleDimCnt
        """
        self._TotalCnt = None
        self._DimCntList = None

    @property
    def TotalCnt(self):
        r"""总数
        :rtype: int
        """
        return self._TotalCnt

    @TotalCnt.setter
    def TotalCnt(self, TotalCnt):
        self._TotalCnt = TotalCnt

    @property
    def DimCntList(self):
        r"""维度统计数
        :rtype: list of RuleDimCnt
        """
        return self._DimCntList

    @DimCntList.setter
    def DimCntList(self, DimCntList):
        self._DimCntList = DimCntList


    def _deserialize(self, params):
        self._TotalCnt = params.get("TotalCnt")
        if params.get("DimCntList") is not None:
            self._DimCntList = []
            for item in params.get("DimCntList"):
                obj = RuleDimCnt()
                obj._deserialize(item)
                self._DimCntList.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 RuleExecConfig(AbstractModel):
    r"""规则执行配置

    """

    def __init__(self):
        r"""
        :param _QueueName: 计算队列名称
注意：此字段可能返回 null，表示取不到有效值。
        :type QueueName: str
        :param _ExecutorGroupId: 执行资源组
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _EngineType: 运行的执行引擎，不传时会请求该数据源下默认的执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineType: str
        :param _DlcGroupName: DLC执行引擎资源组
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcGroupName: str
        :param _EngineParam: 引擎参数
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineParam: str
        """
        self._QueueName = None
        self._ExecutorGroupId = None
        self._EngineType = None
        self._DlcGroupName = None
        self._EngineParam = None

    @property
    def QueueName(self):
        r"""计算队列名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QueueName

    @QueueName.setter
    def QueueName(self, QueueName):
        self._QueueName = QueueName

    @property
    def ExecutorGroupId(self):
        r"""执行资源组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def EngineType(self):
        r"""运行的执行引擎，不传时会请求该数据源下默认的执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType

    @property
    def DlcGroupName(self):
        r"""DLC执行引擎资源组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcGroupName

    @DlcGroupName.setter
    def DlcGroupName(self, DlcGroupName):
        self._DlcGroupName = DlcGroupName

    @property
    def EngineParam(self):
        r"""引擎参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineParam

    @EngineParam.setter
    def EngineParam(self, EngineParam):
        self._EngineParam = EngineParam


    def _deserialize(self, params):
        self._QueueName = params.get("QueueName")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._EngineType = params.get("EngineType")
        self._DlcGroupName = params.get("DlcGroupName")
        self._EngineParam = params.get("EngineParam")
        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 RuleExecDateStat(AbstractModel):
    r"""概览趋势结果

    """

    def __init__(self):
        r"""
        :param _StatDate: 统计日期
        :type StatDate: str
        :param _AlarmCnt: 告警数
        :type AlarmCnt: int
        :param _PipelineCnt: 阻塞数
        :type PipelineCnt: int
        """
        self._StatDate = None
        self._AlarmCnt = None
        self._PipelineCnt = None

    @property
    def StatDate(self):
        r"""统计日期
        :rtype: str
        """
        return self._StatDate

    @StatDate.setter
    def StatDate(self, StatDate):
        self._StatDate = StatDate

    @property
    def AlarmCnt(self):
        r"""告警数
        :rtype: int
        """
        return self._AlarmCnt

    @AlarmCnt.setter
    def AlarmCnt(self, AlarmCnt):
        self._AlarmCnt = AlarmCnt

    @property
    def PipelineCnt(self):
        r"""阻塞数
        :rtype: int
        """
        return self._PipelineCnt

    @PipelineCnt.setter
    def PipelineCnt(self, PipelineCnt):
        self._PipelineCnt = PipelineCnt


    def _deserialize(self, params):
        self._StatDate = params.get("StatDate")
        self._AlarmCnt = params.get("AlarmCnt")
        self._PipelineCnt = params.get("PipelineCnt")
        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 RuleExecLog(AbstractModel):
    r"""规则执行日志

    """

    def __init__(self):
        r"""
        :param _Finished: 是否完成
注意：此字段可能返回 null，表示取不到有效值。
        :type Finished: bool
        :param _Log: 内容
注意：此字段可能返回 null，表示取不到有效值。
        :type Log: str
        """
        self._Finished = None
        self._Log = None

    @property
    def Finished(self):
        r"""是否完成
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Finished

    @Finished.setter
    def Finished(self, Finished):
        self._Finished = Finished

    @property
    def Log(self):
        r"""内容
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Log

    @Log.setter
    def Log(self, Log):
        self._Log = Log


    def _deserialize(self, params):
        self._Finished = params.get("Finished")
        self._Log = params.get("Log")
        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 RuleExecResult(AbstractModel):
    r"""规则执行结果

    """

    def __init__(self):
        r"""
        :param _RuleExecId: 规则执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleExecId: int
        :param _RuleGroupExecId: 规则组执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupExecId: int
        :param _RuleGroupId: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _RuleId: 规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleId: int
        :param _RuleName: 规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleName: str
        :param _RuleType: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleType: int
        :param _SourceObjectDataTypeName: 源字段详细类型，int string
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectDataTypeName: str
        :param _SourceObjectValue: 源字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceObjectValue: str
        :param _ConditionExpression: 条件扫描WHERE条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type ConditionExpression: str
        :param _ExecResultStatus: 检测结果（1:检测通过，2：触发规则，3：检测失败）
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecResultStatus: int
        :param _TriggerResult: 触发结果，告警发送成功, 阻断任务成功
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerResult: str
        :param _CompareResult: 对比结果
注意：此字段可能返回 null，表示取不到有效值。
        :type CompareResult: :class:`tencentcloud.wedata.v20210820.models.CompareResult`
        :param _TemplateName: 模版名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TemplateName: str
        :param _QualityDim: 质量维度
注意：此字段可能返回 null，表示取不到有效值。
        :type QualityDim: int
        :param _TargetDBTableName: 目标表-库表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetDBTableName: str
        :param _TargetObjectValue: 目标表-字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectValue: str
        :param _TargetObjectDataType: 目标表-字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetObjectDataType: str
        :param _FieldConfig: 自定义模版sql表达式参数
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldConfig: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        :param _RelConditionExpr: 源字段与目标字段关联条件on表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type RelConditionExpr: str
        :param _StartTime: 执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _AlarmLevel: 1/2/3:低/中/高
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmLevel: int
        :param _TriggerCondition: 触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerCondition: str
        :param _RuleGroupName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupName: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _SchemaName: 模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _RuleGroupExist: 判断是否屏蔽监控 0.屏蔽 1.不屏蔽
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupExist: int
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _RuleGroupTableId: 数据表id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupTableId: int
        :param _MonitorType: 监控方式 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorType: int
        :param _FinishTime: 执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FinishTime: str
        :param _GroupType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type GroupType: str
        :param _AspectTaskId: 编排任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type AspectTaskId: str
        :param _CatalogName: 目录
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        """
        self._RuleExecId = None
        self._RuleGroupExecId = None
        self._RuleGroupId = None
        self._RuleId = None
        self._RuleName = None
        self._RuleType = None
        self._SourceObjectDataTypeName = None
        self._SourceObjectValue = None
        self._ConditionExpression = None
        self._ExecResultStatus = None
        self._TriggerResult = None
        self._CompareResult = None
        self._TemplateName = None
        self._QualityDim = None
        self._TargetDBTableName = None
        self._TargetObjectValue = None
        self._TargetObjectDataType = None
        self._FieldConfig = None
        self._RelConditionExpr = None
        self._StartTime = None
        self._AlarmLevel = None
        self._TriggerCondition = None
        self._RuleGroupName = None
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatabaseName = None
        self._SchemaName = None
        self._TableName = None
        self._RuleGroupExist = None
        self._DatasourceType = None
        self._RuleGroupTableId = None
        self._MonitorType = None
        self._FinishTime = None
        self._GroupType = None
        self._AspectTaskId = None
        self._CatalogName = None

    @property
    def RuleExecId(self):
        r"""规则执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleExecId

    @RuleExecId.setter
    def RuleExecId(self, RuleExecId):
        self._RuleExecId = RuleExecId

    @property
    def RuleGroupExecId(self):
        r"""规则组执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupExecId

    @RuleGroupExecId.setter
    def RuleGroupExecId(self, RuleGroupExecId):
        self._RuleGroupExecId = RuleGroupExecId

    @property
    def RuleGroupId(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def RuleId(self):
        r"""规则ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def RuleName(self):
        r"""规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleName

    @RuleName.setter
    def RuleName(self, RuleName):
        self._RuleName = RuleName

    @property
    def RuleType(self):
        r"""规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleType

    @RuleType.setter
    def RuleType(self, RuleType):
        self._RuleType = RuleType

    @property
    def SourceObjectDataTypeName(self):
        r"""源字段详细类型，int string
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceObjectDataTypeName

    @SourceObjectDataTypeName.setter
    def SourceObjectDataTypeName(self, SourceObjectDataTypeName):
        self._SourceObjectDataTypeName = SourceObjectDataTypeName

    @property
    def SourceObjectValue(self):
        r"""源字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceObjectValue

    @SourceObjectValue.setter
    def SourceObjectValue(self, SourceObjectValue):
        self._SourceObjectValue = SourceObjectValue

    @property
    def ConditionExpression(self):
        r"""条件扫描WHERE条件表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ConditionExpression

    @ConditionExpression.setter
    def ConditionExpression(self, ConditionExpression):
        self._ConditionExpression = ConditionExpression

    @property
    def ExecResultStatus(self):
        r"""检测结果（1:检测通过，2：触发规则，3：检测失败）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExecResultStatus

    @ExecResultStatus.setter
    def ExecResultStatus(self, ExecResultStatus):
        self._ExecResultStatus = ExecResultStatus

    @property
    def TriggerResult(self):
        r"""触发结果，告警发送成功, 阻断任务成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerResult

    @TriggerResult.setter
    def TriggerResult(self, TriggerResult):
        self._TriggerResult = TriggerResult

    @property
    def CompareResult(self):
        r"""对比结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CompareResult`
        """
        return self._CompareResult

    @CompareResult.setter
    def CompareResult(self, CompareResult):
        self._CompareResult = CompareResult

    @property
    def TemplateName(self):
        r"""模版名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TemplateName

    @TemplateName.setter
    def TemplateName(self, TemplateName):
        self._TemplateName = TemplateName

    @property
    def QualityDim(self):
        r"""质量维度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def TargetDBTableName(self):
        r"""目标表-库表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetDBTableName

    @TargetDBTableName.setter
    def TargetDBTableName(self, TargetDBTableName):
        self._TargetDBTableName = TargetDBTableName

    @property
    def TargetObjectValue(self):
        r"""目标表-字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetObjectValue

    @TargetObjectValue.setter
    def TargetObjectValue(self, TargetObjectValue):
        self._TargetObjectValue = TargetObjectValue

    @property
    def TargetObjectDataType(self):
        r"""目标表-字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetObjectDataType

    @TargetObjectDataType.setter
    def TargetObjectDataType(self, TargetObjectDataType):
        self._TargetObjectDataType = TargetObjectDataType

    @property
    def FieldConfig(self):
        r"""自定义模版sql表达式参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleFieldConfig`
        """
        return self._FieldConfig

    @FieldConfig.setter
    def FieldConfig(self, FieldConfig):
        self._FieldConfig = FieldConfig

    @property
    def RelConditionExpr(self):
        r"""源字段与目标字段关联条件on表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RelConditionExpr

    @RelConditionExpr.setter
    def RelConditionExpr(self, RelConditionExpr):
        self._RelConditionExpr = RelConditionExpr

    @property
    def StartTime(self):
        r"""执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def AlarmLevel(self):
        r"""1/2/3:低/中/高
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def TriggerCondition(self):
        r"""触发条件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TriggerCondition

    @TriggerCondition.setter
    def TriggerCondition(self, TriggerCondition):
        self._TriggerCondition = TriggerCondition

    @property
    def RuleGroupName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupName

    @RuleGroupName.setter
    def RuleGroupName(self, RuleGroupName):
        self._RuleGroupName = RuleGroupName

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def RuleGroupExist(self):
        r"""判断是否屏蔽监控 0.屏蔽 1.不屏蔽
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupExist

    @RuleGroupExist.setter
    def RuleGroupExist(self, RuleGroupExist):
        self._RuleGroupExist = RuleGroupExist

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def RuleGroupTableId(self):
        r"""数据表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupTableId

    @RuleGroupTableId.setter
    def RuleGroupTableId(self, RuleGroupTableId):
        self._RuleGroupTableId = RuleGroupTableId

    @property
    def MonitorType(self):
        r"""监控方式 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def FinishTime(self):
        r"""执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FinishTime

    @FinishTime.setter
    def FinishTime(self, FinishTime):
        self._FinishTime = FinishTime

    @property
    def GroupType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GroupType

    @GroupType.setter
    def GroupType(self, GroupType):
        self._GroupType = GroupType

    @property
    def AspectTaskId(self):
        r"""编排任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AspectTaskId

    @AspectTaskId.setter
    def AspectTaskId(self, AspectTaskId):
        self._AspectTaskId = AspectTaskId

    @property
    def CatalogName(self):
        r"""目录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName


    def _deserialize(self, params):
        self._RuleExecId = params.get("RuleExecId")
        self._RuleGroupExecId = params.get("RuleGroupExecId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._RuleId = params.get("RuleId")
        self._RuleName = params.get("RuleName")
        self._RuleType = params.get("RuleType")
        self._SourceObjectDataTypeName = params.get("SourceObjectDataTypeName")
        self._SourceObjectValue = params.get("SourceObjectValue")
        self._ConditionExpression = params.get("ConditionExpression")
        self._ExecResultStatus = params.get("ExecResultStatus")
        self._TriggerResult = params.get("TriggerResult")
        if params.get("CompareResult") is not None:
            self._CompareResult = CompareResult()
            self._CompareResult._deserialize(params.get("CompareResult"))
        self._TemplateName = params.get("TemplateName")
        self._QualityDim = params.get("QualityDim")
        self._TargetDBTableName = params.get("TargetDBTableName")
        self._TargetObjectValue = params.get("TargetObjectValue")
        self._TargetObjectDataType = params.get("TargetObjectDataType")
        if params.get("FieldConfig") is not None:
            self._FieldConfig = RuleFieldConfig()
            self._FieldConfig._deserialize(params.get("FieldConfig"))
        self._RelConditionExpr = params.get("RelConditionExpr")
        self._StartTime = params.get("StartTime")
        self._AlarmLevel = params.get("AlarmLevel")
        self._TriggerCondition = params.get("TriggerCondition")
        self._RuleGroupName = params.get("RuleGroupName")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._TableName = params.get("TableName")
        self._RuleGroupExist = params.get("RuleGroupExist")
        self._DatasourceType = params.get("DatasourceType")
        self._RuleGroupTableId = params.get("RuleGroupTableId")
        self._MonitorType = params.get("MonitorType")
        self._FinishTime = params.get("FinishTime")
        self._GroupType = params.get("GroupType")
        self._AspectTaskId = params.get("AspectTaskId")
        self._CatalogName = params.get("CatalogName")
        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 RuleExecResultDetail(AbstractModel):
    r"""规则执行结果详情

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: int
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseId: 数据库guid
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _InstanceId: 实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _TableId: 表guid
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _RuleExecResult: 规则执行记录
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleExecResult: :class:`tencentcloud.wedata.v20210820.models.RuleExecResult`
        :param _TableOwnerUserId: 表负责人userId
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerUserId: int
        :param _DatasourceType: 2.HIVE 3.DLC
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _ClusterDeployType: 集群部署类型，CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterDeployType: str
        """
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatabaseId = None
        self._DatabaseName = None
        self._InstanceId = None
        self._TableId = None
        self._TableName = None
        self._RuleExecResult = None
        self._TableOwnerUserId = None
        self._DatasourceType = None
        self._ClusterDeployType = None

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseId(self):
        r"""数据库guid
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def InstanceId(self):
        r"""实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def TableId(self):
        r"""表guid
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def RuleExecResult(self):
        r"""规则执行记录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleExecResult`
        """
        return self._RuleExecResult

    @RuleExecResult.setter
    def RuleExecResult(self, RuleExecResult):
        self._RuleExecResult = RuleExecResult

    @property
    def TableOwnerUserId(self):
        r"""表负责人userId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TableOwnerUserId

    @TableOwnerUserId.setter
    def TableOwnerUserId(self, TableOwnerUserId):
        self._TableOwnerUserId = TableOwnerUserId

    @property
    def DatasourceType(self):
        r"""2.HIVE 3.DLC
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def ClusterDeployType(self):
        r"""集群部署类型，CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterDeployType

    @ClusterDeployType.setter
    def ClusterDeployType(self, ClusterDeployType):
        self._ClusterDeployType = ClusterDeployType


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._InstanceId = params.get("InstanceId")
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        if params.get("RuleExecResult") is not None:
            self._RuleExecResult = RuleExecResult()
            self._RuleExecResult._deserialize(params.get("RuleExecResult"))
        self._TableOwnerUserId = params.get("TableOwnerUserId")
        self._DatasourceType = params.get("DatasourceType")
        self._ClusterDeployType = params.get("ClusterDeployType")
        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 RuleExecResultPage(AbstractModel):
    r"""规则执行结果分页

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 规则执行结果
        :type Items: list of RuleExecResult
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""规则执行结果
        :rtype: list of RuleExecResult
        """
        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 = RuleExecResult()
                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 RuleExecStat(AbstractModel):
    r"""规则运行情况结果

    """

    def __init__(self):
        r"""
        :param _TotalCnt: 规则运行总数
        :type TotalCnt: int
        :param _LastTotalCnt: 环比规则运行总数
注意：此字段可能返回 null，表示取不到有效值。
        :type LastTotalCnt: int
        :param _TotalCntRatio: 规则运行总数占比
        :type TotalCntRatio: float
        :param _LastTotalCntRatio: 规则运行总数环比变化
注意：此字段可能返回 null，表示取不到有效值。
        :type LastTotalCntRatio: float
        :param _TriggerCnt: 规则触发数
        :type TriggerCnt: int
        :param _LastTriggerCnt: 环比规则触发数
注意：此字段可能返回 null，表示取不到有效值。
        :type LastTriggerCnt: int
        :param _TriggerCntRatio: 触发占总数占比
        :type TriggerCntRatio: float
        :param _LastTriggerCntRatio: 环比规则触发数变化
注意：此字段可能返回 null，表示取不到有效值。
        :type LastTriggerCntRatio: float
        :param _AlarmCnt: 规则报警数
        :type AlarmCnt: int
        :param _LastAlarmCnt: 环比规则报警数
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAlarmCnt: int
        :param _AlarmCntRatio: 报警占总数占比
        :type AlarmCntRatio: float
        :param _LastAlarmCntRatio: 环比报警数变化
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAlarmCntRatio: float
        :param _PipelineCnt: 阻塞发生数
        :type PipelineCnt: int
        :param _LastPipelineCnt: 环比阻塞发生数
注意：此字段可能返回 null，表示取不到有效值。
        :type LastPipelineCnt: int
        :param _PipelineCntRatio: 阻塞占总数占比
        :type PipelineCntRatio: float
        :param _LastPipelineCntRatio: 环比阻塞发生数变化
注意：此字段可能返回 null，表示取不到有效值。
        :type LastPipelineCntRatio: float
        """
        self._TotalCnt = None
        self._LastTotalCnt = None
        self._TotalCntRatio = None
        self._LastTotalCntRatio = None
        self._TriggerCnt = None
        self._LastTriggerCnt = None
        self._TriggerCntRatio = None
        self._LastTriggerCntRatio = None
        self._AlarmCnt = None
        self._LastAlarmCnt = None
        self._AlarmCntRatio = None
        self._LastAlarmCntRatio = None
        self._PipelineCnt = None
        self._LastPipelineCnt = None
        self._PipelineCntRatio = None
        self._LastPipelineCntRatio = None

    @property
    def TotalCnt(self):
        r"""规则运行总数
        :rtype: int
        """
        return self._TotalCnt

    @TotalCnt.setter
    def TotalCnt(self, TotalCnt):
        self._TotalCnt = TotalCnt

    @property
    def LastTotalCnt(self):
        r"""环比规则运行总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastTotalCnt

    @LastTotalCnt.setter
    def LastTotalCnt(self, LastTotalCnt):
        self._LastTotalCnt = LastTotalCnt

    @property
    def TotalCntRatio(self):
        r"""规则运行总数占比
        :rtype: float
        """
        return self._TotalCntRatio

    @TotalCntRatio.setter
    def TotalCntRatio(self, TotalCntRatio):
        self._TotalCntRatio = TotalCntRatio

    @property
    def LastTotalCntRatio(self):
        r"""规则运行总数环比变化
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LastTotalCntRatio

    @LastTotalCntRatio.setter
    def LastTotalCntRatio(self, LastTotalCntRatio):
        self._LastTotalCntRatio = LastTotalCntRatio

    @property
    def TriggerCnt(self):
        r"""规则触发数
        :rtype: int
        """
        return self._TriggerCnt

    @TriggerCnt.setter
    def TriggerCnt(self, TriggerCnt):
        self._TriggerCnt = TriggerCnt

    @property
    def LastTriggerCnt(self):
        r"""环比规则触发数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastTriggerCnt

    @LastTriggerCnt.setter
    def LastTriggerCnt(self, LastTriggerCnt):
        self._LastTriggerCnt = LastTriggerCnt

    @property
    def TriggerCntRatio(self):
        r"""触发占总数占比
        :rtype: float
        """
        return self._TriggerCntRatio

    @TriggerCntRatio.setter
    def TriggerCntRatio(self, TriggerCntRatio):
        self._TriggerCntRatio = TriggerCntRatio

    @property
    def LastTriggerCntRatio(self):
        r"""环比规则触发数变化
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LastTriggerCntRatio

    @LastTriggerCntRatio.setter
    def LastTriggerCntRatio(self, LastTriggerCntRatio):
        self._LastTriggerCntRatio = LastTriggerCntRatio

    @property
    def AlarmCnt(self):
        r"""规则报警数
        :rtype: int
        """
        return self._AlarmCnt

    @AlarmCnt.setter
    def AlarmCnt(self, AlarmCnt):
        self._AlarmCnt = AlarmCnt

    @property
    def LastAlarmCnt(self):
        r"""环比规则报警数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastAlarmCnt

    @LastAlarmCnt.setter
    def LastAlarmCnt(self, LastAlarmCnt):
        self._LastAlarmCnt = LastAlarmCnt

    @property
    def AlarmCntRatio(self):
        r"""报警占总数占比
        :rtype: float
        """
        return self._AlarmCntRatio

    @AlarmCntRatio.setter
    def AlarmCntRatio(self, AlarmCntRatio):
        self._AlarmCntRatio = AlarmCntRatio

    @property
    def LastAlarmCntRatio(self):
        r"""环比报警数变化
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LastAlarmCntRatio

    @LastAlarmCntRatio.setter
    def LastAlarmCntRatio(self, LastAlarmCntRatio):
        self._LastAlarmCntRatio = LastAlarmCntRatio

    @property
    def PipelineCnt(self):
        r"""阻塞发生数
        :rtype: int
        """
        return self._PipelineCnt

    @PipelineCnt.setter
    def PipelineCnt(self, PipelineCnt):
        self._PipelineCnt = PipelineCnt

    @property
    def LastPipelineCnt(self):
        r"""环比阻塞发生数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastPipelineCnt

    @LastPipelineCnt.setter
    def LastPipelineCnt(self, LastPipelineCnt):
        self._LastPipelineCnt = LastPipelineCnt

    @property
    def PipelineCntRatio(self):
        r"""阻塞占总数占比
        :rtype: float
        """
        return self._PipelineCntRatio

    @PipelineCntRatio.setter
    def PipelineCntRatio(self, PipelineCntRatio):
        self._PipelineCntRatio = PipelineCntRatio

    @property
    def LastPipelineCntRatio(self):
        r"""环比阻塞发生数变化
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LastPipelineCntRatio

    @LastPipelineCntRatio.setter
    def LastPipelineCntRatio(self, LastPipelineCntRatio):
        self._LastPipelineCntRatio = LastPipelineCntRatio


    def _deserialize(self, params):
        self._TotalCnt = params.get("TotalCnt")
        self._LastTotalCnt = params.get("LastTotalCnt")
        self._TotalCntRatio = params.get("TotalCntRatio")
        self._LastTotalCntRatio = params.get("LastTotalCntRatio")
        self._TriggerCnt = params.get("TriggerCnt")
        self._LastTriggerCnt = params.get("LastTriggerCnt")
        self._TriggerCntRatio = params.get("TriggerCntRatio")
        self._LastTriggerCntRatio = params.get("LastTriggerCntRatio")
        self._AlarmCnt = params.get("AlarmCnt")
        self._LastAlarmCnt = params.get("LastAlarmCnt")
        self._AlarmCntRatio = params.get("AlarmCntRatio")
        self._LastAlarmCntRatio = params.get("LastAlarmCntRatio")
        self._PipelineCnt = params.get("PipelineCnt")
        self._LastPipelineCnt = params.get("LastPipelineCnt")
        self._PipelineCntRatio = params.get("PipelineCntRatio")
        self._LastPipelineCntRatio = params.get("LastPipelineCntRatio")
        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 RuleFieldConfig(AbstractModel):
    r"""规则变量替换

    """

    def __init__(self):
        r"""
        :param _WhereConfig: where变量
注意：此字段可能返回 null，表示取不到有效值。
        :type WhereConfig: list of FieldConfig
        :param _TableConfig: 库表变量
注意：此字段可能返回 null，表示取不到有效值。
        :type TableConfig: list of TableConfig
        """
        self._WhereConfig = None
        self._TableConfig = None

    @property
    def WhereConfig(self):
        r"""where变量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FieldConfig
        """
        return self._WhereConfig

    @WhereConfig.setter
    def WhereConfig(self, WhereConfig):
        self._WhereConfig = WhereConfig

    @property
    def TableConfig(self):
        r"""库表变量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableConfig
        """
        return self._TableConfig

    @TableConfig.setter
    def TableConfig(self, TableConfig):
        self._TableConfig = TableConfig


    def _deserialize(self, params):
        if params.get("WhereConfig") is not None:
            self._WhereConfig = []
            for item in params.get("WhereConfig"):
                obj = FieldConfig()
                obj._deserialize(item)
                self._WhereConfig.append(obj)
        if params.get("TableConfig") is not None:
            self._TableConfig = []
            for item in params.get("TableConfig"):
                obj = TableConfig()
                obj._deserialize(item)
                self._TableConfig.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 RuleGroup(AbstractModel):
    r"""数据质量规则组

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _DatasourceId: 数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorType: int
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _TableName: 关联数据表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableId: 关联数据表Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableOwnerName: 关联数据表负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerName: str
        :param _ExecStrategy: 执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecStrategy: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        :param _Subscription: 执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type Subscription: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        :param _DatabaseId: 数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _SchemaName: 模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _Permission: 是否有权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Permission: bool
        :param _RuleCount: 已经配置的规则数量
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleCount: int
        :param _MonitorStatus: 监控状态
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorStatus: bool
        :param _TableOwnerUserId: 表负责人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerUserId: int
        :param _InstanceId: 实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _StrategyConfig: 是否已配置执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type StrategyConfig: bool
        :param _SubscribeConfig: 是否已配置执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :type SubscribeConfig: bool
        :param _DsEnvType: 数据源环境：0或者未返回.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :type DsEnvType: int
        :param _ClusterDeployType: EMR集群部署方式：CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterDeployType: str
        :param _Name: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ExecDetail: 执行详情
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecDetail: str
        :param _PipelineTaskCount: 事中关联任务数量
注意：此字段可能返回 null，表示取不到有效值。
        :type PipelineTaskCount: int
        :param _EnableRuleCount: 有效规则数
注意：此字段可能返回 null，表示取不到有效值。
        :type EnableRuleCount: int
        :param _Description: 任务描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _CreateUserName: 监控创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateUserName: str
        :param _GroupType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type GroupType: str
        :param _AspectTaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type AspectTaskId: str
        :param _CatalogName: catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        """
        self._RuleGroupId = None
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatasourceType = None
        self._MonitorType = None
        self._UpdateTime = None
        self._TableName = None
        self._TableId = None
        self._TableOwnerName = None
        self._ExecStrategy = None
        self._Subscription = None
        self._DatabaseId = None
        self._DatabaseName = None
        self._SchemaName = None
        self._Permission = None
        self._RuleCount = None
        self._MonitorStatus = None
        self._TableOwnerUserId = None
        self._InstanceId = None
        self._CreateTime = None
        self._StrategyConfig = None
        self._SubscribeConfig = None
        self._DsEnvType = None
        self._ClusterDeployType = None
        self._Name = None
        self._ExecDetail = None
        self._PipelineTaskCount = None
        self._EnableRuleCount = None
        self._Description = None
        self._CreateUserName = None
        self._GroupType = None
        self._AspectTaskId = None
        self._CatalogName = None

    @property
    def RuleGroupId(self):
        r"""规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def DatasourceId(self):
        r"""数据源Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def MonitorType(self):
        r"""监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def TableName(self):
        r"""关联数据表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableId(self):
        r"""关联数据表Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableOwnerName(self):
        r"""关联数据表负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerName

    @TableOwnerName.setter
    def TableOwnerName(self, TableOwnerName):
        self._TableOwnerName = TableOwnerName

    @property
    def ExecStrategy(self):
        r"""执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupExecStrategy`
        """
        return self._ExecStrategy

    @ExecStrategy.setter
    def ExecStrategy(self, ExecStrategy):
        self._ExecStrategy = ExecStrategy

    @property
    def Subscription(self):
        r"""执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupSubscribe`
        """
        return self._Subscription

    @Subscription.setter
    def Subscription(self, Subscription):
        self._Subscription = Subscription

    @property
    def DatabaseId(self):
        r"""数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Permission(self):
        r"""是否有权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Permission

    @Permission.setter
    def Permission(self, Permission):
        self._Permission = Permission

    @property
    def RuleCount(self):
        r"""已经配置的规则数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleCount

    @RuleCount.setter
    def RuleCount(self, RuleCount):
        self._RuleCount = RuleCount

    @property
    def MonitorStatus(self):
        r"""监控状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._MonitorStatus

    @MonitorStatus.setter
    def MonitorStatus(self, MonitorStatus):
        self._MonitorStatus = MonitorStatus

    @property
    def TableOwnerUserId(self):
        r"""表负责人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TableOwnerUserId

    @TableOwnerUserId.setter
    def TableOwnerUserId(self, TableOwnerUserId):
        self._TableOwnerUserId = TableOwnerUserId

    @property
    def InstanceId(self):
        r"""实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def StrategyConfig(self):
        r"""是否已配置执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._StrategyConfig

    @StrategyConfig.setter
    def StrategyConfig(self, StrategyConfig):
        self._StrategyConfig = StrategyConfig

    @property
    def SubscribeConfig(self):
        r"""是否已配置执行策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SubscribeConfig

    @SubscribeConfig.setter
    def SubscribeConfig(self, SubscribeConfig):
        self._SubscribeConfig = SubscribeConfig

    @property
    def DsEnvType(self):
        r"""数据源环境：0或者未返回.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DsEnvType

    @DsEnvType.setter
    def DsEnvType(self, DsEnvType):
        self._DsEnvType = DsEnvType

    @property
    def ClusterDeployType(self):
        r"""EMR集群部署方式：CVM/TKE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterDeployType

    @ClusterDeployType.setter
    def ClusterDeployType(self, ClusterDeployType):
        self._ClusterDeployType = ClusterDeployType

    @property
    def Name(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ExecDetail(self):
        r"""执行详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecDetail

    @ExecDetail.setter
    def ExecDetail(self, ExecDetail):
        self._ExecDetail = ExecDetail

    @property
    def PipelineTaskCount(self):
        r"""事中关联任务数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PipelineTaskCount

    @PipelineTaskCount.setter
    def PipelineTaskCount(self, PipelineTaskCount):
        self._PipelineTaskCount = PipelineTaskCount

    @property
    def EnableRuleCount(self):
        r"""有效规则数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._EnableRuleCount

    @EnableRuleCount.setter
    def EnableRuleCount(self, EnableRuleCount):
        self._EnableRuleCount = EnableRuleCount

    @property
    def Description(self):
        r"""任务描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateUserName(self):
        r"""监控创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateUserName

    @CreateUserName.setter
    def CreateUserName(self, CreateUserName):
        self._CreateUserName = CreateUserName

    @property
    def GroupType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GroupType

    @GroupType.setter
    def GroupType(self, GroupType):
        self._GroupType = GroupType

    @property
    def AspectTaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AspectTaskId

    @AspectTaskId.setter
    def AspectTaskId(self, AspectTaskId):
        self._AspectTaskId = AspectTaskId

    @property
    def CatalogName(self):
        r"""catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatasourceType = params.get("DatasourceType")
        self._MonitorType = params.get("MonitorType")
        self._UpdateTime = params.get("UpdateTime")
        self._TableName = params.get("TableName")
        self._TableId = params.get("TableId")
        self._TableOwnerName = params.get("TableOwnerName")
        if params.get("ExecStrategy") is not None:
            self._ExecStrategy = RuleGroupExecStrategy()
            self._ExecStrategy._deserialize(params.get("ExecStrategy"))
        if params.get("Subscription") is not None:
            self._Subscription = RuleGroupSubscribe()
            self._Subscription._deserialize(params.get("Subscription"))
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._Permission = params.get("Permission")
        self._RuleCount = params.get("RuleCount")
        self._MonitorStatus = params.get("MonitorStatus")
        self._TableOwnerUserId = params.get("TableOwnerUserId")
        self._InstanceId = params.get("InstanceId")
        self._CreateTime = params.get("CreateTime")
        self._StrategyConfig = params.get("StrategyConfig")
        self._SubscribeConfig = params.get("SubscribeConfig")
        self._DsEnvType = params.get("DsEnvType")
        self._ClusterDeployType = params.get("ClusterDeployType")
        self._Name = params.get("Name")
        self._ExecDetail = params.get("ExecDetail")
        self._PipelineTaskCount = params.get("PipelineTaskCount")
        self._EnableRuleCount = params.get("EnableRuleCount")
        self._Description = params.get("Description")
        self._CreateUserName = params.get("CreateUserName")
        self._GroupType = params.get("GroupType")
        self._AspectTaskId = params.get("AspectTaskId")
        self._CatalogName = params.get("CatalogName")
        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 RuleGroupConfig(AbstractModel):
    r"""任务配置

    """

    def __init__(self):
        r"""
        :param _AnalysisType: 分析类型，可选值：
INFERENCE-推理表
TIME_SERIES-时序表
SNAPSHOT-快照表
注意：此字段可能返回 null，表示取不到有效值。
        :type AnalysisType: str
        :param _ModelMonitorType: 模型检测类型，分析类型为推理表（INFERENCE）时必填，可选值：
CLAASSIFICATION-分类
REGRESSION-回归
注意：此字段可能返回 null，表示取不到有效值。
        :type ModelMonitorType: str
        :param _PredictColumn: 预测列
注意：此字段可能返回 null，表示取不到有效值。
        :type PredictColumn: str
        :param _PredictColumnType: 预测列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type PredictColumnType: str
        :param _LabelColumn: 标签列
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelColumn: str
        :param _LabelColumnType: 标签列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelColumnType: str
        :param _ModelIdColumn: 模型id列
注意：此字段可能返回 null，表示取不到有效值。
        :type ModelIdColumn: str
        :param _ModelIdColumnType: 模型id列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ModelIdColumnType: str
        :param _TimestampColumn: 时间戳列
注意：此字段可能返回 null，表示取不到有效值。
        :type TimestampColumn: str
        :param _TimestampColumnType: 时间戳列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TimestampColumnType: str
        :param _Granularity: 指标粒度
注意：此字段可能返回 null，表示取不到有效值。
        :type Granularity: int
        :param _GranularityType: 指标粒度单位
注意：此字段可能返回 null，表示取不到有效值。
        :type GranularityType: str
        :param _BaseTable: 基准表
注意：此字段可能返回 null，表示取不到有效值。
        :type BaseTable: str
        :param _BaseDb: 基准库
注意：此字段可能返回 null，表示取不到有效值。
        :type BaseDb: str
        :param _ComparisonColumn: 对比列
注意：此字段可能返回 null，表示取不到有效值。
        :type ComparisonColumn: str
        :param _ComparisonColumnType: 对比列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ComparisonColumnType: str
        :param _ProtectionValue: 保护组
注意：此字段可能返回 null，表示取不到有效值。
        :type ProtectionValue: str
        :param _PositiveValue: 正类值
注意：此字段可能返回 null，表示取不到有效值。
        :type PositiveValue: str
        :param _FeatureColumn: 数值型特征列
注意：此字段可能返回 null，表示取不到有效值。
        :type FeatureColumn: str
        :param _CategoricalFeatureColumn: 分类型特征列
注意：此字段可能返回 null，表示取不到有效值。
        :type CategoricalFeatureColumn: str
        :param _BaseCatalog: 目录
注意：此字段可能返回 null，表示取不到有效值。
        :type BaseCatalog: str
        """
        self._AnalysisType = None
        self._ModelMonitorType = None
        self._PredictColumn = None
        self._PredictColumnType = None
        self._LabelColumn = None
        self._LabelColumnType = None
        self._ModelIdColumn = None
        self._ModelIdColumnType = None
        self._TimestampColumn = None
        self._TimestampColumnType = None
        self._Granularity = None
        self._GranularityType = None
        self._BaseTable = None
        self._BaseDb = None
        self._ComparisonColumn = None
        self._ComparisonColumnType = None
        self._ProtectionValue = None
        self._PositiveValue = None
        self._FeatureColumn = None
        self._CategoricalFeatureColumn = None
        self._BaseCatalog = None

    @property
    def AnalysisType(self):
        r"""分析类型，可选值：
INFERENCE-推理表
TIME_SERIES-时序表
SNAPSHOT-快照表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AnalysisType

    @AnalysisType.setter
    def AnalysisType(self, AnalysisType):
        self._AnalysisType = AnalysisType

    @property
    def ModelMonitorType(self):
        r"""模型检测类型，分析类型为推理表（INFERENCE）时必填，可选值：
CLAASSIFICATION-分类
REGRESSION-回归
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModelMonitorType

    @ModelMonitorType.setter
    def ModelMonitorType(self, ModelMonitorType):
        self._ModelMonitorType = ModelMonitorType

    @property
    def PredictColumn(self):
        r"""预测列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PredictColumn

    @PredictColumn.setter
    def PredictColumn(self, PredictColumn):
        self._PredictColumn = PredictColumn

    @property
    def PredictColumnType(self):
        r"""预测列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PredictColumnType

    @PredictColumnType.setter
    def PredictColumnType(self, PredictColumnType):
        self._PredictColumnType = PredictColumnType

    @property
    def LabelColumn(self):
        r"""标签列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LabelColumn

    @LabelColumn.setter
    def LabelColumn(self, LabelColumn):
        self._LabelColumn = LabelColumn

    @property
    def LabelColumnType(self):
        r"""标签列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LabelColumnType

    @LabelColumnType.setter
    def LabelColumnType(self, LabelColumnType):
        self._LabelColumnType = LabelColumnType

    @property
    def ModelIdColumn(self):
        r"""模型id列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModelIdColumn

    @ModelIdColumn.setter
    def ModelIdColumn(self, ModelIdColumn):
        self._ModelIdColumn = ModelIdColumn

    @property
    def ModelIdColumnType(self):
        r"""模型id列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModelIdColumnType

    @ModelIdColumnType.setter
    def ModelIdColumnType(self, ModelIdColumnType):
        self._ModelIdColumnType = ModelIdColumnType

    @property
    def TimestampColumn(self):
        r"""时间戳列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimestampColumn

    @TimestampColumn.setter
    def TimestampColumn(self, TimestampColumn):
        self._TimestampColumn = TimestampColumn

    @property
    def TimestampColumnType(self):
        r"""时间戳列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TimestampColumnType

    @TimestampColumnType.setter
    def TimestampColumnType(self, TimestampColumnType):
        self._TimestampColumnType = TimestampColumnType

    @property
    def Granularity(self):
        r"""指标粒度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Granularity

    @Granularity.setter
    def Granularity(self, Granularity):
        self._Granularity = Granularity

    @property
    def GranularityType(self):
        r"""指标粒度单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._GranularityType

    @GranularityType.setter
    def GranularityType(self, GranularityType):
        self._GranularityType = GranularityType

    @property
    def BaseTable(self):
        r"""基准表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BaseTable

    @BaseTable.setter
    def BaseTable(self, BaseTable):
        self._BaseTable = BaseTable

    @property
    def BaseDb(self):
        r"""基准库
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BaseDb

    @BaseDb.setter
    def BaseDb(self, BaseDb):
        self._BaseDb = BaseDb

    @property
    def ComparisonColumn(self):
        r"""对比列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComparisonColumn

    @ComparisonColumn.setter
    def ComparisonColumn(self, ComparisonColumn):
        self._ComparisonColumn = ComparisonColumn

    @property
    def ComparisonColumnType(self):
        r"""对比列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ComparisonColumnType

    @ComparisonColumnType.setter
    def ComparisonColumnType(self, ComparisonColumnType):
        self._ComparisonColumnType = ComparisonColumnType

    @property
    def ProtectionValue(self):
        r"""保护组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProtectionValue

    @ProtectionValue.setter
    def ProtectionValue(self, ProtectionValue):
        self._ProtectionValue = ProtectionValue

    @property
    def PositiveValue(self):
        r"""正类值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PositiveValue

    @PositiveValue.setter
    def PositiveValue(self, PositiveValue):
        self._PositiveValue = PositiveValue

    @property
    def FeatureColumn(self):
        r"""数值型特征列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FeatureColumn

    @FeatureColumn.setter
    def FeatureColumn(self, FeatureColumn):
        self._FeatureColumn = FeatureColumn

    @property
    def CategoricalFeatureColumn(self):
        r"""分类型特征列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CategoricalFeatureColumn

    @CategoricalFeatureColumn.setter
    def CategoricalFeatureColumn(self, CategoricalFeatureColumn):
        self._CategoricalFeatureColumn = CategoricalFeatureColumn

    @property
    def BaseCatalog(self):
        r"""目录
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BaseCatalog

    @BaseCatalog.setter
    def BaseCatalog(self, BaseCatalog):
        self._BaseCatalog = BaseCatalog


    def _deserialize(self, params):
        self._AnalysisType = params.get("AnalysisType")
        self._ModelMonitorType = params.get("ModelMonitorType")
        self._PredictColumn = params.get("PredictColumn")
        self._PredictColumnType = params.get("PredictColumnType")
        self._LabelColumn = params.get("LabelColumn")
        self._LabelColumnType = params.get("LabelColumnType")
        self._ModelIdColumn = params.get("ModelIdColumn")
        self._ModelIdColumnType = params.get("ModelIdColumnType")
        self._TimestampColumn = params.get("TimestampColumn")
        self._TimestampColumnType = params.get("TimestampColumnType")
        self._Granularity = params.get("Granularity")
        self._GranularityType = params.get("GranularityType")
        self._BaseTable = params.get("BaseTable")
        self._BaseDb = params.get("BaseDb")
        self._ComparisonColumn = params.get("ComparisonColumn")
        self._ComparisonColumnType = params.get("ComparisonColumnType")
        self._ProtectionValue = params.get("ProtectionValue")
        self._PositiveValue = params.get("PositiveValue")
        self._FeatureColumn = params.get("FeatureColumn")
        self._CategoricalFeatureColumn = params.get("CategoricalFeatureColumn")
        self._BaseCatalog = params.get("BaseCatalog")
        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 RuleGroupExecResult(AbstractModel):
    r"""规则组执行结果

    """

    def __init__(self):
        r"""
        :param _RuleGroupExecId: 规则组执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupExecId: int
        :param _RuleGroupId: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _TriggerType: 执行触发类型（1：手动触发， 2：调度事中触发，3：周期调度触发）
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerType: int
        :param _ExecTime: 执行时间 yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecTime: str
        :param _Status: 执行状态（1.已提交 2.检测中 3.正常 4.异常）
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        :param _AlarmRuleCount: 异常规则数
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRuleCount: int
        :param _TotalRuleCount: 总规则数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRuleCount: int
        :param _TableOwnerName: 源表负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerName: str
        :param _TableName: 源表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableId: 表id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _DatabaseId: 数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _Permission: 有无权限
注意：此字段可能返回 null，表示取不到有效值。
        :type Permission: bool
        :param _ExecDetail: 执行详情，调度计划或者关联生产任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecDetail: str
        :param _EngineType: 实际执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineType: str
        :param _RuleExecResultVOList: 规则执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleExecResultVOList: list of RuleExecResult
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _RuleGroupTableId: 本地规则表id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupTableId: str
        :param _ClusterDeployType: 集群部署类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterDeployType: str
        :param _InstanceId: 实例id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _DsEnvType: 数据库所属环境，0.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :type DsEnvType: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _InstanceStatus: 实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceStatus: str
        :param _StartTime: 实例运行的开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _FinishTime: 实例运行的结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FinishTime: str
        :param _RuleGroupName: 监控名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupName: str
        :param _RuleGroupExist: 判断是否屏蔽监控 0.屏蔽 1.不屏蔽
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupExist: str
        """
        self._RuleGroupExecId = None
        self._RuleGroupId = None
        self._TriggerType = None
        self._ExecTime = None
        self._Status = None
        self._AlarmRuleCount = None
        self._TotalRuleCount = None
        self._TableOwnerName = None
        self._TableName = None
        self._TableId = None
        self._DatabaseId = None
        self._DatasourceId = None
        self._Permission = None
        self._ExecDetail = None
        self._EngineType = None
        self._RuleExecResultVOList = None
        self._DatabaseName = None
        self._RuleGroupTableId = None
        self._ClusterDeployType = None
        self._InstanceId = None
        self._DsEnvType = None
        self._ProjectId = None
        self._ProjectName = None
        self._InstanceStatus = None
        self._StartTime = None
        self._FinishTime = None
        self._RuleGroupName = None
        self._RuleGroupExist = None

    @property
    def RuleGroupExecId(self):
        r"""规则组执行ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupExecId

    @RuleGroupExecId.setter
    def RuleGroupExecId(self, RuleGroupExecId):
        self._RuleGroupExecId = RuleGroupExecId

    @property
    def RuleGroupId(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def TriggerType(self):
        r"""执行触发类型（1：手动触发， 2：调度事中触发，3：周期调度触发）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def ExecTime(self):
        r"""执行时间 yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecTime

    @ExecTime.setter
    def ExecTime(self, ExecTime):
        self._ExecTime = ExecTime

    @property
    def Status(self):
        r"""执行状态（1.已提交 2.检测中 3.正常 4.异常）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def AlarmRuleCount(self):
        r"""异常规则数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmRuleCount

    @AlarmRuleCount.setter
    def AlarmRuleCount(self, AlarmRuleCount):
        self._AlarmRuleCount = AlarmRuleCount

    @property
    def TotalRuleCount(self):
        r"""总规则数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRuleCount

    @TotalRuleCount.setter
    def TotalRuleCount(self, TotalRuleCount):
        self._TotalRuleCount = TotalRuleCount

    @property
    def TableOwnerName(self):
        r"""源表负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerName

    @TableOwnerName.setter
    def TableOwnerName(self, TableOwnerName):
        self._TableOwnerName = TableOwnerName

    @property
    def TableName(self):
        r"""源表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableId(self):
        r"""表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def DatabaseId(self):
        r"""数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Permission(self):
        r"""有无权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Permission

    @Permission.setter
    def Permission(self, Permission):
        self._Permission = Permission

    @property
    def ExecDetail(self):
        r"""执行详情，调度计划或者关联生产任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecDetail

    @ExecDetail.setter
    def ExecDetail(self, ExecDetail):
        self._ExecDetail = ExecDetail

    @property
    def EngineType(self):
        r"""实际执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType

    @property
    def RuleExecResultVOList(self):
        r"""规则执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleExecResult
        """
        return self._RuleExecResultVOList

    @RuleExecResultVOList.setter
    def RuleExecResultVOList(self, RuleExecResultVOList):
        self._RuleExecResultVOList = RuleExecResultVOList

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def RuleGroupTableId(self):
        r"""本地规则表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupTableId

    @RuleGroupTableId.setter
    def RuleGroupTableId(self, RuleGroupTableId):
        self._RuleGroupTableId = RuleGroupTableId

    @property
    def ClusterDeployType(self):
        r"""集群部署类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterDeployType

    @ClusterDeployType.setter
    def ClusterDeployType(self, ClusterDeployType):
        self._ClusterDeployType = ClusterDeployType

    @property
    def InstanceId(self):
        r"""实例id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def DsEnvType(self):
        r"""数据库所属环境，0.未定义，1.生产 2.开发
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DsEnvType

    @DsEnvType.setter
    def DsEnvType(self, DsEnvType):
        self._DsEnvType = DsEnvType

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def InstanceStatus(self):
        r"""实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceStatus

    @InstanceStatus.setter
    def InstanceStatus(self, InstanceStatus):
        self._InstanceStatus = InstanceStatus

    @property
    def StartTime(self):
        r"""实例运行的开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def FinishTime(self):
        r"""实例运行的结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FinishTime

    @FinishTime.setter
    def FinishTime(self, FinishTime):
        self._FinishTime = FinishTime

    @property
    def RuleGroupName(self):
        r"""监控名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupName

    @RuleGroupName.setter
    def RuleGroupName(self, RuleGroupName):
        self._RuleGroupName = RuleGroupName

    @property
    def RuleGroupExist(self):
        r"""判断是否屏蔽监控 0.屏蔽 1.不屏蔽
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupExist

    @RuleGroupExist.setter
    def RuleGroupExist(self, RuleGroupExist):
        self._RuleGroupExist = RuleGroupExist


    def _deserialize(self, params):
        self._RuleGroupExecId = params.get("RuleGroupExecId")
        self._RuleGroupId = params.get("RuleGroupId")
        self._TriggerType = params.get("TriggerType")
        self._ExecTime = params.get("ExecTime")
        self._Status = params.get("Status")
        self._AlarmRuleCount = params.get("AlarmRuleCount")
        self._TotalRuleCount = params.get("TotalRuleCount")
        self._TableOwnerName = params.get("TableOwnerName")
        self._TableName = params.get("TableName")
        self._TableId = params.get("TableId")
        self._DatabaseId = params.get("DatabaseId")
        self._DatasourceId = params.get("DatasourceId")
        self._Permission = params.get("Permission")
        self._ExecDetail = params.get("ExecDetail")
        self._EngineType = params.get("EngineType")
        if params.get("RuleExecResultVOList") is not None:
            self._RuleExecResultVOList = []
            for item in params.get("RuleExecResultVOList"):
                obj = RuleExecResult()
                obj._deserialize(item)
                self._RuleExecResultVOList.append(obj)
        self._DatabaseName = params.get("DatabaseName")
        self._RuleGroupTableId = params.get("RuleGroupTableId")
        self._ClusterDeployType = params.get("ClusterDeployType")
        self._InstanceId = params.get("InstanceId")
        self._DsEnvType = params.get("DsEnvType")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._InstanceStatus = params.get("InstanceStatus")
        self._StartTime = params.get("StartTime")
        self._FinishTime = params.get("FinishTime")
        self._RuleGroupName = params.get("RuleGroupName")
        self._RuleGroupExist = params.get("RuleGroupExist")
        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 RuleGroupExecResultPage(AbstractModel):
    r"""规则组执行结果分页

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 规则组执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of RuleGroupExecResult
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""规则组执行结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleGroupExecResult
        """
        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 = RuleGroupExecResult()
                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 RuleGroupExecStrategy(AbstractModel):
    r"""质量规则执行策略

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorType: int
        :param _ExecQueue: 计算队列
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecQueue: str
        :param _ExecutorGroupId: 执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 执行资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _Tasks: 关联的生产调度任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of ProdSchedulerTask
        :param _StartTime: 周期开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 周期结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CycleType: 调度周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _DelayTime: 延迟调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _CycleStep: 间隔
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _TaskAction: 时间指定
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _ExecEngineType: 运行的执行引擎，不传时会请求该数据源下默认的执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecEngineType: str
        :param _ExecPlan: 执行计划
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecPlan: str
        :param _RuleId: 规则id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleId: int
        :param _RuleName: 规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleName: str
        :param _TriggerTypes: 触发类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerTypes: list of str
        :param _DlcGroupName: DLC资源组
注意：此字段可能返回 null，表示取不到有效值。
        :type DlcGroupName: str
        :param _RuleGroupName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupName: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _SchemaName: schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _Description: 任务描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ScheduleTimeZone: 时区
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        :param _GroupConfig: 任务监控参数
注意：此字段可能返回 null，表示取不到有效值。
        :type GroupConfig: :class:`tencentcloud.wedata.v20210820.models.RuleGroupConfig`
        :param _EngineParam: 引擎参数
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineParam: str
        :param _CatalogName: catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        """
        self._RuleGroupId = None
        self._MonitorType = None
        self._ExecQueue = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._Tasks = None
        self._StartTime = None
        self._EndTime = None
        self._CycleType = None
        self._DelayTime = None
        self._CycleStep = None
        self._TaskAction = None
        self._ExecEngineType = None
        self._ExecPlan = None
        self._RuleId = None
        self._RuleName = None
        self._TriggerTypes = None
        self._DlcGroupName = None
        self._RuleGroupName = None
        self._DatabaseName = None
        self._SchemaName = None
        self._TableName = None
        self._DatasourceId = None
        self._Description = None
        self._ScheduleTimeZone = None
        self._GroupConfig = None
        self._EngineParam = None
        self._CatalogName = None

    @property
    def RuleGroupId(self):
        r"""规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def MonitorType(self):
        r"""监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def ExecQueue(self):
        r"""计算队列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecQueue

    @ExecQueue.setter
    def ExecQueue(self, ExecQueue):
        self._ExecQueue = ExecQueue

    @property
    def ExecutorGroupId(self):
        r"""执行资源组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""执行资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def Tasks(self):
        r"""关联的生产调度任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ProdSchedulerTask
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def StartTime(self):
        r"""周期开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""周期结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CycleType(self):
        r"""调度周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def DelayTime(self):
        r"""延迟调度时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def CycleStep(self):
        r"""间隔
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def TaskAction(self):
        r"""时间指定
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def ExecEngineType(self):
        r"""运行的执行引擎，不传时会请求该数据源下默认的执行引擎
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecEngineType

    @ExecEngineType.setter
    def ExecEngineType(self, ExecEngineType):
        self._ExecEngineType = ExecEngineType

    @property
    def ExecPlan(self):
        r"""执行计划
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecPlan

    @ExecPlan.setter
    def ExecPlan(self, ExecPlan):
        self._ExecPlan = ExecPlan

    @property
    def RuleId(self):
        r"""规则id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def RuleName(self):
        r"""规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleName

    @RuleName.setter
    def RuleName(self, RuleName):
        self._RuleName = RuleName

    @property
    def TriggerTypes(self):
        r"""触发类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TriggerTypes

    @TriggerTypes.setter
    def TriggerTypes(self, TriggerTypes):
        self._TriggerTypes = TriggerTypes

    @property
    def DlcGroupName(self):
        r"""DLC资源组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DlcGroupName

    @DlcGroupName.setter
    def DlcGroupName(self, DlcGroupName):
        self._DlcGroupName = DlcGroupName

    @property
    def RuleGroupName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupName

    @RuleGroupName.setter
    def RuleGroupName(self, RuleGroupName):
        self._RuleGroupName = RuleGroupName

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def Description(self):
        r"""任务描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ScheduleTimeZone(self):
        r"""时区
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def GroupConfig(self):
        r"""任务监控参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupConfig`
        """
        return self._GroupConfig

    @GroupConfig.setter
    def GroupConfig(self, GroupConfig):
        self._GroupConfig = GroupConfig

    @property
    def EngineParam(self):
        r"""引擎参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineParam

    @EngineParam.setter
    def EngineParam(self, EngineParam):
        self._EngineParam = EngineParam

    @property
    def CatalogName(self):
        r"""catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        self._MonitorType = params.get("MonitorType")
        self._ExecQueue = params.get("ExecQueue")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = ProdSchedulerTask()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CycleType = params.get("CycleType")
        self._DelayTime = params.get("DelayTime")
        self._CycleStep = params.get("CycleStep")
        self._TaskAction = params.get("TaskAction")
        self._ExecEngineType = params.get("ExecEngineType")
        self._ExecPlan = params.get("ExecPlan")
        self._RuleId = params.get("RuleId")
        self._RuleName = params.get("RuleName")
        self._TriggerTypes = params.get("TriggerTypes")
        self._DlcGroupName = params.get("DlcGroupName")
        self._RuleGroupName = params.get("RuleGroupName")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        self._TableName = params.get("TableName")
        self._DatasourceId = params.get("DatasourceId")
        self._Description = params.get("Description")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        if params.get("GroupConfig") is not None:
            self._GroupConfig = RuleGroupConfig()
            self._GroupConfig._deserialize(params.get("GroupConfig"))
        self._EngineParam = params.get("EngineParam")
        self._CatalogName = params.get("CatalogName")
        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 RuleGroupPage(AbstractModel):
    r"""规则组分页

    """

    def __init__(self):
        r"""
        :param _TotalCount: 查询结果总数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 规则组列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of RuleGroup
        :param _MonitorEnabledCount: 已开启监控任务数量（在查询结果总量中）
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorEnabledCount: int
        """
        self._TotalCount = None
        self._Items = None
        self._MonitorEnabledCount = None

    @property
    def TotalCount(self):
        r"""查询结果总数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""规则组列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleGroup
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def MonitorEnabledCount(self):
        r"""已开启监控任务数量（在查询结果总量中）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorEnabledCount

    @MonitorEnabledCount.setter
    def MonitorEnabledCount(self, MonitorEnabledCount):
        self._MonitorEnabledCount = MonitorEnabledCount


    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 = RuleGroup()
                obj._deserialize(item)
                self._Items.append(obj)
        self._MonitorEnabledCount = params.get("MonitorEnabledCount")
        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 RuleGroupSchedulerInfo(AbstractModel):
    r"""规则组调度信息

    """

    def __init__(self):
        r"""
        :param _Id: 规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _MonitorType: 1:未配置 2:关联生产调度 3:离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorType: int
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _CycleType: 循环类型简写
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CycleStep: 循环步长
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _CycleDesc: 循环类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleDesc: str
        :param _TaskAction: 离线周期检测下指定时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _DelayTime: 离线周期检测下延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _CycleTaskId: 离线周期检测下注册到任务调度的任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleTaskId: str
        :param _AssociateTaskIds: 关联生产调度下关联的任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type AssociateTaskIds: list of str
        """
        self._Id = None
        self._MonitorType = None
        self._StartTime = None
        self._EndTime = None
        self._CycleType = None
        self._CycleStep = None
        self._CycleDesc = None
        self._TaskAction = None
        self._DelayTime = None
        self._CycleTaskId = None
        self._AssociateTaskIds = None

    @property
    def Id(self):
        r"""规则组ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def MonitorType(self):
        r"""1:未配置 2:关联生产调度 3:离线周期检测
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def CycleType(self):
        r"""循环类型简写
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""循环步长
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CycleDesc(self):
        r"""循环类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleDesc

    @CycleDesc.setter
    def CycleDesc(self, CycleDesc):
        self._CycleDesc = CycleDesc

    @property
    def TaskAction(self):
        r"""离线周期检测下指定时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def DelayTime(self):
        r"""离线周期检测下延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def CycleTaskId(self):
        r"""离线周期检测下注册到任务调度的任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleTaskId

    @CycleTaskId.setter
    def CycleTaskId(self, CycleTaskId):
        self._CycleTaskId = CycleTaskId

    @property
    def AssociateTaskIds(self):
        r"""关联生产调度下关联的任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._AssociateTaskIds

    @AssociateTaskIds.setter
    def AssociateTaskIds(self, AssociateTaskIds):
        self._AssociateTaskIds = AssociateTaskIds


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._MonitorType = params.get("MonitorType")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CycleDesc = params.get("CycleDesc")
        self._TaskAction = params.get("TaskAction")
        self._DelayTime = params.get("DelayTime")
        self._CycleTaskId = params.get("CycleTaskId")
        self._AssociateTaskIds = params.get("AssociateTaskIds")
        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 RuleGroupSubscribe(AbstractModel):
    r"""数据质量规则组订阅信息

    """

    def __init__(self):
        r"""
        :param _RuleGroupId: 规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupId: int
        :param _Receivers: 订阅接收人列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Receivers: list of SubscribeReceiver
        :param _SubscribeType: 订阅方式 1.邮件email  2.短信sms
注意：此字段可能返回 null，表示取不到有效值。
        :type SubscribeType: list of int non-negative
        :param _WebHooks: 群机器人配置的webhook信息
注意：此字段可能返回 null，表示取不到有效值。
        :type WebHooks: list of SubscribeWebHook
        :param _RuleId: 规则Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleId: int
        :param _RuleName: 规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleName: str
        :param _AlarmMessageRule: 发送对象
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmMessageRule: str
        """
        self._RuleGroupId = None
        self._Receivers = None
        self._SubscribeType = None
        self._WebHooks = None
        self._RuleId = None
        self._RuleName = None
        self._AlarmMessageRule = None

    @property
    def RuleGroupId(self):
        r"""规则组Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleGroupId

    @RuleGroupId.setter
    def RuleGroupId(self, RuleGroupId):
        self._RuleGroupId = RuleGroupId

    @property
    def Receivers(self):
        r"""订阅接收人列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SubscribeReceiver
        """
        return self._Receivers

    @Receivers.setter
    def Receivers(self, Receivers):
        self._Receivers = Receivers

    @property
    def SubscribeType(self):
        r"""订阅方式 1.邮件email  2.短信sms
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int non-negative
        """
        return self._SubscribeType

    @SubscribeType.setter
    def SubscribeType(self, SubscribeType):
        self._SubscribeType = SubscribeType

    @property
    def WebHooks(self):
        r"""群机器人配置的webhook信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SubscribeWebHook
        """
        return self._WebHooks

    @WebHooks.setter
    def WebHooks(self, WebHooks):
        self._WebHooks = WebHooks

    @property
    def RuleId(self):
        r"""规则Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RuleId

    @RuleId.setter
    def RuleId(self, RuleId):
        self._RuleId = RuleId

    @property
    def RuleName(self):
        r"""规则名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleName

    @RuleName.setter
    def RuleName(self, RuleName):
        self._RuleName = RuleName

    @property
    def AlarmMessageRule(self):
        r"""发送对象
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmMessageRule

    @AlarmMessageRule.setter
    def AlarmMessageRule(self, AlarmMessageRule):
        self._AlarmMessageRule = AlarmMessageRule


    def _deserialize(self, params):
        self._RuleGroupId = params.get("RuleGroupId")
        if params.get("Receivers") is not None:
            self._Receivers = []
            for item in params.get("Receivers"):
                obj = SubscribeReceiver()
                obj._deserialize(item)
                self._Receivers.append(obj)
        self._SubscribeType = params.get("SubscribeType")
        if params.get("WebHooks") is not None:
            self._WebHooks = []
            for item in params.get("WebHooks"):
                obj = SubscribeWebHook()
                obj._deserialize(item)
                self._WebHooks.append(obj)
        self._RuleId = params.get("RuleId")
        self._RuleName = params.get("RuleName")
        self._AlarmMessageRule = params.get("AlarmMessageRule")
        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 RuleGroupTable(AbstractModel):
    r"""表绑定规则组信息

    """

    def __init__(self):
        r"""
        :param _TableInfo: 表信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableInfo: :class:`tencentcloud.wedata.v20210820.models.RuleGroupTableInnerInfo`
        :param _RuleGroups: 规则组调度信息
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroups: list of RuleGroupSchedulerInfo
        :param _Subscriptions: 订阅者信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Subscriptions: list of RuleGroupSubscribe
        """
        self._TableInfo = None
        self._RuleGroups = None
        self._Subscriptions = None

    @property
    def TableInfo(self):
        r"""表信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.RuleGroupTableInnerInfo`
        """
        return self._TableInfo

    @TableInfo.setter
    def TableInfo(self, TableInfo):
        self._TableInfo = TableInfo

    @property
    def RuleGroups(self):
        r"""规则组调度信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleGroupSchedulerInfo
        """
        return self._RuleGroups

    @RuleGroups.setter
    def RuleGroups(self, RuleGroups):
        self._RuleGroups = RuleGroups

    @property
    def Subscriptions(self):
        r"""订阅者信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RuleGroupSubscribe
        """
        return self._Subscriptions

    @Subscriptions.setter
    def Subscriptions(self, Subscriptions):
        self._Subscriptions = Subscriptions


    def _deserialize(self, params):
        if params.get("TableInfo") is not None:
            self._TableInfo = RuleGroupTableInnerInfo()
            self._TableInfo._deserialize(params.get("TableInfo"))
        if params.get("RuleGroups") is not None:
            self._RuleGroups = []
            for item in params.get("RuleGroups"):
                obj = RuleGroupSchedulerInfo()
                obj._deserialize(item)
                self._RuleGroups.append(obj)
        if params.get("Subscriptions") is not None:
            self._Subscriptions = []
            for item in params.get("Subscriptions"):
                obj = RuleGroupSubscribe()
                obj._deserialize(item)
                self._Subscriptions.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 RuleGroupTableInnerInfo(AbstractModel):
    r"""规则组关联表信息

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _InstanceId: 实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatasourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceType: int
        :param _DatabaseId: 数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: int
        :param _UserId: 责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: int
        """
        self._TableId = None
        self._TableName = None
        self._InstanceId = None
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatasourceType = None
        self._DatabaseId = None
        self._DatabaseName = None
        self._ProjectId = None
        self._UserId = None

    @property
    def TableId(self):
        r"""表ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def InstanceId(self):
        r"""实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatasourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def DatabaseId(self):
        r"""数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UserId(self):
        r"""责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._InstanceId = params.get("InstanceId")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatasourceType = params.get("DatasourceType")
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._ProjectId = params.get("ProjectId")
        self._UserId = params.get("UserId")
        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 RulePage(AbstractModel):
    r"""数据质量规则分页

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 规则列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of Rule
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""规则列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of Rule
        """
        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 = Rule()
                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 RuleTemplate(AbstractModel):
    r"""规则模版

    """

    def __init__(self):
        r"""
        :param _RuleTemplateId: 规则模版ID
        :type RuleTemplateId: int
        :param _Name: 规则模版名称
        :type Name: str
        :param _Description: 规则模版描述
        :type Description: str
        :param _Type: 模版类型（1：系统模版，2：自定义）
        :type Type: int
        :param _SourceObjectType: 规则适用的源数据对象类型（1：常量，2：离线表级，3：离线字段级别）
        :type SourceObjectType: int
        :param _SourceObjectDataType: 规则适用的源数据对象类型（1：数值，2：字符串）
        :type SourceObjectDataType: int
        :param _SourceContent: 规则模版源侧内容，区分引擎，JSON 结构
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceContent: str
        :param _SourceEngineTypes: 源数据适用类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceEngineTypes: list of int non-negative
        :param _QualityDim: 规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性）
注意：此字段可能返回 null，表示取不到有效值。
        :type QualityDim: int
        :param _CompareType: 规则支持的比较方式类型（1：固定值比较，大于、小于，大于等于等 2：波动值比较，绝对值、上升、下降）
注意：此字段可能返回 null，表示取不到有效值。
        :type CompareType: int
        :param _CitationCount: 引用次数
注意：此字段可能返回 null，表示取不到有效值。
        :type CitationCount: int
        :param _UserId: 创建人id
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: int
        :param _UserName: 创建人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :type UserName: str
        :param _UpdateTime: 更新时间yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _WhereFlag: 是否添加where参数
注意：此字段可能返回 null，表示取不到有效值。
        :type WhereFlag: bool
        :param _MultiSourceFlag: 是否关联多个库表
注意：此字段可能返回 null，表示取不到有效值。
        :type MultiSourceFlag: bool
        :param _SqlExpression: 自定义模板SQL表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type SqlExpression: str
        :param _SubQualityDim: 模版子维度，0.父维度类型,1.一致性: 枚举范围一致性,2.一致性：数值范围一致性,3.一致性：字段数据相关性
注意：此字段可能返回 null，表示取不到有效值。
        :type SubQualityDim: int
        :param _ResolvedSqlExpression: sql表达式解析对象
注意：此字段可能返回 null，表示取不到有效值。
        :type ResolvedSqlExpression: :class:`tencentcloud.wedata.v20210820.models.SqlExpression`
        :param _DatasourceTypes: 支持的数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceTypes: list of int
        :param _UserIdStr: 创建人IdStr
注意：此字段可能返回 null，表示取不到有效值。
        :type UserIdStr: str
        """
        self._RuleTemplateId = None
        self._Name = None
        self._Description = None
        self._Type = None
        self._SourceObjectType = None
        self._SourceObjectDataType = None
        self._SourceContent = None
        self._SourceEngineTypes = None
        self._QualityDim = None
        self._CompareType = None
        self._CitationCount = None
        self._UserId = None
        self._UserName = None
        self._UpdateTime = None
        self._WhereFlag = None
        self._MultiSourceFlag = None
        self._SqlExpression = None
        self._SubQualityDim = None
        self._ResolvedSqlExpression = None
        self._DatasourceTypes = None
        self._UserIdStr = None

    @property
    def RuleTemplateId(self):
        r"""规则模版ID
        :rtype: int
        """
        return self._RuleTemplateId

    @RuleTemplateId.setter
    def RuleTemplateId(self, RuleTemplateId):
        self._RuleTemplateId = RuleTemplateId

    @property
    def Name(self):
        r"""规则模版名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Description(self):
        r"""规则模版描述
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Type(self):
        r"""模版类型（1：系统模版，2：自定义）
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def SourceObjectType(self):
        r"""规则适用的源数据对象类型（1：常量，2：离线表级，3：离线字段级别）
        :rtype: int
        """
        return self._SourceObjectType

    @SourceObjectType.setter
    def SourceObjectType(self, SourceObjectType):
        self._SourceObjectType = SourceObjectType

    @property
    def SourceObjectDataType(self):
        r"""规则适用的源数据对象类型（1：数值，2：字符串）
        :rtype: int
        """
        return self._SourceObjectDataType

    @SourceObjectDataType.setter
    def SourceObjectDataType(self, SourceObjectDataType):
        self._SourceObjectDataType = SourceObjectDataType

    @property
    def SourceContent(self):
        r"""规则模版源侧内容，区分引擎，JSON 结构
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceContent

    @SourceContent.setter
    def SourceContent(self, SourceContent):
        self._SourceContent = SourceContent

    @property
    def SourceEngineTypes(self):
        r"""源数据适用类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int non-negative
        """
        return self._SourceEngineTypes

    @SourceEngineTypes.setter
    def SourceEngineTypes(self, SourceEngineTypes):
        self._SourceEngineTypes = SourceEngineTypes

    @property
    def QualityDim(self):
        r"""规则所属质量维度（1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim

    @property
    def CompareType(self):
        r"""规则支持的比较方式类型（1：固定值比较，大于、小于，大于等于等 2：波动值比较，绝对值、上升、下降）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CompareType

    @CompareType.setter
    def CompareType(self, CompareType):
        self._CompareType = CompareType

    @property
    def CitationCount(self):
        r"""引用次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CitationCount

    @CitationCount.setter
    def CitationCount(self, CitationCount):
        self._CitationCount = CitationCount

    @property
    def UserId(self):
        r"""创建人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def UserName(self):
        r"""创建人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserName

    @UserName.setter
    def UserName(self, UserName):
        self._UserName = UserName

    @property
    def UpdateTime(self):
        r"""更新时间yyyy-MM-dd HH:mm:ss
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def WhereFlag(self):
        r"""是否添加where参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._WhereFlag

    @WhereFlag.setter
    def WhereFlag(self, WhereFlag):
        self._WhereFlag = WhereFlag

    @property
    def MultiSourceFlag(self):
        r"""是否关联多个库表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._MultiSourceFlag

    @MultiSourceFlag.setter
    def MultiSourceFlag(self, MultiSourceFlag):
        self._MultiSourceFlag = MultiSourceFlag

    @property
    def SqlExpression(self):
        r"""自定义模板SQL表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SqlExpression

    @SqlExpression.setter
    def SqlExpression(self, SqlExpression):
        self._SqlExpression = SqlExpression

    @property
    def SubQualityDim(self):
        r"""模版子维度，0.父维度类型,1.一致性: 枚举范围一致性,2.一致性：数值范围一致性,3.一致性：字段数据相关性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SubQualityDim

    @SubQualityDim.setter
    def SubQualityDim(self, SubQualityDim):
        self._SubQualityDim = SubQualityDim

    @property
    def ResolvedSqlExpression(self):
        r"""sql表达式解析对象
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SqlExpression`
        """
        return self._ResolvedSqlExpression

    @ResolvedSqlExpression.setter
    def ResolvedSqlExpression(self, ResolvedSqlExpression):
        self._ResolvedSqlExpression = ResolvedSqlExpression

    @property
    def DatasourceTypes(self):
        r"""支持的数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of int
        """
        return self._DatasourceTypes

    @DatasourceTypes.setter
    def DatasourceTypes(self, DatasourceTypes):
        self._DatasourceTypes = DatasourceTypes

    @property
    def UserIdStr(self):
        r"""创建人IdStr
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserIdStr

    @UserIdStr.setter
    def UserIdStr(self, UserIdStr):
        self._UserIdStr = UserIdStr


    def _deserialize(self, params):
        self._RuleTemplateId = params.get("RuleTemplateId")
        self._Name = params.get("Name")
        self._Description = params.get("Description")
        self._Type = params.get("Type")
        self._SourceObjectType = params.get("SourceObjectType")
        self._SourceObjectDataType = params.get("SourceObjectDataType")
        self._SourceContent = params.get("SourceContent")
        self._SourceEngineTypes = params.get("SourceEngineTypes")
        self._QualityDim = params.get("QualityDim")
        self._CompareType = params.get("CompareType")
        self._CitationCount = params.get("CitationCount")
        self._UserId = params.get("UserId")
        self._UserName = params.get("UserName")
        self._UpdateTime = params.get("UpdateTime")
        self._WhereFlag = params.get("WhereFlag")
        self._MultiSourceFlag = params.get("MultiSourceFlag")
        self._SqlExpression = params.get("SqlExpression")
        self._SubQualityDim = params.get("SubQualityDim")
        if params.get("ResolvedSqlExpression") is not None:
            self._ResolvedSqlExpression = SqlExpression()
            self._ResolvedSqlExpression._deserialize(params.get("ResolvedSqlExpression"))
        self._DatasourceTypes = params.get("DatasourceTypes")
        self._UserIdStr = params.get("UserIdStr")
        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 RuleTemplatePage(AbstractModel):
    r"""RuleTemplatePage 结果

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录数
        :type TotalCount: int
        :param _Items: 模版列表
        :type Items: list of RuleTemplate
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录数
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""模版列表
        :rtype: list of RuleTemplate
        """
        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 = RuleTemplate()
                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 RunForceSucScheduleInstancesRequest(AbstractModel):
    r"""RunForceSucScheduleInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 实例列表
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :type CheckFather: bool
        :param _RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :type RerunType: str
        :param _DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :type DependentWay: str
        :param _SkipEventListening: 重跑忽略事件监听与否 
        :type SkipEventListening: bool
        :param _SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _SearchCondition: 查询条件
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        :param _AsyncMode: 是否异步模式
        :type AsyncMode: bool
        """
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._SearchCondition = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None
        self._AsyncMode = None

    @property
    def Instances(self):
        r"""实例列表
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""重跑忽略事件监听与否 
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def SearchCondition(self):
        r"""查询条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount

    @property
    def AsyncMode(self):
        r"""是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        self._AsyncMode = params.get("AsyncMode")
        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 RunForceSucScheduleInstancesResponse(AbstractModel):
    r"""RunForceSucScheduleInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperateResultOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RunRerunScheduleInstancesRequest(AbstractModel):
    r"""RunRerunScheduleInstances请求参数结构体

    """

    def __init__(self):
        r"""
        :param _Instances: 必填，实例列表，每项必填TaskId ，CurRunDate
        :type Instances: list of InstanceOpsDto
        :param _CheckFather: 必填，检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :type CheckFather: bool
        :param _RerunType: 必填，重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :type RerunType: str
        :param _DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :type DependentWay: str
        :param _SkipEventListening: 必填，重跑忽略事件监听与否 
        :type SkipEventListening: bool
        :param _SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :type SonInstanceType: str
        :param _SearchCondition: 查询条件
        :type SearchCondition: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        :param _OptType: 访问类型
        :type OptType: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _OperatorId: 操作者id
        :type OperatorId: str
        :param _ProjectId: 必填，项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标志
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _PageIndex: 索引页码
        :type PageIndex: int
        :param _PageSize: 页面大小
        :type PageSize: int
        :param _Count: 数据总数
        :type Count: int
        :param _RequestBaseInfo: 基础请求信息
        :type RequestBaseInfo: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        :param _IsCount: 是否计算总数
        :type IsCount: bool
        :param _AsyncMode: 必填，是否异步模式
        :type AsyncMode: bool
        :param _CheckParentType: 是否检查上游任务： ALL（全部）、 MAKE_SCOPE（选中）、NONE （全部不检查）
        :type CheckParentType: str
        :param _SameSelfDependType: 任务原有自依赖配置 true（是）、false（否）
        :type SameSelfDependType: bool
        :param _ParallelNum: 实例运行并发度
        :type ParallelNum: int
        :param _SameSelfWorkflowDependType: 任务原有自依赖配置 true（是）、false（否）
        :type SameSelfWorkflowDependType: bool
        :param _SelfWorkflowDependency: 代表重新指定 的  是 或者 否  yes、 no
        :type SelfWorkflowDependency: str
        :param _DataTimeOrder: 运行实例数据时间排序 0---正常  1--正序  2 – 逆序
        :type DataTimeOrder: int
        :param _ReDoParams: 重跑参数
        :type ReDoParams: str
        :param _MapParamList: 重跑实例自定义参数
        :type MapParamList: list of StrToStrMap
        :param _AppParam: 引擎应用执行参数
        :type AppParam: str
        """
        self._Instances = None
        self._CheckFather = None
        self._RerunType = None
        self._DependentWay = None
        self._SkipEventListening = None
        self._SonInstanceType = None
        self._SearchCondition = None
        self._OptType = None
        self._OperatorName = None
        self._OperatorId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._PageIndex = None
        self._PageSize = None
        self._Count = None
        self._RequestBaseInfo = None
        self._IsCount = None
        self._AsyncMode = None
        self._CheckParentType = None
        self._SameSelfDependType = None
        self._ParallelNum = None
        self._SameSelfWorkflowDependType = None
        self._SelfWorkflowDependency = None
        self._DataTimeOrder = None
        self._ReDoParams = None
        self._MapParamList = None
        self._AppParam = None

    @property
    def Instances(self):
        r"""必填，实例列表，每项必填TaskId ，CurRunDate
        :rtype: list of InstanceOpsDto
        """
        return self._Instances

    @Instances.setter
    def Instances(self, Instances):
        self._Instances = Instances

    @property
    def CheckFather(self):
        r"""必填，检查父任务类型, true: 检查父任务; false: 不检查父任务 
        :rtype: bool
        """
        return self._CheckFather

    @CheckFather.setter
    def CheckFather(self, CheckFather):
        self._CheckFather = CheckFather

    @property
    def RerunType(self):
        r"""必填，重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子 
        :rtype: str
        """
        return self._RerunType

    @RerunType.setter
    def RerunType(self, RerunType):
        self._RerunType = RerunType

    @property
    def DependentWay(self):
        r"""实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖 
        :rtype: str
        """
        return self._DependentWay

    @DependentWay.setter
    def DependentWay(self, DependentWay):
        self._DependentWay = DependentWay

    @property
    def SkipEventListening(self):
        r"""必填，重跑忽略事件监听与否 
        :rtype: bool
        """
        return self._SkipEventListening

    @SkipEventListening.setter
    def SkipEventListening(self, SkipEventListening):
        self._SkipEventListening = SkipEventListening

    @property
    def SonInstanceType(self):
        r"""下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        :rtype: str
        """
        return self._SonInstanceType

    @SonInstanceType.setter
    def SonInstanceType(self, SonInstanceType):
        self._SonInstanceType = SonInstanceType

    @property
    def SearchCondition(self):
        r"""查询条件
        :rtype: :class:`tencentcloud.wedata.v20210820.models.InstanceApiOpsRequest`
        """
        return self._SearchCondition

    @SearchCondition.setter
    def SearchCondition(self, SearchCondition):
        self._SearchCondition = SearchCondition

    @property
    def OptType(self):
        r"""访问类型
        :rtype: str
        """
        return self._OptType

    @OptType.setter
    def OptType(self, OptType):
        self._OptType = OptType

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def OperatorId(self):
        r"""操作者id
        :rtype: str
        """
        return self._OperatorId

    @OperatorId.setter
    def OperatorId(self, OperatorId):
        self._OperatorId = OperatorId

    @property
    def ProjectId(self):
        r"""必填，项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标志
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def PageIndex(self):
        r"""索引页码
        :rtype: int
        """
        return self._PageIndex

    @PageIndex.setter
    def PageIndex(self, PageIndex):
        self._PageIndex = PageIndex

    @property
    def PageSize(self):
        r"""页面大小
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize

    @property
    def Count(self):
        r"""数据总数
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def RequestBaseInfo(self):
        r"""基础请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        """
        return self._RequestBaseInfo

    @RequestBaseInfo.setter
    def RequestBaseInfo(self, RequestBaseInfo):
        self._RequestBaseInfo = RequestBaseInfo

    @property
    def IsCount(self):
        r"""是否计算总数
        :rtype: bool
        """
        return self._IsCount

    @IsCount.setter
    def IsCount(self, IsCount):
        self._IsCount = IsCount

    @property
    def AsyncMode(self):
        r"""必填，是否异步模式
        :rtype: bool
        """
        return self._AsyncMode

    @AsyncMode.setter
    def AsyncMode(self, AsyncMode):
        self._AsyncMode = AsyncMode

    @property
    def CheckParentType(self):
        r"""是否检查上游任务： ALL（全部）、 MAKE_SCOPE（选中）、NONE （全部不检查）
        :rtype: str
        """
        return self._CheckParentType

    @CheckParentType.setter
    def CheckParentType(self, CheckParentType):
        self._CheckParentType = CheckParentType

    @property
    def SameSelfDependType(self):
        r"""任务原有自依赖配置 true（是）、false（否）
        :rtype: bool
        """
        return self._SameSelfDependType

    @SameSelfDependType.setter
    def SameSelfDependType(self, SameSelfDependType):
        self._SameSelfDependType = SameSelfDependType

    @property
    def ParallelNum(self):
        r"""实例运行并发度
        :rtype: int
        """
        return self._ParallelNum

    @ParallelNum.setter
    def ParallelNum(self, ParallelNum):
        self._ParallelNum = ParallelNum

    @property
    def SameSelfWorkflowDependType(self):
        r"""任务原有自依赖配置 true（是）、false（否）
        :rtype: bool
        """
        return self._SameSelfWorkflowDependType

    @SameSelfWorkflowDependType.setter
    def SameSelfWorkflowDependType(self, SameSelfWorkflowDependType):
        self._SameSelfWorkflowDependType = SameSelfWorkflowDependType

    @property
    def SelfWorkflowDependency(self):
        r"""代表重新指定 的  是 或者 否  yes、 no
        :rtype: str
        """
        return self._SelfWorkflowDependency

    @SelfWorkflowDependency.setter
    def SelfWorkflowDependency(self, SelfWorkflowDependency):
        self._SelfWorkflowDependency = SelfWorkflowDependency

    @property
    def DataTimeOrder(self):
        r"""运行实例数据时间排序 0---正常  1--正序  2 – 逆序
        :rtype: int
        """
        return self._DataTimeOrder

    @DataTimeOrder.setter
    def DataTimeOrder(self, DataTimeOrder):
        self._DataTimeOrder = DataTimeOrder

    @property
    def ReDoParams(self):
        r"""重跑参数
        :rtype: str
        """
        return self._ReDoParams

    @ReDoParams.setter
    def ReDoParams(self, ReDoParams):
        self._ReDoParams = ReDoParams

    @property
    def MapParamList(self):
        r"""重跑实例自定义参数
        :rtype: list of StrToStrMap
        """
        return self._MapParamList

    @MapParamList.setter
    def MapParamList(self, MapParamList):
        self._MapParamList = MapParamList

    @property
    def AppParam(self):
        r"""引擎应用执行参数
        :rtype: str
        """
        return self._AppParam

    @AppParam.setter
    def AppParam(self, AppParam):
        self._AppParam = AppParam


    def _deserialize(self, params):
        if params.get("Instances") is not None:
            self._Instances = []
            for item in params.get("Instances"):
                obj = InstanceOpsDto()
                obj._deserialize(item)
                self._Instances.append(obj)
        self._CheckFather = params.get("CheckFather")
        self._RerunType = params.get("RerunType")
        self._DependentWay = params.get("DependentWay")
        self._SkipEventListening = params.get("SkipEventListening")
        self._SonInstanceType = params.get("SonInstanceType")
        if params.get("SearchCondition") is not None:
            self._SearchCondition = InstanceApiOpsRequest()
            self._SearchCondition._deserialize(params.get("SearchCondition"))
        self._OptType = params.get("OptType")
        self._OperatorName = params.get("OperatorName")
        self._OperatorId = params.get("OperatorId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._PageIndex = params.get("PageIndex")
        self._PageSize = params.get("PageSize")
        self._Count = params.get("Count")
        if params.get("RequestBaseInfo") is not None:
            self._RequestBaseInfo = ProjectBaseInfoOpsRequest()
            self._RequestBaseInfo._deserialize(params.get("RequestBaseInfo"))
        self._IsCount = params.get("IsCount")
        self._AsyncMode = params.get("AsyncMode")
        self._CheckParentType = params.get("CheckParentType")
        self._SameSelfDependType = params.get("SameSelfDependType")
        self._ParallelNum = params.get("ParallelNum")
        self._SameSelfWorkflowDependType = params.get("SameSelfWorkflowDependType")
        self._SelfWorkflowDependency = params.get("SelfWorkflowDependency")
        self._DataTimeOrder = params.get("DataTimeOrder")
        self._ReDoParams = params.get("ReDoParams")
        if params.get("MapParamList") is not None:
            self._MapParamList = []
            for item in params.get("MapParamList"):
                obj = StrToStrMap()
                obj._deserialize(item)
                self._MapParamList.append(obj)
        self._AppParam = params.get("AppParam")
        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 RunRerunScheduleInstancesResponse(AbstractModel):
    r"""RunRerunScheduleInstances返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResultOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperateResultOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RunTasksByMultiWorkflowRequest(AbstractModel):
    r"""RunTasksByMultiWorkflow请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _WorkflowIds: 工作流id列表
        :type WorkflowIds: list of str
        :param _EnableMakeUp: 是否补录中间实例 0.不补录 1.补录实例
        :type EnableMakeUp: int
        """
        self._ProjectId = None
        self._WorkflowIds = None
        self._EnableMakeUp = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowIds(self):
        r"""工作流id列表
        :rtype: list of str
        """
        return self._WorkflowIds

    @WorkflowIds.setter
    def WorkflowIds(self, WorkflowIds):
        self._WorkflowIds = WorkflowIds

    @property
    def EnableMakeUp(self):
        r"""是否补录中间实例 0.不补录 1.补录实例
        :rtype: int
        """
        return self._EnableMakeUp

    @EnableMakeUp.setter
    def EnableMakeUp(self, EnableMakeUp):
        self._EnableMakeUp = EnableMakeUp


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowIds = params.get("WorkflowIds")
        self._EnableMakeUp = params.get("EnableMakeUp")
        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 RunTasksByMultiWorkflowResponse(AbstractModel):
    r"""RunTasksByMultiWorkflow返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作返回结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.OperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = OperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class RuntimeInstanceCntTop(AbstractModel):
    r"""指定时间窗口实例耗时排行

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _InCharge: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _CycleUnit: 任务周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _State: 实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :type State: str
        :param _RunTime: 耗时
注意：此字段可能返回 null，表示取不到有效值。
        :type RunTime: int
        :param _CurRunTime: 实例运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CurRunTime: str
        :param _WaitScheduleTime: 等待调度耗时
注意：此字段可能返回 null，表示取不到有效值。
        :type WaitScheduleTime: int
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        """
        self._TaskId = None
        self._TaskName = None
        self._InCharge = None
        self._CycleUnit = None
        self._State = None
        self._RunTime = None
        self._CurRunTime = None
        self._WaitScheduleTime = None
        self._ProjectId = None
        self._ProjectName = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def InCharge(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def CycleUnit(self):
        r"""任务周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def State(self):
        r"""实例状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._State

    @State.setter
    def State(self, State):
        self._State = State

    @property
    def RunTime(self):
        r"""耗时
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunTime

    @RunTime.setter
    def RunTime(self, RunTime):
        self._RunTime = RunTime

    @property
    def CurRunTime(self):
        r"""实例运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurRunTime

    @CurRunTime.setter
    def CurRunTime(self, CurRunTime):
        self._CurRunTime = CurRunTime

    @property
    def WaitScheduleTime(self):
        r"""等待调度耗时
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WaitScheduleTime

    @WaitScheduleTime.setter
    def WaitScheduleTime(self, WaitScheduleTime):
        self._WaitScheduleTime = WaitScheduleTime

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._InCharge = params.get("InCharge")
        self._CycleUnit = params.get("CycleUnit")
        self._State = params.get("State")
        self._RunTime = params.get("RunTime")
        self._CurRunTime = params.get("CurRunTime")
        self._WaitScheduleTime = params.get("WaitScheduleTime")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        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 SaveCustomFunctionRequest(AbstractModel):
    r"""SaveCustomFunction请求参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数唯一标识
        :type FunctionId: str
        :param _Kind: 分类：窗口函数、聚合函数、日期函数......
        :type Kind: str
        :param _ClusterIdentifier: 集群引擎实例
        :type ClusterIdentifier: str
        :param _ClassName: 类名
        :type ClassName: str
        :param _ResourceList: 资源列表
        :type ResourceList: list of FunctionResource
        :param _Description: 函数说明
        :type Description: str
        :param _Usage: 用法
        :type Usage: str
        :param _ParamDesc: 参数说明
        :type ParamDesc: str
        :param _ReturnDesc: 返回值说明
        :type ReturnDesc: str
        :param _Example: 示例
        :type Example: str
        :param _ProjectId: 项目id，不支持修改，dlc侧创建函数保存时用
        :type ProjectId: str
        :param _DbName: 数据库名称，不支持修改，dlc侧创建函数保存时用
        :type DbName: str
        :param _Name: 函数名称，不支持修改，dlc侧创建函数保存时用
        :type Name: str
        """
        self._FunctionId = None
        self._Kind = None
        self._ClusterIdentifier = None
        self._ClassName = None
        self._ResourceList = None
        self._Description = None
        self._Usage = None
        self._ParamDesc = None
        self._ReturnDesc = None
        self._Example = None
        self._ProjectId = None
        self._DbName = None
        self._Name = None

    @property
    def FunctionId(self):
        r"""函数唯一标识
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def Kind(self):
        r"""分类：窗口函数、聚合函数、日期函数......
        :rtype: str
        """
        return self._Kind

    @Kind.setter
    def Kind(self, Kind):
        self._Kind = Kind

    @property
    def ClusterIdentifier(self):
        r"""集群引擎实例
        :rtype: str
        """
        return self._ClusterIdentifier

    @ClusterIdentifier.setter
    def ClusterIdentifier(self, ClusterIdentifier):
        self._ClusterIdentifier = ClusterIdentifier

    @property
    def ClassName(self):
        r"""类名
        :rtype: str
        """
        return self._ClassName

    @ClassName.setter
    def ClassName(self, ClassName):
        self._ClassName = ClassName

    @property
    def ResourceList(self):
        r"""资源列表
        :rtype: list of FunctionResource
        """
        return self._ResourceList

    @ResourceList.setter
    def ResourceList(self, ResourceList):
        self._ResourceList = ResourceList

    @property
    def Description(self):
        r"""函数说明
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Usage(self):
        r"""用法
        :rtype: str
        """
        return self._Usage

    @Usage.setter
    def Usage(self, Usage):
        self._Usage = Usage

    @property
    def ParamDesc(self):
        r"""参数说明
        :rtype: str
        """
        return self._ParamDesc

    @ParamDesc.setter
    def ParamDesc(self, ParamDesc):
        self._ParamDesc = ParamDesc

    @property
    def ReturnDesc(self):
        r"""返回值说明
        :rtype: str
        """
        return self._ReturnDesc

    @ReturnDesc.setter
    def ReturnDesc(self, ReturnDesc):
        self._ReturnDesc = ReturnDesc

    @property
    def Example(self):
        r"""示例
        :rtype: str
        """
        return self._Example

    @Example.setter
    def Example(self, Example):
        self._Example = Example

    @property
    def ProjectId(self):
        r"""项目id，不支持修改，dlc侧创建函数保存时用
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DbName(self):
        r"""数据库名称，不支持修改，dlc侧创建函数保存时用
        :rtype: str
        """
        return self._DbName

    @DbName.setter
    def DbName(self, DbName):
        self._DbName = DbName

    @property
    def Name(self):
        r"""函数名称，不支持修改，dlc侧创建函数保存时用
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._Kind = params.get("Kind")
        self._ClusterIdentifier = params.get("ClusterIdentifier")
        self._ClassName = params.get("ClassName")
        if params.get("ResourceList") is not None:
            self._ResourceList = []
            for item in params.get("ResourceList"):
                obj = FunctionResource()
                obj._deserialize(item)
                self._ResourceList.append(obj)
        self._Description = params.get("Description")
        self._Usage = params.get("Usage")
        self._ParamDesc = params.get("ParamDesc")
        self._ReturnDesc = params.get("ReturnDesc")
        self._Example = params.get("Example")
        self._ProjectId = params.get("ProjectId")
        self._DbName = params.get("DbName")
        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 SaveCustomFunctionResponse(AbstractModel):
    r"""SaveCustomFunction返回参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type FunctionId: str
        :param _ErrorMessage: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._FunctionId = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def FunctionId(self):
        r"""函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ErrorMessage(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class SchedulerTaskInstanceInfo(AbstractModel):
    r"""集成离线任务实例信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _CurRunDate: 实例运行时间
        :type CurRunDate: str
        """
        self._TaskId = None
        self._CurRunDate = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def CurRunDate(self):
        r"""实例运行时间
        :rtype: str
        """
        return self._CurRunDate

    @CurRunDate.setter
    def CurRunDate(self, CurRunDate):
        self._CurRunDate = CurRunDate


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._CurRunDate = params.get("CurRunDate")
        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 SchemaDetail(AbstractModel):
    r"""元数据字段信息

    """

    def __init__(self):
        r"""
        :param _ColumnKey: 列
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnKey: str
        :param _Description: 描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Name: 名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Type: 类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        """
        self._ColumnKey = None
        self._Description = None
        self._Name = None
        self._Type = None

    @property
    def ColumnKey(self):
        r"""列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnKey

    @ColumnKey.setter
    def ColumnKey(self, ColumnKey):
        self._ColumnKey = ColumnKey

    @property
    def Description(self):
        r"""描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Name(self):
        r"""名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Type(self):
        r"""类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type


    def _deserialize(self, params):
        self._ColumnKey = params.get("ColumnKey")
        self._Description = params.get("Description")
        self._Name = params.get("Name")
        self._Type = params.get("Type")
        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 ScreenInstanceInfo(AbstractModel):
    r"""实例统计信息展示

    """

    def __init__(self):
        r"""
        :param _CountTag: 统计标示 0：全部、1：当前天、2：昨天
注意：此字段可能返回 null，表示取不到有效值。
        :type CountTag: int
        :param _TotalNum: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalNum: int
        :param _RunningNum: 运行中
注意：此字段可能返回 null，表示取不到有效值。
        :type RunningNum: int
        :param _WaitRunningNum: 等待运行
注意：此字段可能返回 null，表示取不到有效值。
        :type WaitRunningNum: int
        :param _DependencyNum: 等待上游
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyNum: int
        :param _WaitEventNum: 等待事件
注意：此字段可能返回 null，表示取不到有效值。
        :type WaitEventNum: str
        :param _StoppingNum: 正在终止
注意：此字段可能返回 null，表示取不到有效值。
        :type StoppingNum: int
        :param _SucceedNum: 成功
注意：此字段可能返回 null，表示取不到有效值。
        :type SucceedNum: int
        :param _FailedNum: 失败
注意：此字段可能返回 null，表示取不到有效值。
        :type FailedNum: int
        :param _SkipRunningNum: 跳过运行总数
        :type SkipRunningNum: int
        """
        self._CountTag = None
        self._TotalNum = None
        self._RunningNum = None
        self._WaitRunningNum = None
        self._DependencyNum = None
        self._WaitEventNum = None
        self._StoppingNum = None
        self._SucceedNum = None
        self._FailedNum = None
        self._SkipRunningNum = None

    @property
    def CountTag(self):
        r"""统计标示 0：全部、1：当前天、2：昨天
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CountTag

    @CountTag.setter
    def CountTag(self, CountTag):
        self._CountTag = CountTag

    @property
    def TotalNum(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalNum

    @TotalNum.setter
    def TotalNum(self, TotalNum):
        self._TotalNum = TotalNum

    @property
    def RunningNum(self):
        r"""运行中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunningNum

    @RunningNum.setter
    def RunningNum(self, RunningNum):
        self._RunningNum = RunningNum

    @property
    def WaitRunningNum(self):
        r"""等待运行
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WaitRunningNum

    @WaitRunningNum.setter
    def WaitRunningNum(self, WaitRunningNum):
        self._WaitRunningNum = WaitRunningNum

    @property
    def DependencyNum(self):
        r"""等待上游
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DependencyNum

    @DependencyNum.setter
    def DependencyNum(self, DependencyNum):
        self._DependencyNum = DependencyNum

    @property
    def WaitEventNum(self):
        r"""等待事件
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WaitEventNum

    @WaitEventNum.setter
    def WaitEventNum(self, WaitEventNum):
        self._WaitEventNum = WaitEventNum

    @property
    def StoppingNum(self):
        r"""正在终止
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StoppingNum

    @StoppingNum.setter
    def StoppingNum(self, StoppingNum):
        self._StoppingNum = StoppingNum

    @property
    def SucceedNum(self):
        r"""成功
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SucceedNum

    @SucceedNum.setter
    def SucceedNum(self, SucceedNum):
        self._SucceedNum = SucceedNum

    @property
    def FailedNum(self):
        r"""失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FailedNum

    @FailedNum.setter
    def FailedNum(self, FailedNum):
        self._FailedNum = FailedNum

    @property
    def SkipRunningNum(self):
        r"""跳过运行总数
        :rtype: int
        """
        return self._SkipRunningNum

    @SkipRunningNum.setter
    def SkipRunningNum(self, SkipRunningNum):
        self._SkipRunningNum = SkipRunningNum


    def _deserialize(self, params):
        self._CountTag = params.get("CountTag")
        self._TotalNum = params.get("TotalNum")
        self._RunningNum = params.get("RunningNum")
        self._WaitRunningNum = params.get("WaitRunningNum")
        self._DependencyNum = params.get("DependencyNum")
        self._WaitEventNum = params.get("WaitEventNum")
        self._StoppingNum = params.get("StoppingNum")
        self._SucceedNum = params.get("SucceedNum")
        self._FailedNum = params.get("FailedNum")
        self._SkipRunningNum = params.get("SkipRunningNum")
        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 ScreenTaskInfo(AbstractModel):
    r"""运维大屏任务展示

    """

    def __init__(self):
        r"""
        :param _CountTag: 统计标示 0：全部、1：当前天、2：昨天
        :type CountTag: int
        :param _TotalNum: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalNum: int
        :param _RunningNum: 运行中
注意：此字段可能返回 null，表示取不到有效值。
        :type RunningNum: int
        :param _StoppingNum: 停止中
注意：此字段可能返回 null，表示取不到有效值。
        :type StoppingNum: int
        :param _StoppedNum: 已停止
注意：此字段可能返回 null，表示取不到有效值。
        :type StoppedNum: int
        :param _FrozenNum: 暂停
注意：此字段可能返回 null，表示取不到有效值。
        :type FrozenNum: int
        :param _InvalidNum: 无效任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type InvalidNum: int
        :param _YearNum: 年任务
注意：此字段可能返回 null，表示取不到有效值。
        :type YearNum: int
        :param _MonthNum: 月任务
注意：此字段可能返回 null，表示取不到有效值。
        :type MonthNum: int
        :param _WeekNum: 周任务
注意：此字段可能返回 null，表示取不到有效值。
        :type WeekNum: int
        :param _DayNum: 天任务
注意：此字段可能返回 null，表示取不到有效值。
        :type DayNum: int
        :param _HourNum: 小时任务
注意：此字段可能返回 null，表示取不到有效值。
        :type HourNum: int
        :param _MinuteNum: 分钟任务
注意：此字段可能返回 null，表示取不到有效值。
        :type MinuteNum: int
        :param _WorkflowNum: 工作流总数
        :type WorkflowNum: int
        """
        self._CountTag = None
        self._TotalNum = None
        self._RunningNum = None
        self._StoppingNum = None
        self._StoppedNum = None
        self._FrozenNum = None
        self._InvalidNum = None
        self._YearNum = None
        self._MonthNum = None
        self._WeekNum = None
        self._DayNum = None
        self._HourNum = None
        self._MinuteNum = None
        self._WorkflowNum = None

    @property
    def CountTag(self):
        r"""统计标示 0：全部、1：当前天、2：昨天
        :rtype: int
        """
        return self._CountTag

    @CountTag.setter
    def CountTag(self, CountTag):
        self._CountTag = CountTag

    @property
    def TotalNum(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalNum

    @TotalNum.setter
    def TotalNum(self, TotalNum):
        self._TotalNum = TotalNum

    @property
    def RunningNum(self):
        r"""运行中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunningNum

    @RunningNum.setter
    def RunningNum(self, RunningNum):
        self._RunningNum = RunningNum

    @property
    def StoppingNum(self):
        r"""停止中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StoppingNum

    @StoppingNum.setter
    def StoppingNum(self, StoppingNum):
        self._StoppingNum = StoppingNum

    @property
    def StoppedNum(self):
        r"""已停止
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StoppedNum

    @StoppedNum.setter
    def StoppedNum(self, StoppedNum):
        self._StoppedNum = StoppedNum

    @property
    def FrozenNum(self):
        r"""暂停
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FrozenNum

    @FrozenNum.setter
    def FrozenNum(self, FrozenNum):
        self._FrozenNum = FrozenNum

    @property
    def InvalidNum(self):
        r"""无效任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InvalidNum

    @InvalidNum.setter
    def InvalidNum(self, InvalidNum):
        self._InvalidNum = InvalidNum

    @property
    def YearNum(self):
        r"""年任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._YearNum

    @YearNum.setter
    def YearNum(self, YearNum):
        self._YearNum = YearNum

    @property
    def MonthNum(self):
        r"""月任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonthNum

    @MonthNum.setter
    def MonthNum(self, MonthNum):
        self._MonthNum = MonthNum

    @property
    def WeekNum(self):
        r"""周任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WeekNum

    @WeekNum.setter
    def WeekNum(self, WeekNum):
        self._WeekNum = WeekNum

    @property
    def DayNum(self):
        r"""天任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DayNum

    @DayNum.setter
    def DayNum(self, DayNum):
        self._DayNum = DayNum

    @property
    def HourNum(self):
        r"""小时任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._HourNum

    @HourNum.setter
    def HourNum(self, HourNum):
        self._HourNum = HourNum

    @property
    def MinuteNum(self):
        r"""分钟任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MinuteNum

    @MinuteNum.setter
    def MinuteNum(self, MinuteNum):
        self._MinuteNum = MinuteNum

    @property
    def WorkflowNum(self):
        r"""工作流总数
        :rtype: int
        """
        return self._WorkflowNum

    @WorkflowNum.setter
    def WorkflowNum(self, WorkflowNum):
        self._WorkflowNum = WorkflowNum


    def _deserialize(self, params):
        self._CountTag = params.get("CountTag")
        self._TotalNum = params.get("TotalNum")
        self._RunningNum = params.get("RunningNum")
        self._StoppingNum = params.get("StoppingNum")
        self._StoppedNum = params.get("StoppedNum")
        self._FrozenNum = params.get("FrozenNum")
        self._InvalidNum = params.get("InvalidNum")
        self._YearNum = params.get("YearNum")
        self._MonthNum = params.get("MonthNum")
        self._WeekNum = params.get("WeekNum")
        self._DayNum = params.get("DayNum")
        self._HourNum = params.get("HourNum")
        self._MinuteNum = params.get("MinuteNum")
        self._WorkflowNum = params.get("WorkflowNum")
        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 ScriptInfoResponse(AbstractModel):
    r"""开发空间-脚本相关响应

    """

    def __init__(self):
        r"""
        :param _ResourceId: 资源id
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceId: str
        :param _FileName: 脚本名称
注意：此字段可能返回 null，表示取不到有效值。
        :type FileName: str
        :param _FileExtensionType: 文件扩展名类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FileExtensionType: str
        :param _Type: 文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Md5Value: md5值
注意：此字段可能返回 null，表示取不到有效值。
        :type Md5Value: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Size: 文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type Size: float
        :param _LocalPath: 本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalPath: str
        :param _RemotePath: 远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :type RemotePath: str
        :param _OwnerName: 用户名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _Owner: 用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _PathDepth: 路径深度
注意：此字段可能返回 null，表示取不到有效值。
        :type PathDepth: int
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ExtraInfo: 附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraInfo: str
        :param _LocalTempPath: 本地临时文件路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalTempPath: str
        :param _ZipPath: 本地压缩文件路径
注意：此字段可能返回 null，表示取不到有效值。
        :type ZipPath: str
        :param _Bucket: cos桶名
注意：此字段可能返回 null，表示取不到有效值。
        :type Bucket: str
        :param _Region: cos地区
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        """
        self._ResourceId = None
        self._FileName = None
        self._FileExtensionType = None
        self._Type = None
        self._Md5Value = None
        self._CreateTime = None
        self._UpdateTime = None
        self._Size = None
        self._LocalPath = None
        self._RemotePath = None
        self._OwnerName = None
        self._Owner = None
        self._PathDepth = None
        self._ProjectId = None
        self._ExtraInfo = None
        self._LocalTempPath = None
        self._ZipPath = None
        self._Bucket = None
        self._Region = None

    @property
    def ResourceId(self):
        r"""资源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def FileName(self):
        r"""脚本名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileName

    @FileName.setter
    def FileName(self, FileName):
        self._FileName = FileName

    @property
    def FileExtensionType(self):
        r"""文件扩展名类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileExtensionType

    @FileExtensionType.setter
    def FileExtensionType(self, FileExtensionType):
        self._FileExtensionType = FileExtensionType

    @property
    def Type(self):
        r"""文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Md5Value(self):
        r"""md5值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Md5Value

    @Md5Value.setter
    def Md5Value(self, Md5Value):
        self._Md5Value = Md5Value

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Size(self):
        r"""文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def LocalPath(self):
        r"""本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalPath

    @LocalPath.setter
    def LocalPath(self, LocalPath):
        self._LocalPath = LocalPath

    @property
    def RemotePath(self):
        r"""远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath

    @property
    def OwnerName(self):
        r"""用户名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def Owner(self):
        r"""用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def PathDepth(self):
        r"""路径深度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PathDepth

    @PathDepth.setter
    def PathDepth(self, PathDepth):
        self._PathDepth = PathDepth

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ExtraInfo(self):
        r"""附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo

    @property
    def LocalTempPath(self):
        r"""本地临时文件路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalTempPath

    @LocalTempPath.setter
    def LocalTempPath(self, LocalTempPath):
        self._LocalTempPath = LocalTempPath

    @property
    def ZipPath(self):
        r"""本地压缩文件路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ZipPath

    @ZipPath.setter
    def ZipPath(self, ZipPath):
        self._ZipPath = ZipPath

    @property
    def Bucket(self):
        r"""cos桶名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Bucket

    @Bucket.setter
    def Bucket(self, Bucket):
        self._Bucket = Bucket

    @property
    def Region(self):
        r"""cos地区
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region


    def _deserialize(self, params):
        self._ResourceId = params.get("ResourceId")
        self._FileName = params.get("FileName")
        self._FileExtensionType = params.get("FileExtensionType")
        self._Type = params.get("Type")
        self._Md5Value = params.get("Md5Value")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._Size = params.get("Size")
        self._LocalPath = params.get("LocalPath")
        self._RemotePath = params.get("RemotePath")
        self._OwnerName = params.get("OwnerName")
        self._Owner = params.get("Owner")
        self._PathDepth = params.get("PathDepth")
        self._ProjectId = params.get("ProjectId")
        self._ExtraInfo = params.get("ExtraInfo")
        self._LocalTempPath = params.get("LocalTempPath")
        self._ZipPath = params.get("ZipPath")
        self._Bucket = params.get("Bucket")
        self._Region = params.get("Region")
        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 ScriptRequestInfo(AbstractModel):
    r"""开发空间-上传脚本请求

    """

    def __init__(self):
        r"""
        :param _FilePath: 脚本路径
项目区1470575647377821696项目，f1目录下：
/datastudio/project/1470575647377821696/f1/sql1234.sql
个人区：
/datastudio/personal/sqlTTT.sql
        :type FilePath: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Version: 脚本版本
        :type Version: str
        :param _Operation: 操作类型
        :type Operation: str
        :param _ExtraInfo: 额外信息
        :type ExtraInfo: str
        :param _BucketName: 桶名称
        :type BucketName: str
        :param _Region: 所属地区
        :type Region: str
        :param _FileExtensionType: 文件扩展类型
        :type FileExtensionType: str
        """
        self._FilePath = None
        self._ProjectId = None
        self._Version = None
        self._Operation = None
        self._ExtraInfo = None
        self._BucketName = None
        self._Region = None
        self._FileExtensionType = None

    @property
    def FilePath(self):
        r"""脚本路径
项目区1470575647377821696项目，f1目录下：
/datastudio/project/1470575647377821696/f1/sql1234.sql
个人区：
/datastudio/personal/sqlTTT.sql
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Version(self):
        r"""脚本版本
        :rtype: str
        """
        return self._Version

    @Version.setter
    def Version(self, Version):
        self._Version = Version

    @property
    def Operation(self):
        r"""操作类型
        :rtype: str
        """
        return self._Operation

    @Operation.setter
    def Operation(self, Operation):
        self._Operation = Operation

    @property
    def ExtraInfo(self):
        r"""额外信息
        :rtype: str
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo

    @property
    def BucketName(self):
        r"""桶名称
        :rtype: str
        """
        return self._BucketName

    @BucketName.setter
    def BucketName(self, BucketName):
        self._BucketName = BucketName

    @property
    def Region(self):
        r"""所属地区
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def FileExtensionType(self):
        r"""文件扩展类型
        :rtype: str
        """
        return self._FileExtensionType

    @FileExtensionType.setter
    def FileExtensionType(self, FileExtensionType):
        self._FileExtensionType = FileExtensionType


    def _deserialize(self, params):
        self._FilePath = params.get("FilePath")
        self._ProjectId = params.get("ProjectId")
        self._Version = params.get("Version")
        self._Operation = params.get("Operation")
        self._ExtraInfo = params.get("ExtraInfo")
        self._BucketName = params.get("BucketName")
        self._Region = params.get("Region")
        self._FileExtensionType = params.get("FileExtensionType")
        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 SearchColumnDocVO(AbstractModel):
    r"""表字段信息

    """

    def __init__(self):
        r"""
        :param _Name: 字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _ChineseName: 字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ChineseName: str
        :param _Type: 字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Length: 字段类型长度
注意：此字段可能返回 null，表示取不到有效值。
        :type Length: int
        :param _Precision: 字段类型精度
注意：此字段可能返回 null，表示取不到有效值。
        :type Precision: int
        :param _Scale: 字段类型scale
注意：此字段可能返回 null，表示取不到有效值。
        :type Scale: int
        :param _DefaultValue: 字段默认值
注意：此字段可能返回 null，表示取不到有效值。
        :type DefaultValue: str
        :param _Description: 字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Position: 字段的顺序
注意：此字段可能返回 null，表示取不到有效值。
        :type Position: int
        :param _IsPartition: 是否为分区字段
注意：此字段可能返回 null，表示取不到有效值。
        :type IsPartition: bool
        :param _ColumnKey: 列上的索引类型 主键: PRI,唯一索引: UNI,一般索引: MUL
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnKey: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifiedTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifiedTime: str
        :param _Specification: 字段使用说明
注意：此字段可能返回 null，表示取不到有效值。
        :type Specification: str
        """
        self._Name = None
        self._ChineseName = None
        self._Type = None
        self._Length = None
        self._Precision = None
        self._Scale = None
        self._DefaultValue = None
        self._Description = None
        self._Position = None
        self._IsPartition = None
        self._ColumnKey = None
        self._CreateTime = None
        self._ModifiedTime = None
        self._Specification = None

    @property
    def Name(self):
        r"""字段名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def ChineseName(self):
        r"""字段中文名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChineseName

    @ChineseName.setter
    def ChineseName(self, ChineseName):
        self._ChineseName = ChineseName

    @property
    def Type(self):
        r"""字段类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Length(self):
        r"""字段类型长度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Length

    @Length.setter
    def Length(self, Length):
        self._Length = Length

    @property
    def Precision(self):
        r"""字段类型精度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Precision

    @Precision.setter
    def Precision(self, Precision):
        self._Precision = Precision

    @property
    def Scale(self):
        r"""字段类型scale
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Scale

    @Scale.setter
    def Scale(self, Scale):
        self._Scale = Scale

    @property
    def DefaultValue(self):
        r"""字段默认值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DefaultValue

    @DefaultValue.setter
    def DefaultValue(self, DefaultValue):
        self._DefaultValue = DefaultValue

    @property
    def Description(self):
        r"""字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Position(self):
        r"""字段的顺序
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Position

    @Position.setter
    def Position(self, Position):
        self._Position = Position

    @property
    def IsPartition(self):
        r"""是否为分区字段
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsPartition

    @IsPartition.setter
    def IsPartition(self, IsPartition):
        self._IsPartition = IsPartition

    @property
    def ColumnKey(self):
        r"""列上的索引类型 主键: PRI,唯一索引: UNI,一般索引: MUL
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnKey

    @ColumnKey.setter
    def ColumnKey(self, ColumnKey):
        self._ColumnKey = ColumnKey

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def Specification(self):
        r"""字段使用说明
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Specification

    @Specification.setter
    def Specification(self, Specification):
        self._Specification = Specification


    def _deserialize(self, params):
        self._Name = params.get("Name")
        self._ChineseName = params.get("ChineseName")
        self._Type = params.get("Type")
        self._Length = params.get("Length")
        self._Precision = params.get("Precision")
        self._Scale = params.get("Scale")
        self._DefaultValue = params.get("DefaultValue")
        self._Description = params.get("Description")
        self._Position = params.get("Position")
        self._IsPartition = params.get("IsPartition")
        self._ColumnKey = params.get("ColumnKey")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        self._Specification = params.get("Specification")
        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 SearchCondition(AbstractModel):
    r"""查询实例条件

    """

    def __init__(self):
        r"""
        :param _Instance: 查询框架，必选
        :type Instance: :class:`tencentcloud.wedata.v20210820.models.SearchConditionInstanceNew`
        :param _Keyword: 查询关键字（任务Id精确匹配，任务名称模糊匹配），可选
        :type Keyword: str
        :param _Sort: 排序顺序（asc，desc）
        :type Sort: str
        :param _SortCol: 排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :type SortCol: str
        """
        self._Instance = None
        self._Keyword = None
        self._Sort = None
        self._SortCol = None

    @property
    def Instance(self):
        r"""查询框架，必选
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SearchConditionInstanceNew`
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Keyword(self):
        r"""查询关键字（任务Id精确匹配，任务名称模糊匹配），可选
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def Sort(self):
        r"""排序顺序（asc，desc）
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def SortCol(self):
        r"""排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :rtype: str
        """
        return self._SortCol

    @SortCol.setter
    def SortCol(self, SortCol):
        self._SortCol = SortCol


    def _deserialize(self, params):
        if params.get("Instance") is not None:
            self._Instance = SearchConditionInstanceNew()
            self._Instance._deserialize(params.get("Instance"))
        self._Keyword = params.get("Keyword")
        self._Sort = params.get("Sort")
        self._SortCol = params.get("SortCol")
        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 SearchConditionInstanceNew(AbstractModel):
    r"""搜索条件

    """

    def __init__(self):
        r"""
        :param _ExecutionSpace: 执行空间，可选 
 "DRY_RUN"
        :type ExecutionSpace: str
        :param _ProductName: 业务产品，可选: <DATA_DEV / DATA_QUALITY / DATA_INTEGRATION，默认DATA_DEV。非空。默认 自身项目
        :type ProductName: str
        :param _ResourceGroup: 资源组信息，可选
        :type ResourceGroup: str
        """
        self._ExecutionSpace = None
        self._ProductName = None
        self._ResourceGroup = None

    @property
    def ExecutionSpace(self):
        r"""执行空间，可选 
 "DRY_RUN"
        :rtype: str
        """
        return self._ExecutionSpace

    @ExecutionSpace.setter
    def ExecutionSpace(self, ExecutionSpace):
        self._ExecutionSpace = ExecutionSpace

    @property
    def ProductName(self):
        r"""业务产品，可选: <DATA_DEV / DATA_QUALITY / DATA_INTEGRATION，默认DATA_DEV。非空。默认 自身项目
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def ResourceGroup(self):
        r"""资源组信息，可选
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup


    def _deserialize(self, params):
        self._ExecutionSpace = params.get("ExecutionSpace")
        self._ProductName = params.get("ProductName")
        self._ResourceGroup = params.get("ResourceGroup")
        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 SearchConditionNew(AbstractModel):
    r"""查询实例条件(新)

    """

    def __init__(self):
        r"""
        :param _Instance: 查询框架，必选
        :type Instance: :class:`tencentcloud.wedata.v20210820.models.SearchConditionInstanceNew`
        :param _Keyword: 查询关键字（任务Id精确匹配，任务名称模糊匹配），可选
        :type Keyword: str
        :param _Sort: 排序顺序（asc，desc）
        :type Sort: str
        :param _SortCol: 排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :type SortCol: str
        """
        self._Instance = None
        self._Keyword = None
        self._Sort = None
        self._SortCol = None

    @property
    def Instance(self):
        r"""查询框架，必选
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SearchConditionInstanceNew`
        """
        return self._Instance

    @Instance.setter
    def Instance(self, Instance):
        self._Instance = Instance

    @property
    def Keyword(self):
        r"""查询关键字（任务Id精确匹配，任务名称模糊匹配），可选
        :rtype: str
        """
        return self._Keyword

    @Keyword.setter
    def Keyword(self, Keyword):
        self._Keyword = Keyword

    @property
    def Sort(self):
        r"""排序顺序（asc，desc）
        :rtype: str
        """
        return self._Sort

    @Sort.setter
    def Sort(self, Sort):
        self._Sort = Sort

    @property
    def SortCol(self):
        r"""排序列（costTime 运行耗时，startTime 开始时间，state 实例状态，curRunDate 数据时间）
        :rtype: str
        """
        return self._SortCol

    @SortCol.setter
    def SortCol(self, SortCol):
        self._SortCol = SortCol


    def _deserialize(self, params):
        if params.get("Instance") is not None:
            self._Instance = SearchConditionInstanceNew()
            self._Instance._deserialize(params.get("Instance"))
        self._Keyword = params.get("Keyword")
        self._Sort = params.get("Sort")
        self._SortCol = params.get("SortCol")
        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 SetTaskAlarmNewRequest(AbstractModel):
    r"""SetTaskAlarmNew请求参数结构体

    """

    def __init__(self):
        r"""
        :param _AlarmInfoList: 设置任务超时告警和失败告警信息
        :type AlarmInfoList: list of AlarmInfo
        :param _ProjectId: 项目Id
        :type ProjectId: str
        """
        self._AlarmInfoList = None
        self._ProjectId = None

    @property
    def AlarmInfoList(self):
        r"""设置任务超时告警和失败告警信息
        :rtype: list of AlarmInfo
        """
        return self._AlarmInfoList

    @AlarmInfoList.setter
    def AlarmInfoList(self, AlarmInfoList):
        self._AlarmInfoList = AlarmInfoList

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("AlarmInfoList") is not None:
            self._AlarmInfoList = []
            for item in params.get("AlarmInfoList"):
                obj = AlarmInfo()
                obj._deserialize(item)
                self._AlarmInfoList.append(obj)
        self._ProjectId = params.get("ProjectId")
        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 SetTaskAlarmNewResponse(AbstractModel):
    r"""SetTaskAlarmNew返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 返回批量操作成功个数、失败个数、操作总数
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResult`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""返回批量操作成功个数、失败个数、操作总数
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperateResult`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperateResult()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class SimpleColumnInfo(AbstractModel):
    r"""血缘列描述

    """

    def __init__(self):
        r"""
        :param _Id: 列ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _QualifiedName: 限定名
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedName: str
        :param _ColumnName: 列名
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnName: str
        :param _ColumnNameCn: 列中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnNameCn: str
        :param _ColumnType: 列类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnType: str
        :param _Description: 列描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _PrefixPath: 前缀路径
注意：此字段可能返回 null，表示取不到有效值。
        :type PrefixPath: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _DatasourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DownStreamCount: 下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _RelationParams: 关系参数
注意：此字段可能返回 null，表示取不到有效值。
        :type RelationParams: str
        :param _Params: 参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _Tasks: 任务集合
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of str
        """
        self._Id = None
        self._QualifiedName = None
        self._ColumnName = None
        self._ColumnNameCn = None
        self._ColumnType = None
        self._Description = None
        self._PrefixPath = None
        self._CreateTime = None
        self._ModifyTime = None
        self._DatasourceId = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._RelationParams = None
        self._Params = None
        self._Tasks = None

    @property
    def Id(self):
        r"""列ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def QualifiedName(self):
        r"""限定名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedName

    @QualifiedName.setter
    def QualifiedName(self, QualifiedName):
        self._QualifiedName = QualifiedName

    @property
    def ColumnName(self):
        r"""列名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnName

    @ColumnName.setter
    def ColumnName(self, ColumnName):
        self._ColumnName = ColumnName

    @property
    def ColumnNameCn(self):
        r"""列中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnNameCn

    @ColumnNameCn.setter
    def ColumnNameCn(self, ColumnNameCn):
        self._ColumnNameCn = ColumnNameCn

    @property
    def ColumnType(self):
        r"""列类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnType

    @ColumnType.setter
    def ColumnType(self, ColumnType):
        self._ColumnType = ColumnType

    @property
    def Description(self):
        r"""列描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def PrefixPath(self):
        r"""前缀路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrefixPath

    @PrefixPath.setter
    def PrefixPath(self, PrefixPath):
        self._PrefixPath = PrefixPath

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def DatasourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DownStreamCount(self):
        r"""下游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""上游数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def RelationParams(self):
        r"""关系参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RelationParams

    @RelationParams.setter
    def RelationParams(self, RelationParams):
        self._RelationParams = RelationParams

    @property
    def Params(self):
        r"""参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def Tasks(self):
        r"""任务集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._QualifiedName = params.get("QualifiedName")
        self._ColumnName = params.get("ColumnName")
        self._ColumnNameCn = params.get("ColumnNameCn")
        self._ColumnType = params.get("ColumnType")
        self._Description = params.get("Description")
        self._PrefixPath = params.get("PrefixPath")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._DatasourceId = params.get("DatasourceId")
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        self._RelationParams = params.get("RelationParams")
        self._Params = params.get("Params")
        self._Tasks = params.get("Tasks")
        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 SimpleTaskInfo(AbstractModel):
    r"""简单Task信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _TaskName: 任务名
        :type TaskName: str
        """
        self._TaskId = None
        self._TaskName = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        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 SourceFieldInfo(AbstractModel):
    r"""上游节点字段信息

    """

    def __init__(self):
        r"""
        :param _FieldName: 字段名称
        :type FieldName: str
        :param _FieldType: 字段类型
        :type FieldType: str
        :param _Alias: 字段别名
        :type Alias: str
        :param _Comment: 字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Comment: str
        """
        self._FieldName = None
        self._FieldType = None
        self._Alias = None
        self._Comment = None

    @property
    def FieldName(self):
        r"""字段名称
        :rtype: str
        """
        return self._FieldName

    @FieldName.setter
    def FieldName(self, FieldName):
        self._FieldName = FieldName

    @property
    def FieldType(self):
        r"""字段类型
        :rtype: str
        """
        return self._FieldType

    @FieldType.setter
    def FieldType(self, FieldType):
        self._FieldType = FieldType

    @property
    def Alias(self):
        r"""字段别名
        :rtype: str
        """
        return self._Alias

    @Alias.setter
    def Alias(self, Alias):
        self._Alias = Alias

    @property
    def Comment(self):
        r"""字段描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Comment

    @Comment.setter
    def Comment(self, Comment):
        self._Comment = Comment


    def _deserialize(self, params):
        self._FieldName = params.get("FieldName")
        self._FieldType = params.get("FieldType")
        self._Alias = params.get("Alias")
        self._Comment = params.get("Comment")
        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 SpeedValue(AbstractModel):
    r"""速度值对象

    """

    def __init__(self):
        r"""
        :param _Time: 带毫秒的时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :type Time: int
        :param _Speed: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Speed: float
        """
        self._Time = None
        self._Speed = None

    @property
    def Time(self):
        r"""带毫秒的时间戳
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Time

    @Time.setter
    def Time(self, Time):
        self._Time = Time

    @property
    def Speed(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Speed

    @Speed.setter
    def Speed(self, Speed):
        self._Speed = Speed


    def _deserialize(self, params):
        self._Time = params.get("Time")
        self._Speed = params.get("Speed")
        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 SqlExpression(AbstractModel):
    r"""数据质量自定义规则时的sql表达式解析对象

    """

    def __init__(self):
        r"""
        :param _TableExpressions: sql表达式表名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableExpressions: list of SqlExpressionTable
        :param _ParamExpressions: sql表达式字段名
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamExpressions: list of str
        :param _SystemTemplateExpressions: 新增模型检测类系统模板sql中占位符集合
注意：此字段可能返回 null，表示取不到有效值。
        :type SystemTemplateExpressions: list of str
        """
        self._TableExpressions = None
        self._ParamExpressions = None
        self._SystemTemplateExpressions = None

    @property
    def TableExpressions(self):
        r"""sql表达式表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SqlExpressionTable
        """
        return self._TableExpressions

    @TableExpressions.setter
    def TableExpressions(self, TableExpressions):
        self._TableExpressions = TableExpressions

    @property
    def ParamExpressions(self):
        r"""sql表达式字段名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._ParamExpressions

    @ParamExpressions.setter
    def ParamExpressions(self, ParamExpressions):
        self._ParamExpressions = ParamExpressions

    @property
    def SystemTemplateExpressions(self):
        r"""新增模型检测类系统模板sql中占位符集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._SystemTemplateExpressions

    @SystemTemplateExpressions.setter
    def SystemTemplateExpressions(self, SystemTemplateExpressions):
        self._SystemTemplateExpressions = SystemTemplateExpressions


    def _deserialize(self, params):
        if params.get("TableExpressions") is not None:
            self._TableExpressions = []
            for item in params.get("TableExpressions"):
                obj = SqlExpressionTable()
                obj._deserialize(item)
                self._TableExpressions.append(obj)
        self._ParamExpressions = params.get("ParamExpressions")
        self._SystemTemplateExpressions = params.get("SystemTemplateExpressions")
        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 SqlExpressionTable(AbstractModel):
    r"""数据质量自定义规则时的sql表达式解析表对象

    """

    def __init__(self):
        r"""
        :param _TableExpression: sql表达式表名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableExpression: str
        :param _ColumnExpression: sql表达式字段名
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnExpression: list of str
        """
        self._TableExpression = None
        self._ColumnExpression = None

    @property
    def TableExpression(self):
        r"""sql表达式表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableExpression

    @TableExpression.setter
    def TableExpression(self, TableExpression):
        self._TableExpression = TableExpression

    @property
    def ColumnExpression(self):
        r"""sql表达式字段名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._ColumnExpression

    @ColumnExpression.setter
    def ColumnExpression(self, ColumnExpression):
        self._ColumnExpression = ColumnExpression


    def _deserialize(self, params):
        self._TableExpression = params.get("TableExpression")
        self._ColumnExpression = params.get("ColumnExpression")
        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 StageCloudApiRequest(AbstractModel):
    r"""无

    """

    def __init__(self):
        r"""
        :param _ClusterId: 无
        :type ClusterId: str
        :param _StageId: 无
        :type StageId: str
        :param _JobId: 无
        :type JobId: str
        :param _StageName: 无
        :type StageName: str
        :param _Type: 无
        :type Type: str
        :param _Mode: 无
        :type Mode: str
        :param _Version: 无
        :type Version: str
        :param _Queue: 无
        :type Queue: str
        :param _Content: 无
        :type Content: str
        :param _Parameters: 无
        :type Parameters: list of Property
        :param _Description: 无
        :type Description: str
        :param _ProjectId: 无
        :type ProjectId: str
        :param _JobType: 无
        :type JobType: str
        :param _WorkFlowId: 无
        :type WorkFlowId: str
        """
        self._ClusterId = None
        self._StageId = None
        self._JobId = None
        self._StageName = None
        self._Type = None
        self._Mode = None
        self._Version = None
        self._Queue = None
        self._Content = None
        self._Parameters = None
        self._Description = None
        self._ProjectId = None
        self._JobType = None
        self._WorkFlowId = None

    @property
    def ClusterId(self):
        r"""无
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def StageId(self):
        r"""无
        :rtype: str
        """
        return self._StageId

    @StageId.setter
    def StageId(self, StageId):
        self._StageId = StageId

    @property
    def JobId(self):
        r"""无
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def StageName(self):
        r"""无
        :rtype: str
        """
        return self._StageName

    @StageName.setter
    def StageName(self, StageName):
        self._StageName = StageName

    @property
    def Type(self):
        r"""无
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Mode(self):
        r"""无
        :rtype: str
        """
        return self._Mode

    @Mode.setter
    def Mode(self, Mode):
        self._Mode = Mode

    @property
    def Version(self):
        r"""无
        :rtype: str
        """
        return self._Version

    @Version.setter
    def Version(self, Version):
        self._Version = Version

    @property
    def Queue(self):
        r"""无
        :rtype: str
        """
        return self._Queue

    @Queue.setter
    def Queue(self, Queue):
        self._Queue = Queue

    @property
    def Content(self):
        r"""无
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content

    @property
    def Parameters(self):
        r"""无
        :rtype: list of Property
        """
        return self._Parameters

    @Parameters.setter
    def Parameters(self, Parameters):
        self._Parameters = Parameters

    @property
    def Description(self):
        r"""无
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ProjectId(self):
        r"""无
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def JobType(self):
        r"""无
        :rtype: str
        """
        return self._JobType

    @JobType.setter
    def JobType(self, JobType):
        self._JobType = JobType

    @property
    def WorkFlowId(self):
        r"""无
        :rtype: str
        """
        return self._WorkFlowId

    @WorkFlowId.setter
    def WorkFlowId(self, WorkFlowId):
        self._WorkFlowId = WorkFlowId


    def _deserialize(self, params):
        self._ClusterId = params.get("ClusterId")
        self._StageId = params.get("StageId")
        self._JobId = params.get("JobId")
        self._StageName = params.get("StageName")
        self._Type = params.get("Type")
        self._Mode = params.get("Mode")
        self._Version = params.get("Version")
        self._Queue = params.get("Queue")
        self._Content = params.get("Content")
        if params.get("Parameters") is not None:
            self._Parameters = []
            for item in params.get("Parameters"):
                obj = Property()
                obj._deserialize(item)
                self._Parameters.append(obj)
        self._Description = params.get("Description")
        self._ProjectId = params.get("ProjectId")
        self._JobType = params.get("JobType")
        self._WorkFlowId = params.get("WorkFlowId")
        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 StartIntegrationTaskRequest(AbstractModel):
    r"""StartIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Event: 事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        :type Event: str
        :param _ExtConfig: 额外参数
        :type ExtConfig: list of RecordField
        :param _EventDesc: 操作类型描述
        :type EventDesc: str
        """
        self._TaskId = None
        self._ProjectId = None
        self._Event = None
        self._ExtConfig = None
        self._EventDesc = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Event(self):
        r"""事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        :rtype: str
        """
        return self._Event

    @Event.setter
    def Event(self, Event):
        self._Event = Event

    @property
    def ExtConfig(self):
        r"""额外参数
        :rtype: list of RecordField
        """
        return self._ExtConfig

    @ExtConfig.setter
    def ExtConfig(self, ExtConfig):
        self._ExtConfig = ExtConfig

    @property
    def EventDesc(self):
        r"""操作类型描述
        :rtype: str
        """
        return self._EventDesc

    @EventDesc.setter
    def EventDesc(self, EventDesc):
        self._EventDesc = EventDesc


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._Event = params.get("Event")
        if params.get("ExtConfig") is not None:
            self._ExtConfig = []
            for item in params.get("ExtConfig"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtConfig.append(obj)
        self._EventDesc = params.get("EventDesc")
        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 StartIntegrationTaskResponse(AbstractModel):
    r"""StartIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class StartTaskInfo(AbstractModel):
    r"""批量运行集成任务配置

    """

    def __init__(self):
        r"""
        :param _Event: 批量运行任务类型，比如START，TIMESTAMP，RESTORE，RESUME等
注意：此字段可能返回 null，表示取不到有效值。
        :type Event: str
        :param _TaskIds: 任务Id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskIds: list of str
        :param _Config: 批量运行任务配置，目前仅用与实时集成基于时间位点启动。基于时间位点启动，需要设置一个name=timestamp, value=具体时间戳的RecordField的配置
注意：此字段可能返回 null，表示取不到有效值。
        :type Config: list of RecordField
        :param _Description: 操作类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        """
        self._Event = None
        self._TaskIds = None
        self._Config = None
        self._Description = None

    @property
    def Event(self):
        r"""批量运行任务类型，比如START，TIMESTAMP，RESTORE，RESUME等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Event

    @Event.setter
    def Event(self, Event):
        self._Event = Event

    @property
    def TaskIds(self):
        r"""任务Id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def Config(self):
        r"""批量运行任务配置，目前仅用与实时集成基于时间位点启动。基于时间位点启动，需要设置一个name=timestamp, value=具体时间戳的RecordField的配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._Config

    @Config.setter
    def Config(self, Config):
        self._Config = Config

    @property
    def Description(self):
        r"""操作类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._Event = params.get("Event")
        self._TaskIds = params.get("TaskIds")
        if params.get("Config") is not None:
            self._Config = []
            for item in params.get("Config"):
                obj = RecordField()
                obj._deserialize(item)
                self._Config.append(obj)
        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 StopIntegrationTaskRequest(AbstractModel):
    r"""StopIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 StopIntegrationTaskResponse(AbstractModel):
    r"""StopIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class StrToStrMap(AbstractModel):
    r"""map

    """

    def __init__(self):
        r"""
        :param _K: k
注意：此字段可能返回 null，表示取不到有效值。
        :type K: str
        :param _V: v
注意：此字段可能返回 null，表示取不到有效值。
        :type V: str
        """
        self._K = None
        self._V = None

    @property
    def K(self):
        r"""k
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._K

    @K.setter
    def K(self, K):
        self._K = K

    @property
    def V(self):
        r"""v
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._V

    @V.setter
    def V(self, V):
        self._V = V


    def _deserialize(self, params):
        self._K = params.get("K")
        self._V = params.get("V")
        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 SubmitCustomFunctionRequest(AbstractModel):
    r"""SubmitCustomFunction请求参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数唯一标识
        :type FunctionId: str
        :param _ClusterIdentifier: 集群实例 ID
        :type ClusterIdentifier: str
        :param _Comment: 备注信息
        :type Comment: str
        :param _ProjectId: 项目ID
        :type ProjectId: str
        """
        self._FunctionId = None
        self._ClusterIdentifier = None
        self._Comment = None
        self._ProjectId = None

    @property
    def FunctionId(self):
        r"""函数唯一标识
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ClusterIdentifier(self):
        r"""集群实例 ID
        :rtype: str
        """
        return self._ClusterIdentifier

    @ClusterIdentifier.setter
    def ClusterIdentifier(self, ClusterIdentifier):
        self._ClusterIdentifier = ClusterIdentifier

    @property
    def Comment(self):
        r"""备注信息
        :rtype: str
        """
        return self._Comment

    @Comment.setter
    def Comment(self, Comment):
        self._Comment = Comment

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._ClusterIdentifier = params.get("ClusterIdentifier")
        self._Comment = params.get("Comment")
        self._ProjectId = params.get("ProjectId")
        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 SubmitCustomFunctionResponse(AbstractModel):
    r"""SubmitCustomFunction返回参数结构体

    """

    def __init__(self):
        r"""
        :param _FunctionId: 函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type FunctionId: str
        :param _ErrorMessage: 错误提示
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._FunctionId = None
        self._ErrorMessage = None
        self._RequestId = None

    @property
    def FunctionId(self):
        r"""函数唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FunctionId

    @FunctionId.setter
    def FunctionId(self, FunctionId):
        self._FunctionId = FunctionId

    @property
    def ErrorMessage(self):
        r"""错误提示
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._FunctionId = params.get("FunctionId")
        self._ErrorMessage = params.get("ErrorMessage")
        self._RequestId = params.get("RequestId")


class SubmitSqlTaskRequest(AbstractModel):
    r"""SubmitSqlTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _DatabaseType: 数据库类型
        :type DatabaseType: str
        :param _DatasourceId: 数据源Id
        :type DatasourceId: int
        :param _GroupId: 资源组Id
        :type GroupId: str
        :param _ScriptId: 脚本文件id
        :type ScriptId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _DatabaseName: 数据库名称
        :type DatabaseName: str
        :param _EngineId: 执行引擎实例ID
        :type EngineId: str
        :param _ScriptContent: 脚本内容
        :type ScriptContent: str
        :param _ResourceQueue: 资源队列
        :type ResourceQueue: str
        :param _DatasourceType: 数据库类型
        :type DatasourceType: str
        :param _ComputeResource: 计算资源名称
        :type ComputeResource: str
        :param _RunParams: 高级运行参数
        :type RunParams: str
        :param _ConfParams: 高级设置
        :type ConfParams: str
        :param _ScriptEncryption: 脚本内容是否base64加密
        :type ScriptEncryption: bool
        """
        self._DatabaseType = None
        self._DatasourceId = None
        self._GroupId = None
        self._ScriptId = None
        self._ProjectId = None
        self._DatabaseName = None
        self._EngineId = None
        self._ScriptContent = None
        self._ResourceQueue = None
        self._DatasourceType = None
        self._ComputeResource = None
        self._RunParams = None
        self._ConfParams = None
        self._ScriptEncryption = None

    @property
    def DatabaseType(self):
        r"""数据库类型
        :rtype: str
        """
        return self._DatabaseType

    @DatabaseType.setter
    def DatabaseType(self, DatabaseType):
        self._DatabaseType = DatabaseType

    @property
    def DatasourceId(self):
        r"""数据源Id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def GroupId(self):
        r"""资源组Id
        :rtype: str
        """
        return self._GroupId

    @GroupId.setter
    def GroupId(self, GroupId):
        self._GroupId = GroupId

    @property
    def ScriptId(self):
        r"""脚本文件id
        :rtype: str
        """
        return self._ScriptId

    @ScriptId.setter
    def ScriptId(self, ScriptId):
        self._ScriptId = ScriptId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatabaseName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def EngineId(self):
        r"""执行引擎实例ID
        :rtype: str
        """
        return self._EngineId

    @EngineId.setter
    def EngineId(self, EngineId):
        self._EngineId = EngineId

    @property
    def ScriptContent(self):
        r"""脚本内容
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def ResourceQueue(self):
        r"""资源队列
        :rtype: str
        """
        return self._ResourceQueue

    @ResourceQueue.setter
    def ResourceQueue(self, ResourceQueue):
        self._ResourceQueue = ResourceQueue

    @property
    def DatasourceType(self):
        r"""数据库类型
        :rtype: str
        """
        return self._DatasourceType

    @DatasourceType.setter
    def DatasourceType(self, DatasourceType):
        self._DatasourceType = DatasourceType

    @property
    def ComputeResource(self):
        r"""计算资源名称
        :rtype: str
        """
        return self._ComputeResource

    @ComputeResource.setter
    def ComputeResource(self, ComputeResource):
        self._ComputeResource = ComputeResource

    @property
    def RunParams(self):
        r"""高级运行参数
        :rtype: str
        """
        return self._RunParams

    @RunParams.setter
    def RunParams(self, RunParams):
        self._RunParams = RunParams

    @property
    def ConfParams(self):
        r"""高级设置
        :rtype: str
        """
        return self._ConfParams

    @ConfParams.setter
    def ConfParams(self, ConfParams):
        self._ConfParams = ConfParams

    @property
    def ScriptEncryption(self):
        r"""脚本内容是否base64加密
        :rtype: bool
        """
        return self._ScriptEncryption

    @ScriptEncryption.setter
    def ScriptEncryption(self, ScriptEncryption):
        self._ScriptEncryption = ScriptEncryption


    def _deserialize(self, params):
        self._DatabaseType = params.get("DatabaseType")
        self._DatasourceId = params.get("DatasourceId")
        self._GroupId = params.get("GroupId")
        self._ScriptId = params.get("ScriptId")
        self._ProjectId = params.get("ProjectId")
        self._DatabaseName = params.get("DatabaseName")
        self._EngineId = params.get("EngineId")
        self._ScriptContent = params.get("ScriptContent")
        self._ResourceQueue = params.get("ResourceQueue")
        self._DatasourceType = params.get("DatasourceType")
        self._ComputeResource = params.get("ComputeResource")
        self._RunParams = params.get("RunParams")
        self._ConfParams = params.get("ConfParams")
        self._ScriptEncryption = params.get("ScriptEncryption")
        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 SubmitSqlTaskResponse(AbstractModel):
    r"""SubmitSqlTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Record: 任务提交记录
        :type Record: :class:`tencentcloud.wedata.v20210820.models.AdhocRecord`
        :param _Details: 子任务记录列表
        :type Details: list of AdhocDetail
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Record = None
        self._Details = None
        self._RequestId = None

    @property
    def Record(self):
        r"""任务提交记录
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AdhocRecord`
        """
        return self._Record

    @Record.setter
    def Record(self, Record):
        self._Record = Record

    @property
    def Details(self):
        r"""子任务记录列表
        :rtype: list of AdhocDetail
        """
        return self._Details

    @Details.setter
    def Details(self, Details):
        self._Details = Details

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Record") is not None:
            self._Record = AdhocRecord()
            self._Record._deserialize(params.get("Record"))
        if params.get("Details") is not None:
            self._Details = []
            for item in params.get("Details"):
                obj = AdhocDetail()
                obj._deserialize(item)
                self._Details.append(obj)
        self._RequestId = params.get("RequestId")


class SubmitTaskRequest(AbstractModel):
    r"""SubmitTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _VersionRemark: 版本备注
        :type VersionRemark: str
        :param _StartScheduling: 是否启动调度
        :type StartScheduling: bool
        """
        self._ProjectId = None
        self._TaskId = None
        self._VersionRemark = None
        self._StartScheduling = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VersionRemark(self):
        r"""版本备注
        :rtype: str
        """
        return self._VersionRemark

    @VersionRemark.setter
    def VersionRemark(self, VersionRemark):
        self._VersionRemark = VersionRemark

    @property
    def StartScheduling(self):
        r"""是否启动调度
        :rtype: bool
        """
        return self._StartScheduling

    @StartScheduling.setter
    def StartScheduling(self, StartScheduling):
        self._StartScheduling = StartScheduling


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._VersionRemark = params.get("VersionRemark")
        self._StartScheduling = params.get("StartScheduling")
        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 SubmitTaskResponse(AbstractModel):
    r"""SubmitTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或者失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或者失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class SubmitTaskTestRunRequest(AbstractModel):
    r"""SubmitTaskTestRun请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskIds: taskId列表
        :type TaskIds: str
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkFlowId: 工作流id
        :type WorkFlowId: str
        :param _Name: 工作流名称
        :type Name: str
        :param _Tasks: 工作流任务列表
        :type Tasks: list of StageCloudApiRequest
        :param _Description: 备注
        :type Description: str
        :param _RunParams: 运行参数，map的Json形式
        :type RunParams: str
        :param _ScriptContent: 脚本内容
        :type ScriptContent: str
        :param _VersionId: 版本号
        :type VersionId: str
        :param _SubmitTaskTestRunType: 提交任务测试运行类型
        :type SubmitTaskTestRunType: str
        """
        self._TaskIds = None
        self._ProjectId = None
        self._WorkFlowId = None
        self._Name = None
        self._Tasks = None
        self._Description = None
        self._RunParams = None
        self._ScriptContent = None
        self._VersionId = None
        self._SubmitTaskTestRunType = None

    @property
    def TaskIds(self):
        r"""taskId列表
        :rtype: str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkFlowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkFlowId

    @WorkFlowId.setter
    def WorkFlowId(self, WorkFlowId):
        self._WorkFlowId = WorkFlowId

    @property
    def Name(self):
        r"""工作流名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Tasks(self):
        r"""工作流任务列表
        :rtype: list of StageCloudApiRequest
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def Description(self):
        r"""备注
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def RunParams(self):
        r"""运行参数，map的Json形式
        :rtype: str
        """
        return self._RunParams

    @RunParams.setter
    def RunParams(self, RunParams):
        self._RunParams = RunParams

    @property
    def ScriptContent(self):
        r"""脚本内容
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def VersionId(self):
        r"""版本号
        :rtype: str
        """
        return self._VersionId

    @VersionId.setter
    def VersionId(self, VersionId):
        self._VersionId = VersionId

    @property
    def SubmitTaskTestRunType(self):
        r"""提交任务测试运行类型
        :rtype: str
        """
        return self._SubmitTaskTestRunType

    @SubmitTaskTestRunType.setter
    def SubmitTaskTestRunType(self, SubmitTaskTestRunType):
        self._SubmitTaskTestRunType = SubmitTaskTestRunType


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._ProjectId = params.get("ProjectId")
        self._WorkFlowId = params.get("WorkFlowId")
        self._Name = params.get("Name")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = StageCloudApiRequest()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._Description = params.get("Description")
        self._RunParams = params.get("RunParams")
        self._ScriptContent = params.get("ScriptContent")
        self._VersionId = params.get("VersionId")
        self._SubmitTaskTestRunType = params.get("SubmitTaskTestRunType")
        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 SubmitTaskTestRunResponse(AbstractModel):
    r"""SubmitTaskTestRun返回参数结构体

    """

    def __init__(self):
        r"""
        :param _JobId: 提交运行jobid
        :type JobId: int
        :param _RecordId: 运行记录id
        :type RecordId: list of int
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._JobId = None
        self._RecordId = None
        self._RequestId = None

    @property
    def JobId(self):
        r"""提交运行jobid
        :rtype: int
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def RecordId(self):
        r"""运行记录id
        :rtype: list of int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def RequestId(self):
        r"""唯一请求 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._RecordId = params.get("RecordId")
        self._RequestId = params.get("RequestId")


class SubmitWorkflow(AbstractModel):
    r"""提交工作流实体

    """

    def __init__(self):
        r"""
        :param _TaskIds: 被提交的任务id集合
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskIds: list of str
        :param _Result: 执行结果
        :type Result: bool
        :param _ErrorDesc: 执行情况备注
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorDesc: str
        :param _ErrorId: 执行情况id
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorId: str
        """
        self._TaskIds = None
        self._Result = None
        self._ErrorDesc = None
        self._ErrorId = None

    @property
    def TaskIds(self):
        r"""被提交的任务id集合
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def Result(self):
        r"""执行结果
        :rtype: bool
        """
        return self._Result

    @Result.setter
    def Result(self, Result):
        self._Result = Result

    @property
    def ErrorDesc(self):
        r"""执行情况备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorDesc

    @ErrorDesc.setter
    def ErrorDesc(self, ErrorDesc):
        self._ErrorDesc = ErrorDesc

    @property
    def ErrorId(self):
        r"""执行情况id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorId

    @ErrorId.setter
    def ErrorId(self, ErrorId):
        self._ErrorId = ErrorId


    def _deserialize(self, params):
        self._TaskIds = params.get("TaskIds")
        self._Result = params.get("Result")
        self._ErrorDesc = params.get("ErrorDesc")
        self._ErrorId = params.get("ErrorId")
        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 SubmitWorkflowRequest(AbstractModel):
    r"""SubmitWorkflow请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _VersionRemark: 提交的版本备注
        :type VersionRemark: str
        :param _StartScheduling: 是否启动调度
        :type StartScheduling: bool
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._VersionRemark = None
        self._StartScheduling = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def VersionRemark(self):
        r"""提交的版本备注
        :rtype: str
        """
        return self._VersionRemark

    @VersionRemark.setter
    def VersionRemark(self, VersionRemark):
        self._VersionRemark = VersionRemark

    @property
    def StartScheduling(self):
        r"""是否启动调度
        :rtype: bool
        """
        return self._StartScheduling

    @StartScheduling.setter
    def StartScheduling(self, StartScheduling):
        self._StartScheduling = StartScheduling


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._VersionRemark = params.get("VersionRemark")
        self._StartScheduling = params.get("StartScheduling")
        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 SubmitWorkflowResponse(AbstractModel):
    r"""SubmitWorkflow返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 执行结果
        :type Data: :class:`tencentcloud.wedata.v20210820.models.SubmitWorkflow`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""执行结果
        :rtype: :class:`tencentcloud.wedata.v20210820.models.SubmitWorkflow`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = SubmitWorkflow()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class SubscribeReceiver(AbstractModel):
    r"""订阅接收人

    """

    def __init__(self):
        r"""
        :param _ReceiverUserId: 接收人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :type ReceiverUserId: int
        :param _ReceiverName: 接收人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ReceiverName: str
        :param _ReceiverUserIdStr: 接收人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :type ReceiverUserIdStr: str
        """
        self._ReceiverUserId = None
        self._ReceiverName = None
        self._ReceiverUserIdStr = None

    @property
    def ReceiverUserId(self):
        r"""接收人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ReceiverUserId

    @ReceiverUserId.setter
    def ReceiverUserId(self, ReceiverUserId):
        self._ReceiverUserId = ReceiverUserId

    @property
    def ReceiverName(self):
        r"""接收人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ReceiverName

    @ReceiverName.setter
    def ReceiverName(self, ReceiverName):
        self._ReceiverName = ReceiverName

    @property
    def ReceiverUserIdStr(self):
        r"""接收人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ReceiverUserIdStr

    @ReceiverUserIdStr.setter
    def ReceiverUserIdStr(self, ReceiverUserIdStr):
        self._ReceiverUserIdStr = ReceiverUserIdStr


    def _deserialize(self, params):
        self._ReceiverUserId = params.get("ReceiverUserId")
        self._ReceiverName = params.get("ReceiverName")
        self._ReceiverUserIdStr = params.get("ReceiverUserIdStr")
        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 SubscribeWebHook(AbstractModel):
    r"""群机器人订阅配置

    """

    def __init__(self):
        r"""
        :param _HookType: 群机器人类型，当前支持飞书
注意：此字段可能返回 null，表示取不到有效值。
        :type HookType: str
        :param _HookAddress: 群机器人webhook地址，配置方式参考https://cloud.tencent.com/document/product/1254/70736
注意：此字段可能返回 null，表示取不到有效值。
        :type HookAddress: str
        """
        self._HookType = None
        self._HookAddress = None

    @property
    def HookType(self):
        r"""群机器人类型，当前支持飞书
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._HookType

    @HookType.setter
    def HookType(self, HookType):
        self._HookType = HookType

    @property
    def HookAddress(self):
        r"""群机器人webhook地址，配置方式参考https://cloud.tencent.com/document/product/1254/70736
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._HookAddress

    @HookAddress.setter
    def HookAddress(self, HookAddress):
        self._HookAddress = HookAddress


    def _deserialize(self, params):
        self._HookType = params.get("HookType")
        self._HookAddress = params.get("HookAddress")
        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 SuccessorTaskInfo(AbstractModel):
    r"""下游任务列表

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _WorkflowId: 所属工作流id
        :type WorkflowId: str
        :param _TaskName: 任务名
        :type TaskName: str
        :param _Layer: 层级，0表示当前任务
        :type Layer: int
        :param _Status: 任务状态
        :type Status: str
        :param _TaskTypeId: 任务类型，-1表示跨流任务
        :type TaskTypeId: int
        :param _InCharge: 责任人
        :type InCharge: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _WorkflowName: 所属工作流名称
        :type WorkflowName: str
        :param _CycleUnit: 周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _ScheduleDesc: 调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleDesc: str
        :param _TaskTypeDesc: 任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeDesc: str
        :param _Privileges: 当前用户对该资源的权限列表
CAN_MANAGE 有修改操作权限
NO_PERMISSION 无权限
        :type Privileges: list of str
        """
        self._TaskId = None
        self._WorkflowId = None
        self._TaskName = None
        self._Layer = None
        self._Status = None
        self._TaskTypeId = None
        self._InCharge = None
        self._ProjectId = None
        self._ProjectName = None
        self._WorkflowName = None
        self._CycleUnit = None
        self._ScheduleDesc = None
        self._TaskTypeDesc = None
        self._Privileges = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def WorkflowId(self):
        r"""所属工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def Layer(self):
        r"""层级，0表示当前任务
        :rtype: int
        """
        return self._Layer

    @Layer.setter
    def Layer(self, Layer):
        self._Layer = Layer

    @property
    def Status(self):
        r"""任务状态
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TaskTypeId(self):
        r"""任务类型，-1表示跨流任务
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def InCharge(self):
        r"""责任人
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def WorkflowName(self):
        r"""所属工作流名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def CycleUnit(self):
        r"""周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def ScheduleDesc(self):
        r"""调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleDesc

    @ScheduleDesc.setter
    def ScheduleDesc(self, ScheduleDesc):
        self._ScheduleDesc = ScheduleDesc

    @property
    def TaskTypeDesc(self):
        r"""任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTypeDesc

    @TaskTypeDesc.setter
    def TaskTypeDesc(self, TaskTypeDesc):
        self._TaskTypeDesc = TaskTypeDesc

    @property
    def Privileges(self):
        r"""当前用户对该资源的权限列表
CAN_MANAGE 有修改操作权限
NO_PERMISSION 无权限
        :rtype: list of str
        """
        return self._Privileges

    @Privileges.setter
    def Privileges(self, Privileges):
        self._Privileges = Privileges


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._WorkflowId = params.get("WorkflowId")
        self._TaskName = params.get("TaskName")
        self._Layer = params.get("Layer")
        self._Status = params.get("Status")
        self._TaskTypeId = params.get("TaskTypeId")
        self._InCharge = params.get("InCharge")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._WorkflowName = params.get("WorkflowName")
        self._CycleUnit = params.get("CycleUnit")
        self._ScheduleDesc = params.get("ScheduleDesc")
        self._TaskTypeDesc = params.get("TaskTypeDesc")
        self._Privileges = params.get("Privileges")
        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 SuspendIntegrationTaskRequest(AbstractModel):
    r"""SuspendIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Event: 事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)	
        :type Event: str
        """
        self._TaskId = None
        self._ProjectId = None
        self._Event = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Event(self):
        r"""事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)	
        :rtype: str
        """
        return self._Event

    @Event.setter
    def Event(self, Event):
        self._Event = Event


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        self._Event = params.get("Event")
        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 SuspendIntegrationTaskResponse(AbstractModel):
    r"""SuspendIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class SystemRole(AbstractModel):
    r"""角色对象

    """

    def __init__(self):
        r"""
        :param _RoleId: <p>角色id</p>
        :type RoleId: str
        :param _Name: <p>角色名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _NameCn: <p>角色昵称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NameCn: str
        :param _Description: <p>描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _Privileges: <p>角色权限</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Privileges: list of RolePrivilege
        :param _MethodPaths: <p>方法路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MethodPaths: list of str
        :param _RoleType: <p>角色类型, 分为System,Tenant,Project,Commercial</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RoleType: str
        :param _SystemInit: <p>是否系统默认</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SystemInit: bool
        :param _Params: <p>自定义参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: str
        :param _CreateTimeStr: <p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTimeStr: str
        :param _Creator: <p>创建人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        """
        self._RoleId = None
        self._Name = None
        self._NameCn = None
        self._Description = None
        self._Privileges = None
        self._MethodPaths = None
        self._RoleType = None
        self._SystemInit = None
        self._Params = None
        self._CreateTimeStr = None
        self._Creator = None

    @property
    def RoleId(self):
        r"""<p>角色id</p>
        :rtype: str
        """
        return self._RoleId

    @RoleId.setter
    def RoleId(self, RoleId):
        self._RoleId = RoleId

    @property
    def Name(self):
        r"""<p>角色名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def NameCn(self):
        r"""<p>角色昵称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NameCn

    @NameCn.setter
    def NameCn(self, NameCn):
        self._NameCn = NameCn

    @property
    def Description(self):
        r"""<p>描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def Privileges(self):
        r"""<p>角色权限</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RolePrivilege
        """
        return self._Privileges

    @Privileges.setter
    def Privileges(self, Privileges):
        self._Privileges = Privileges

    @property
    def MethodPaths(self):
        r"""<p>方法路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._MethodPaths

    @MethodPaths.setter
    def MethodPaths(self, MethodPaths):
        self._MethodPaths = MethodPaths

    @property
    def RoleType(self):
        r"""<p>角色类型, 分为System,Tenant,Project,Commercial</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RoleType

    @RoleType.setter
    def RoleType(self, RoleType):
        self._RoleType = RoleType

    @property
    def SystemInit(self):
        r"""<p>是否系统默认</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SystemInit

    @SystemInit.setter
    def SystemInit(self, SystemInit):
        self._SystemInit = SystemInit

    @property
    def Params(self):
        r"""<p>自定义参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def CreateTimeStr(self):
        r"""<p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTimeStr

    @CreateTimeStr.setter
    def CreateTimeStr(self, CreateTimeStr):
        self._CreateTimeStr = CreateTimeStr

    @property
    def Creator(self):
        r"""<p>创建人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator


    def _deserialize(self, params):
        self._RoleId = params.get("RoleId")
        self._Name = params.get("Name")
        self._NameCn = params.get("NameCn")
        self._Description = params.get("Description")
        if params.get("Privileges") is not None:
            self._Privileges = []
            for item in params.get("Privileges"):
                obj = RolePrivilege()
                obj._deserialize(item)
                self._Privileges.append(obj)
        self._MethodPaths = params.get("MethodPaths")
        self._RoleType = params.get("RoleType")
        self._SystemInit = params.get("SystemInit")
        self._Params = params.get("Params")
        self._CreateTimeStr = params.get("CreateTimeStr")
        self._Creator = params.get("Creator")
        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):
    r"""Table

    """

    def __init__(self):
        r"""
        :param _Column: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type Column: list of ColumnItem
        :param _Data: 1
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: list of ColumnData
        """
        self._Column = None
        self._Data = None

    @property
    def Column(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ColumnItem
        """
        return self._Column

    @Column.setter
    def Column(self, Column):
        self._Column = Column

    @property
    def Data(self):
        r"""1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ColumnData
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data


    def _deserialize(self, params):
        if params.get("Column") is not None:
            self._Column = []
            for item in params.get("Column"):
                obj = ColumnItem()
                obj._deserialize(item)
                self._Column.append(obj)
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = ColumnData()
                obj._deserialize(item)
                self._Data.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 TableBaseInfo(AbstractModel):
    r"""建dlc表所需信息

    """

    def __init__(self):
        r"""
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _DatasourceConnectionName: 数据表所属数据源名字
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceConnectionName: str
        :param _TableComment: 表备注
注意：此字段可能返回 null，表示取不到有效值。
        :type TableComment: str
        :param _Type: 类型
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _TableFormat: 数据格式类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TableFormat: str
        :param _UserAlias: 用户昵称
注意：此字段可能返回 null，表示取不到有效值。
        :type UserAlias: str
        :param _UserSubUin: 建表用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type UserSubUin: str
        :param _GovernPolicy: 数据治理配置项
注意：此字段可能返回 null，表示取不到有效值。
        :type GovernPolicy: :class:`tencentcloud.wedata.v20210820.models.DlcDataGovernPolicy`
        :param _DbGovernPolicyIsDisable: 库数据治理是否关闭，关闭：true，开启：false
注意：此字段可能返回 null，表示取不到有效值。
        :type DbGovernPolicyIsDisable: str
        """
        self._DatabaseName = None
        self._TableName = None
        self._DatasourceConnectionName = None
        self._TableComment = None
        self._Type = None
        self._TableFormat = None
        self._UserAlias = None
        self._UserSubUin = None
        self._GovernPolicy = None
        self._DbGovernPolicyIsDisable = None

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def DatasourceConnectionName(self):
        r"""数据表所属数据源名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceConnectionName

    @DatasourceConnectionName.setter
    def DatasourceConnectionName(self, DatasourceConnectionName):
        self._DatasourceConnectionName = DatasourceConnectionName

    @property
    def TableComment(self):
        r"""表备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableComment

    @TableComment.setter
    def TableComment(self, TableComment):
        self._TableComment = TableComment

    @property
    def Type(self):
        r"""类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def TableFormat(self):
        r"""数据格式类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableFormat

    @TableFormat.setter
    def TableFormat(self, TableFormat):
        self._TableFormat = TableFormat

    @property
    def UserAlias(self):
        r"""用户昵称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserAlias

    @UserAlias.setter
    def UserAlias(self, UserAlias):
        self._UserAlias = UserAlias

    @property
    def UserSubUin(self):
        r"""建表用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserSubUin

    @UserSubUin.setter
    def UserSubUin(self, UserSubUin):
        self._UserSubUin = UserSubUin

    @property
    def GovernPolicy(self):
        r"""数据治理配置项
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.DlcDataGovernPolicy`
        """
        return self._GovernPolicy

    @GovernPolicy.setter
    def GovernPolicy(self, GovernPolicy):
        self._GovernPolicy = GovernPolicy

    @property
    def DbGovernPolicyIsDisable(self):
        r"""库数据治理是否关闭，关闭：true，开启：false
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DbGovernPolicyIsDisable

    @DbGovernPolicyIsDisable.setter
    def DbGovernPolicyIsDisable(self, DbGovernPolicyIsDisable):
        self._DbGovernPolicyIsDisable = DbGovernPolicyIsDisable


    def _deserialize(self, params):
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._DatasourceConnectionName = params.get("DatasourceConnectionName")
        self._TableComment = params.get("TableComment")
        self._Type = params.get("Type")
        self._TableFormat = params.get("TableFormat")
        self._UserAlias = params.get("UserAlias")
        self._UserSubUin = params.get("UserSubUin")
        if params.get("GovernPolicy") is not None:
            self._GovernPolicy = DlcDataGovernPolicy()
            self._GovernPolicy._deserialize(params.get("GovernPolicy"))
        self._DbGovernPolicyIsDisable = params.get("DbGovernPolicyIsDisable")
        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 TableBasicInfo(AbstractModel):
    r"""表的元数据信息

    """

    def __init__(self):
        r"""
        :param _TableId: 表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _DatasourceId: 数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatasourceName: 数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseId: 数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _EngineType: 引擎/存储类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineType: str
        :param _TableType: 表类型，视图，外部表等
注意：此字段可能返回 null，表示取不到有效值。
        :type TableType: str
        :param _ProjectId: 项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _ProjectDisplayName: 所属项目英中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _TableOwnerId: 责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerId: str
        :param _TableOwnerName: 责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerName: str
        :param _StorageLocation: 存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageLocation: int
        :param _Description: 表描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _IsPartitionTable: 是否分区表，0-全量表 1-分区表
注意：此字段可能返回 null，表示取不到有效值。
        :type IsPartitionTable: int
        :param _PartitionColumns: 分区字段list
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionColumns: list of str
        :param _StorageFormat: 存储格式
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageFormat: str
        :param _StorageSize: 存储量，字节数
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSize: int
        :param _StorageSizeWithUnit: 存储量，单位
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSizeWithUnit: str
        :param _TotalSizeMb: 累计存储【MB】
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalSizeMb: int
        :param _ReplicaCount: 副本数量
注意：此字段可能返回 null，表示取不到有效值。
        :type ReplicaCount: int
        :param _FileCount: 文件数
注意：此字段可能返回 null，表示取不到有效值。
        :type FileCount: int
        :param _PartitionCount: 分区总数（包含hive，iceberg）
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionCount: int
        :param _PartitionFieldCount: 分区字段数量（包含hive，iceberg）
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionFieldCount: int
        :param _PartitionExpireDays: 生命周期-分区保留天数【分区保留策略时有效】
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionExpireDays: int
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Location: 存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :type Location: str
        """
        self._TableId = None
        self._DatasourceId = None
        self._DatasourceName = None
        self._DatabaseId = None
        self._DatabaseName = None
        self._TableName = None
        self._EngineType = None
        self._TableType = None
        self._ProjectId = None
        self._ProjectName = None
        self._ProjectDisplayName = None
        self._TableOwnerId = None
        self._TableOwnerName = None
        self._StorageLocation = None
        self._Description = None
        self._IsPartitionTable = None
        self._PartitionColumns = None
        self._StorageFormat = None
        self._StorageSize = None
        self._StorageSizeWithUnit = None
        self._TotalSizeMb = None
        self._ReplicaCount = None
        self._FileCount = None
        self._PartitionCount = None
        self._PartitionFieldCount = None
        self._PartitionExpireDays = None
        self._CreateTime = None
        self._UpdateTime = None
        self._Location = None

    @property
    def TableId(self):
        r"""表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def DatasourceId(self):
        r"""数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatasourceName(self):
        r"""数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseId(self):
        r"""数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def EngineType(self):
        r"""引擎/存储类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType

    @property
    def TableType(self):
        r"""表类型，视图，外部表等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType

    @property
    def ProjectId(self):
        r"""项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def ProjectDisplayName(self):
        r"""所属项目英中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def TableOwnerId(self):
        r"""责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerId

    @TableOwnerId.setter
    def TableOwnerId(self, TableOwnerId):
        self._TableOwnerId = TableOwnerId

    @property
    def TableOwnerName(self):
        r"""责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerName

    @TableOwnerName.setter
    def TableOwnerName(self, TableOwnerName):
        self._TableOwnerName = TableOwnerName

    @property
    def StorageLocation(self):
        r"""存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StorageLocation

    @StorageLocation.setter
    def StorageLocation(self, StorageLocation):
        self._StorageLocation = StorageLocation

    @property
    def Description(self):
        r"""表描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def IsPartitionTable(self):
        r"""是否分区表，0-全量表 1-分区表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IsPartitionTable

    @IsPartitionTable.setter
    def IsPartitionTable(self, IsPartitionTable):
        self._IsPartitionTable = IsPartitionTable

    @property
    def PartitionColumns(self):
        r"""分区字段list
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._PartitionColumns

    @PartitionColumns.setter
    def PartitionColumns(self, PartitionColumns):
        self._PartitionColumns = PartitionColumns

    @property
    def StorageFormat(self):
        r"""存储格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageFormat

    @StorageFormat.setter
    def StorageFormat(self, StorageFormat):
        self._StorageFormat = StorageFormat

    @property
    def StorageSize(self):
        r"""存储量，字节数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def StorageSizeWithUnit(self):
        r"""存储量，单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageSizeWithUnit

    @StorageSizeWithUnit.setter
    def StorageSizeWithUnit(self, StorageSizeWithUnit):
        self._StorageSizeWithUnit = StorageSizeWithUnit

    @property
    def TotalSizeMb(self):
        r"""累计存储【MB】
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalSizeMb

    @TotalSizeMb.setter
    def TotalSizeMb(self, TotalSizeMb):
        self._TotalSizeMb = TotalSizeMb

    @property
    def ReplicaCount(self):
        r"""副本数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ReplicaCount

    @ReplicaCount.setter
    def ReplicaCount(self, ReplicaCount):
        self._ReplicaCount = ReplicaCount

    @property
    def FileCount(self):
        r"""文件数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FileCount

    @FileCount.setter
    def FileCount(self, FileCount):
        self._FileCount = FileCount

    @property
    def PartitionCount(self):
        r"""分区总数（包含hive，iceberg）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PartitionCount

    @PartitionCount.setter
    def PartitionCount(self, PartitionCount):
        self._PartitionCount = PartitionCount

    @property
    def PartitionFieldCount(self):
        r"""分区字段数量（包含hive，iceberg）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PartitionFieldCount

    @PartitionFieldCount.setter
    def PartitionFieldCount(self, PartitionFieldCount):
        self._PartitionFieldCount = PartitionFieldCount

    @property
    def PartitionExpireDays(self):
        r"""生命周期-分区保留天数【分区保留策略时有效】
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PartitionExpireDays

    @PartitionExpireDays.setter
    def PartitionExpireDays(self, PartitionExpireDays):
        self._PartitionExpireDays = PartitionExpireDays

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Location(self):
        r"""存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Location

    @Location.setter
    def Location(self, Location):
        self._Location = Location


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._DatasourceId = params.get("DatasourceId")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._EngineType = params.get("EngineType")
        self._TableType = params.get("TableType")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._TableOwnerId = params.get("TableOwnerId")
        self._TableOwnerName = params.get("TableOwnerName")
        self._StorageLocation = params.get("StorageLocation")
        self._Description = params.get("Description")
        self._IsPartitionTable = params.get("IsPartitionTable")
        self._PartitionColumns = params.get("PartitionColumns")
        self._StorageFormat = params.get("StorageFormat")
        self._StorageSize = params.get("StorageSize")
        self._StorageSizeWithUnit = params.get("StorageSizeWithUnit")
        self._TotalSizeMb = params.get("TotalSizeMb")
        self._ReplicaCount = params.get("ReplicaCount")
        self._FileCount = params.get("FileCount")
        self._PartitionCount = params.get("PartitionCount")
        self._PartitionFieldCount = params.get("PartitionFieldCount")
        self._PartitionExpireDays = params.get("PartitionExpireDays")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._Location = params.get("Location")
        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 TableConfig(AbstractModel):
    r"""规则表变量替换

    """

    def __init__(self):
        r"""
        :param _DatabaseId: 数据库Id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableId: 表Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableKey: 表Key
注意：此字段可能返回 null，表示取不到有效值。
        :type TableKey: str
        :param _FieldConfig: 字段变量
注意：此字段可能返回 null，表示取不到有效值。
        :type FieldConfig: list of FieldConfig
        """
        self._DatabaseId = None
        self._DatabaseName = None
        self._TableId = None
        self._TableName = None
        self._TableKey = None
        self._FieldConfig = None

    @property
    def DatabaseId(self):
        r"""数据库Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableId(self):
        r"""表Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableKey(self):
        r"""表Key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableKey

    @TableKey.setter
    def TableKey(self, TableKey):
        self._TableKey = TableKey

    @property
    def FieldConfig(self):
        r"""字段变量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of FieldConfig
        """
        return self._FieldConfig

    @FieldConfig.setter
    def FieldConfig(self, FieldConfig):
        self._FieldConfig = FieldConfig


    def _deserialize(self, params):
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._TableKey = params.get("TableKey")
        if params.get("FieldConfig") is not None:
            self._FieldConfig = []
            for item in params.get("FieldConfig"):
                obj = FieldConfig()
                obj._deserialize(item)
                self._FieldConfig.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 TableHeat(AbstractModel):
    r"""过去七天（不算当天）表的热度值

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _DayTime: 统计日期
注意：此字段可能返回 null，表示取不到有效值。
        :type DayTime: str
        :param _Heat: 表热度
注意：此字段可能返回 null，表示取不到有效值。
        :type Heat: float
        :param _MaxHeat: 表热度最大值
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxHeat: float
        """
        self._TableId = None
        self._DayTime = None
        self._Heat = None
        self._MaxHeat = None

    @property
    def TableId(self):
        r"""表ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def DayTime(self):
        r"""统计日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DayTime

    @DayTime.setter
    def DayTime(self, DayTime):
        self._DayTime = DayTime

    @property
    def Heat(self):
        r"""表热度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._Heat

    @Heat.setter
    def Heat(self, Heat):
        self._Heat = Heat

    @property
    def MaxHeat(self):
        r"""表热度最大值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._MaxHeat

    @MaxHeat.setter
    def MaxHeat(self, MaxHeat):
        self._MaxHeat = MaxHeat


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._DayTime = params.get("DayTime")
        self._Heat = params.get("Heat")
        self._MaxHeat = params.get("MaxHeat")
        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 TableInfo(AbstractModel):
    r"""元数据表详细信息

    """

    def __init__(self):
        r"""
        :param _TableId: 表Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableType: 表类型，view/table
注意：此字段可能返回 null，表示取不到有效值。
        :type TableType: str
        :param _OriginDatabaseName: 表databaseName
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginDatabaseName: str
        :param _OriginSchemaName: 表schemaName
注意：此字段可能返回 null，表示取不到有效值。
        :type OriginSchemaName: str
        """
        self._TableId = None
        self._TableName = None
        self._TableType = None
        self._OriginDatabaseName = None
        self._OriginSchemaName = None

    @property
    def TableId(self):
        r"""表Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableType(self):
        r"""表类型，view/table
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType

    @property
    def OriginDatabaseName(self):
        r"""表databaseName
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginDatabaseName

    @OriginDatabaseName.setter
    def OriginDatabaseName(self, OriginDatabaseName):
        self._OriginDatabaseName = OriginDatabaseName

    @property
    def OriginSchemaName(self):
        r"""表schemaName
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OriginSchemaName

    @OriginSchemaName.setter
    def OriginSchemaName(self, OriginSchemaName):
        self._OriginSchemaName = OriginSchemaName


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._TableType = params.get("TableType")
        self._OriginDatabaseName = params.get("OriginDatabaseName")
        self._OriginSchemaName = params.get("OriginSchemaName")
        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 TableLineage(AbstractModel):
    r"""表血缘节点

    """

    def __init__(self):
        r"""
        :param _DatasourceId: 数据源id
        :type DatasourceId: str
        :param _DatabaseName: 库名称
        :type DatabaseName: str
        :param _TableName: 表名称
        :type TableName: str
        :param _CatalogName: catalog值
        :type CatalogName: str
        :param _SchemaName: schema名称
        :type SchemaName: str
        :param _ExtParams: 扩展参数
        :type ExtParams: list of ExtParam
        :param _TableType: table类型 TABLE｜VIEW
        :type TableType: str
        """
        self._DatasourceId = None
        self._DatabaseName = None
        self._TableName = None
        self._CatalogName = None
        self._SchemaName = None
        self._ExtParams = None
        self._TableType = None

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def CatalogName(self):
        r"""catalog值
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def SchemaName(self):
        r"""schema名称
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def ExtParams(self):
        r"""扩展参数
        :rtype: list of ExtParam
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def TableType(self):
        r"""table类型 TABLE｜VIEW
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType


    def _deserialize(self, params):
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._CatalogName = params.get("CatalogName")
        self._SchemaName = params.get("SchemaName")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = ExtParam()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._TableType = params.get("TableType")
        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 TableLineageBaseInfo(AbstractModel):
    r"""表血缘详细信息

    """

    def __init__(self):
        r"""
        :param _MetastoreType: 元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _PrefixPath: 由中心节点到该节点的路径
注意：此字段可能返回 null，表示取不到有效值。
        :type PrefixPath: str
        :param _ProjectId: 空间id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _TableId: 表id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _Params: 表血缘参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: list of LineageParamRecord
        :param _ParentSet: 父节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: str
        :param _ChildSet: 子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: str
        :param _ExtParams: 额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtParams: list of RecordField
        :param _Id: 血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _MetastoreTypeName: 元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreTypeName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _QualifiedName: 表全称
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedName: str
        :param _DownStreamCount: 血缘下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 血缘上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _Description: 血缘描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _CreateTime: 血缘创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 血缘更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _Tasks: 修改血缘的任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of str
        """
        self._MetastoreType = None
        self._PrefixPath = None
        self._ProjectId = None
        self._DatasourceId = None
        self._TableId = None
        self._Params = None
        self._ParentSet = None
        self._ChildSet = None
        self._ExtParams = None
        self._Id = None
        self._MetastoreTypeName = None
        self._TableName = None
        self._QualifiedName = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._Description = None
        self._CreateTime = None
        self._ModifyTime = None
        self._Tasks = None

    @property
    def MetastoreType(self):
        r"""元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def PrefixPath(self):
        r"""由中心节点到该节点的路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrefixPath

    @PrefixPath.setter
    def PrefixPath(self, PrefixPath):
        self._PrefixPath = PrefixPath

    @property
    def ProjectId(self):
        r"""空间id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def TableId(self):
        r"""表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def Params(self):
        r"""表血缘参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageParamRecord
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def ParentSet(self):
        r"""父节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def ExtParams(self):
        r"""额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def Id(self):
        r"""血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def MetastoreTypeName(self):
        r"""元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreTypeName

    @MetastoreTypeName.setter
    def MetastoreTypeName(self, MetastoreTypeName):
        self._MetastoreTypeName = MetastoreTypeName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def QualifiedName(self):
        r"""表全称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedName

    @QualifiedName.setter
    def QualifiedName(self, QualifiedName):
        self._QualifiedName = QualifiedName

    @property
    def DownStreamCount(self):
        r"""血缘下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""血缘上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def Description(self):
        r"""血缘描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def CreateTime(self):
        r"""血缘创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""血缘更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def Tasks(self):
        r"""修改血缘的任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks


    def _deserialize(self, params):
        self._MetastoreType = params.get("MetastoreType")
        self._PrefixPath = params.get("PrefixPath")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._TableId = params.get("TableId")
        if params.get("Params") is not None:
            self._Params = []
            for item in params.get("Params"):
                obj = LineageParamRecord()
                obj._deserialize(item)
                self._Params.append(obj)
        self._ParentSet = params.get("ParentSet")
        self._ChildSet = params.get("ChildSet")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._Id = params.get("Id")
        self._MetastoreTypeName = params.get("MetastoreTypeName")
        self._TableName = params.get("TableName")
        self._QualifiedName = params.get("QualifiedName")
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        self._Description = params.get("Description")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._Tasks = params.get("Tasks")
        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 TableLineageInfo(AbstractModel):
    r"""表血缘详细信息

    """

    def __init__(self):
        r"""
        :param _MetastoreType: 元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _ProjectId: 空间id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _TableId: 表id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _Params: 表血缘参数
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: list of LineageParamRecord
        :param _ParentSet: 父节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentSet: str
        :param _ChildSet: 子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :type ChildSet: str
        :param _ExtParams: 额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtParams: list of RecordField
        :param _Id: 血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _MetastoreTypeName: 元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreTypeName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _QualifiedName: 表全称
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedName: str
        :param _DownStreamCount: 血缘下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type DownStreamCount: int
        :param _UpStreamCount: 血缘上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :type UpStreamCount: int
        :param _Description: 血缘描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _PrefixPath: 由中心节点到该节点的路径
注意：此字段可能返回 null，表示取不到有效值。
        :type PrefixPath: str
        :param _CreateTime: 血缘创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 血缘更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _Tasks: 修改血缘的任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of str
        :param _ChannelType: 模块/应用类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ChannelType: str
        :param _DisplayType: 展示类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DisplayType: str
        :param _EngineType: 表类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineType: str
        :param _TableType: 表类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TableType: str
        :param _DatasourceName: datasourceName
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseName: DatabaseName
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _DatabaseId: DatabaseId
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DataFromType: 数据来源
注意：此字段可能返回 null，表示取不到有效值。
        :type DataFromType: str
        :param _CollectJobId: 采集id
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectJobId: str
        """
        self._MetastoreType = None
        self._ProjectId = None
        self._DatasourceId = None
        self._TableId = None
        self._Params = None
        self._ParentSet = None
        self._ChildSet = None
        self._ExtParams = None
        self._Id = None
        self._MetastoreTypeName = None
        self._TableName = None
        self._QualifiedName = None
        self._DownStreamCount = None
        self._UpStreamCount = None
        self._Description = None
        self._PrefixPath = None
        self._CreateTime = None
        self._ModifyTime = None
        self._Tasks = None
        self._ChannelType = None
        self._DisplayType = None
        self._EngineType = None
        self._TableType = None
        self._DatasourceName = None
        self._DatabaseName = None
        self._DatabaseId = None
        self._DataFromType = None
        self._CollectJobId = None

    @property
    def MetastoreType(self):
        r"""元数据类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def ProjectId(self):
        r"""空间id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def TableId(self):
        r"""表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def Params(self):
        r"""表血缘参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LineageParamRecord
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def ParentSet(self):
        r"""父节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParentSet

    @ParentSet.setter
    def ParentSet(self, ParentSet):
        self._ParentSet = ParentSet

    @property
    def ChildSet(self):
        r"""子节点列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChildSet

    @ChildSet.setter
    def ChildSet(self, ChildSet):
        self._ChildSet = ChildSet

    @property
    def ExtParams(self):
        r"""额外参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of RecordField
        """
        return self._ExtParams

    @ExtParams.setter
    def ExtParams(self, ExtParams):
        self._ExtParams = ExtParams

    @property
    def Id(self):
        r"""血缘id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def MetastoreTypeName(self):
        r"""元数据类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreTypeName

    @MetastoreTypeName.setter
    def MetastoreTypeName(self, MetastoreTypeName):
        self._MetastoreTypeName = MetastoreTypeName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def QualifiedName(self):
        r"""表全称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedName

    @QualifiedName.setter
    def QualifiedName(self, QualifiedName):
        self._QualifiedName = QualifiedName

    @property
    def DownStreamCount(self):
        r"""血缘下游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DownStreamCount

    @DownStreamCount.setter
    def DownStreamCount(self, DownStreamCount):
        self._DownStreamCount = DownStreamCount

    @property
    def UpStreamCount(self):
        r"""血缘上游节点数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UpStreamCount

    @UpStreamCount.setter
    def UpStreamCount(self, UpStreamCount):
        self._UpStreamCount = UpStreamCount

    @property
    def Description(self):
        r"""血缘描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def PrefixPath(self):
        r"""由中心节点到该节点的路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PrefixPath

    @PrefixPath.setter
    def PrefixPath(self, PrefixPath):
        self._PrefixPath = PrefixPath

    @property
    def CreateTime(self):
        r"""血缘创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""血缘更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def Tasks(self):
        r"""修改血缘的任务id列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def ChannelType(self):
        r"""模块/应用类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ChannelType

    @ChannelType.setter
    def ChannelType(self, ChannelType):
        self._ChannelType = ChannelType

    @property
    def DisplayType(self):
        r"""展示类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DisplayType

    @DisplayType.setter
    def DisplayType(self, DisplayType):
        self._DisplayType = DisplayType

    @property
    def EngineType(self):
        r"""表类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType

    @property
    def TableType(self):
        r"""表类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType

    @property
    def DatasourceName(self):
        r"""datasourceName
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseName(self):
        r"""DatabaseName
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def DatabaseId(self):
        r"""DatabaseId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DataFromType(self):
        r"""数据来源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataFromType

    @DataFromType.setter
    def DataFromType(self, DataFromType):
        self._DataFromType = DataFromType

    @property
    def CollectJobId(self):
        r"""采集id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CollectJobId

    @CollectJobId.setter
    def CollectJobId(self, CollectJobId):
        self._CollectJobId = CollectJobId


    def _deserialize(self, params):
        self._MetastoreType = params.get("MetastoreType")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._TableId = params.get("TableId")
        if params.get("Params") is not None:
            self._Params = []
            for item in params.get("Params"):
                obj = LineageParamRecord()
                obj._deserialize(item)
                self._Params.append(obj)
        self._ParentSet = params.get("ParentSet")
        self._ChildSet = params.get("ChildSet")
        if params.get("ExtParams") is not None:
            self._ExtParams = []
            for item in params.get("ExtParams"):
                obj = RecordField()
                obj._deserialize(item)
                self._ExtParams.append(obj)
        self._Id = params.get("Id")
        self._MetastoreTypeName = params.get("MetastoreTypeName")
        self._TableName = params.get("TableName")
        self._QualifiedName = params.get("QualifiedName")
        self._DownStreamCount = params.get("DownStreamCount")
        self._UpStreamCount = params.get("UpStreamCount")
        self._Description = params.get("Description")
        self._PrefixPath = params.get("PrefixPath")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._Tasks = params.get("Tasks")
        self._ChannelType = params.get("ChannelType")
        self._DisplayType = params.get("DisplayType")
        self._EngineType = params.get("EngineType")
        self._TableType = params.get("TableType")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseName = params.get("DatabaseName")
        self._DatabaseId = params.get("DatabaseId")
        self._DataFromType = params.get("DataFromType")
        self._CollectJobId = params.get("CollectJobId")
        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 TableLineagePair(AbstractModel):
    r"""表血缘关系对

    """

    def __init__(self):
        r"""
        :param _Sources: 血缘数据来源表
        :type Sources: list of TableLineage
        :param _Target: 血缘数据目标表
        :type Target: :class:`tencentcloud.wedata.v20210820.models.TableLineage`
        """
        self._Sources = None
        self._Target = None

    @property
    def Sources(self):
        r"""血缘数据来源表
        :rtype: list of TableLineage
        """
        return self._Sources

    @Sources.setter
    def Sources(self, Sources):
        self._Sources = Sources

    @property
    def Target(self):
        r"""血缘数据目标表
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableLineage`
        """
        return self._Target

    @Target.setter
    def Target(self, Target):
        self._Target = Target


    def _deserialize(self, params):
        if params.get("Sources") is not None:
            self._Sources = []
            for item in params.get("Sources"):
                obj = TableLineage()
                obj._deserialize(item)
                self._Sources.append(obj)
        if params.get("Target") is not None:
            self._Target = TableLineage()
            self._Target._deserialize(params.get("Target"))
        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 TableMeta(AbstractModel):
    r"""表的元数据信息

    """

    def __init__(self):
        r"""
        :param _TableId: 表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableOwnerName: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerName: str
        :param _DatasourceId: 数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: int
        :param _ClusterName: 所属集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterName: str
        :param _DatasourceName: 数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _DatabaseName: 数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TablePath: 表路径
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePath: str
        :param _TableNameCn: 表中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableNameCn: str
        :param _MetastoreId: 元数据租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreId: int
        :param _MetastoreType: 技术类型，可用值:HIVE,MYSQL,KAFKA, HBASE
注意：此字段可能返回 null，表示取不到有效值。
        :type MetastoreType: str
        :param _Description: 表描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _ColumnSeparator: 列分隔符
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnSeparator: str
        :param _StorageFormat: 存储格式
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageFormat: str
        :param _StorageSize: 存储量，字节数
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSize: int
        :param _TableType: 表类型，如hive MANAGED_TABLE;EXTERNAL_TABLE
注意：此字段可能返回 null，表示取不到有效值。
        :type TableType: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: 最近数据变更时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _DdlModifyTime: 最近DDL变更时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DdlModifyTime: str
        :param _LastAccessTime: 数据最后访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastAccessTime: str
        :param _ProjectName: 所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _BizCatalogIds: 所属数据目录id（可能多个）
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogIds: list of str
        :param _BizCatalogNames: 所属数据目录（可能多个）
注意：此字段可能返回 null，表示取不到有效值。
        :type BizCatalogNames: list of str
        :param _HasFavorite: true已收藏/false表示未收藏状态
注意：此字段可能返回 null，表示取不到有效值。
        :type HasFavorite: bool
        :param _StorageSizeWithUnit: 存储量，已转为适合的单位展示
注意：此字段可能返回 null，表示取不到有效值。
        :type StorageSizeWithUnit: str
        :param _InstanceId: 数据源引擎的实例ID：如EMR集群实例ID/数据源实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _TechnologyType: 数据来源技术类型：HIVE/MYSQL/HBASE/KAFKA等
注意：此字段可能返回 null，表示取不到有效值。
        :type TechnologyType: str
        :param _TableNameEn: 表英文名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableNameEn: str
        :param _ProjectId: 项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _Partitions: Kafka Topic 分区数
注意：此字段可能返回 null，表示取不到有效值。
        :type Partitions: str
        :param _ReplicationFactor: Kafka Topic 副本数
注意：此字段可能返回 null，表示取不到有效值。
        :type ReplicationFactor: str
        :param _ProjectDisplayName: 所属项目英中文名
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectDisplayName: str
        :param _DataModifyTime: 数据最后修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DataModifyTime: str
        :param _ClusterId: 集群ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _HasAdminAuthority: 当前用户是否有管理员权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasAdminAuthority: bool
        :param _DatasourceDisplayName: 数据源展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceDisplayName: str
        :param _DatabaseId: 数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _FavoriteCount: 租户下对表的收藏总次数
注意：此字段可能返回 null，表示取不到有效值。
        :type FavoriteCount: int
        :param _LikeCount: 租户下对表的点赞总次数
注意：此字段可能返回 null，表示取不到有效值。
        :type LikeCount: int
        :param _HasLike: true已点赞/false表示未点赞状态
注意：此字段可能返回 null，表示取不到有效值。
        :type HasLike: bool
        :param _TablePropertyScore: 表的资产评分
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePropertyScore: :class:`tencentcloud.wedata.v20210820.models.TablePropertyScore`
        :param _TableHeat: 表的热度值
注意：此字段可能返回 null，表示取不到有效值。
        :type TableHeat: :class:`tencentcloud.wedata.v20210820.models.TableHeat`
        :param _OwnerProjectId: 数据源ownerProjectId
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerProjectId: str
        :param _TableOwnerId: 表负责人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TableOwnerId: str
        :param _DataSourceCategory: 系统源-CLUSTER, DB-自定义源
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceCategory: str
        :param _Columns: 表字段信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Columns: list of SearchColumnDocVO
        :param _MetaCrawlType: 表采集类型
TABLE, VIEW, MANAGED_TABLE(Hive管理表), EXTERNAL_TABLE(Hive外部表), VIRTUAL_VIEW(虚拟视图), MATERIALIZED_VIEW(物化视图), LATERAL_VIEW, INDEX_TABLE(索引表), END_SELECT(查询结构), INSTANCE(中间临时表类型(数据血缘)), CDW(CDW表类型)
注意：此字段可能返回 null，表示取不到有效值。
        :type MetaCrawlType: str
        :param _IsView: 是否视图
注意：此字段可能返回 null，表示取不到有效值。
        :type IsView: bool
        :param _Location: 存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :type Location: str
        :param _LifeCycleTime: 生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :type LifeCycleTime: int
        :param _IsPartitionTable: 判断是否是分区表1 是 0否
注意：此字段可能返回 null，表示取不到有效值。
        :type IsPartitionTable: int
        :param _PartitionColumns: 分区字段 key
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionColumns: list of str
        :param _DateFormat: 分区时间格式：yyyy-MM-dd
注意：此字段可能返回 null，表示取不到有效值。
        :type DateFormat: str
        :param _PartitionExpireDays: 生命周期-分区保留天数【分区保留策略时有效】
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionExpireDays: int
        :param _TableProperties: 表附属信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TableProperties: list of TableMetaProperty
        :param _Environment: 环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :type Environment: str
        :param _Schema: 数据库模式
注意：此字段可能返回 null，表示取不到有效值。
        :type Schema: str
        :param _CollectDatasourceList: 关联数据眼信息
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectDatasourceList: list of GovDatasourceInfo
        :param _CollectJobId: 采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectJobId: str
        :param _CollectJobName: 采集任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CollectJobName: str
        :param _Urn: 数据源urn
注意：此字段可能返回 null，表示取不到有效值。
        :type Urn: str
        :param _HasBizPermission: 是否有修改业务权限
注意：此字段可能返回 null，表示取不到有效值。
        :type HasBizPermission: bool
        :param _OwnerByEngine: 引擎侧创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerByEngine: str
        :param _ErrorTips: 用户无映射账户，请先完成账户映射后再来申请。
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorTips: str
        :param _IfSupportCreateAndDDL: 是否支持select or ddl
注意：此字段可能返回 null，表示取不到有效值。
        :type IfSupportCreateAndDDL: :class:`tencentcloud.wedata.v20210820.models.CreateAndDDLSupport`
        :param _DataFromType: 资产来源 历史默认值都是CRAWLER
注意：此字段可能返回 null，表示取不到有效值。
        :type DataFromType: str
        :param _EngineOwner: 引擎侧责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineOwner: str
        :param _DataLayerUuid: 数据分层UUID
注意：此字段可能返回 null，表示取不到有效值。
        :type DataLayerUuid: str
        :param _DataLayerName: 数据分层名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DataLayerName: str
        :param _ColumnCount: 字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :type ColumnCount: int
        :param _TablePermissionFlag: 权限标记
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePermissionFlag: bool
        :param _AssetStatus: 资产状态
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetStatus: int
        :param _AssetLevel: 资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetLevel: int
        :param _AssetCode: 资产code
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetCode: str
        :param _AssetAuditStatus: 审批状态
注意：此字段可能返回 null，表示取不到有效值。
        :type AssetAuditStatus: str
        :param _PublishedTime: 发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :type PublishedTime: str
        :param _TagInfoList: 标签列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TagInfoList: list of LabelTag
        :param _LabelValueSelections: 标签值选择列表
注意：此字段可能返回 null，表示取不到有效值。
        :type LabelValueSelections: list of LabelValueSelection
        :param _Namespace: 命名空间 - 对应TC-Catalog
注意：此字段可能返回 null，表示取不到有效值。
        :type Namespace: str
        :param _MetaFrom: Catalog来源
注意：此字段可能返回 null，表示取不到有效值。
        :type MetaFrom: str
        :param _EngineCreator: 引擎侧创建者
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineCreator: str
        :param _ProjectStatus: 项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectStatus: int
        """
        self._TableId = None
        self._TableName = None
        self._TableOwnerName = None
        self._DatasourceId = None
        self._ClusterName = None
        self._DatasourceName = None
        self._DatabaseName = None
        self._TablePath = None
        self._TableNameCn = None
        self._MetastoreId = None
        self._MetastoreType = None
        self._Description = None
        self._ColumnSeparator = None
        self._StorageFormat = None
        self._StorageSize = None
        self._TableType = None
        self._CreateTime = None
        self._ModifyTime = None
        self._DdlModifyTime = None
        self._LastAccessTime = None
        self._ProjectName = None
        self._BizCatalogIds = None
        self._BizCatalogNames = None
        self._HasFavorite = None
        self._StorageSizeWithUnit = None
        self._InstanceId = None
        self._TechnologyType = None
        self._TableNameEn = None
        self._ProjectId = None
        self._Partitions = None
        self._ReplicationFactor = None
        self._ProjectDisplayName = None
        self._DataModifyTime = None
        self._ClusterId = None
        self._HasAdminAuthority = None
        self._DatasourceDisplayName = None
        self._DatabaseId = None
        self._FavoriteCount = None
        self._LikeCount = None
        self._HasLike = None
        self._TablePropertyScore = None
        self._TableHeat = None
        self._OwnerProjectId = None
        self._TableOwnerId = None
        self._DataSourceCategory = None
        self._Columns = None
        self._MetaCrawlType = None
        self._IsView = None
        self._Location = None
        self._LifeCycleTime = None
        self._IsPartitionTable = None
        self._PartitionColumns = None
        self._DateFormat = None
        self._PartitionExpireDays = None
        self._TableProperties = None
        self._Environment = None
        self._Schema = None
        self._CollectDatasourceList = None
        self._CollectJobId = None
        self._CollectJobName = None
        self._Urn = None
        self._HasBizPermission = None
        self._OwnerByEngine = None
        self._ErrorTips = None
        self._IfSupportCreateAndDDL = None
        self._DataFromType = None
        self._EngineOwner = None
        self._DataLayerUuid = None
        self._DataLayerName = None
        self._ColumnCount = None
        self._TablePermissionFlag = None
        self._AssetStatus = None
        self._AssetLevel = None
        self._AssetCode = None
        self._AssetAuditStatus = None
        self._PublishedTime = None
        self._TagInfoList = None
        self._LabelValueSelections = None
        self._Namespace = None
        self._MetaFrom = None
        self._EngineCreator = None
        self._ProjectStatus = None

    @property
    def TableId(self):
        r"""表的全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableOwnerName(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerName

    @TableOwnerName.setter
    def TableOwnerName(self, TableOwnerName):
        self._TableOwnerName = TableOwnerName

    @property
    def DatasourceId(self):
        r"""数据源全局唯一ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def ClusterName(self):
        r"""所属集群名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterName

    @ClusterName.setter
    def ClusterName(self, ClusterName):
        self._ClusterName = ClusterName

    @property
    def DatasourceName(self):
        r"""数据源名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def DatabaseName(self):
        r"""数据库名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TablePath(self):
        r"""表路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TablePath

    @TablePath.setter
    def TablePath(self, TablePath):
        self._TablePath = TablePath

    @property
    def TableNameCn(self):
        r"""表中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableNameCn

    @TableNameCn.setter
    def TableNameCn(self, TableNameCn):
        self._TableNameCn = TableNameCn

    @property
    def MetastoreId(self):
        r"""元数据租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MetastoreId

    @MetastoreId.setter
    def MetastoreId(self, MetastoreId):
        self._MetastoreId = MetastoreId

    @property
    def MetastoreType(self):
        r"""技术类型，可用值:HIVE,MYSQL,KAFKA, HBASE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetastoreType

    @MetastoreType.setter
    def MetastoreType(self, MetastoreType):
        self._MetastoreType = MetastoreType

    @property
    def Description(self):
        r"""表描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def ColumnSeparator(self):
        r"""列分隔符
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ColumnSeparator

    @ColumnSeparator.setter
    def ColumnSeparator(self, ColumnSeparator):
        self._ColumnSeparator = ColumnSeparator

    @property
    def StorageFormat(self):
        r"""存储格式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageFormat

    @StorageFormat.setter
    def StorageFormat(self, StorageFormat):
        self._StorageFormat = StorageFormat

    @property
    def StorageSize(self):
        r"""存储量，字节数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def TableType(self):
        r"""表类型，如hive MANAGED_TABLE;EXTERNAL_TABLE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableType

    @TableType.setter
    def TableType(self, TableType):
        self._TableType = TableType

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""最近数据变更时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def DdlModifyTime(self):
        r"""最近DDL变更时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DdlModifyTime

    @DdlModifyTime.setter
    def DdlModifyTime(self, DdlModifyTime):
        self._DdlModifyTime = DdlModifyTime

    @property
    def LastAccessTime(self):
        r"""数据最后访问时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastAccessTime

    @LastAccessTime.setter
    def LastAccessTime(self, LastAccessTime):
        self._LastAccessTime = LastAccessTime

    @property
    def ProjectName(self):
        r"""所属项目英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def BizCatalogIds(self):
        r"""所属数据目录id（可能多个）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._BizCatalogIds

    @BizCatalogIds.setter
    def BizCatalogIds(self, BizCatalogIds):
        self._BizCatalogIds = BizCatalogIds

    @property
    def BizCatalogNames(self):
        r"""所属数据目录（可能多个）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._BizCatalogNames

    @BizCatalogNames.setter
    def BizCatalogNames(self, BizCatalogNames):
        self._BizCatalogNames = BizCatalogNames

    @property
    def HasFavorite(self):
        r"""true已收藏/false表示未收藏状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasFavorite

    @HasFavorite.setter
    def HasFavorite(self, HasFavorite):
        self._HasFavorite = HasFavorite

    @property
    def StorageSizeWithUnit(self):
        r"""存储量，已转为适合的单位展示
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StorageSizeWithUnit

    @StorageSizeWithUnit.setter
    def StorageSizeWithUnit(self, StorageSizeWithUnit):
        self._StorageSizeWithUnit = StorageSizeWithUnit

    @property
    def InstanceId(self):
        r"""数据源引擎的实例ID：如EMR集群实例ID/数据源实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def TechnologyType(self):
        r"""数据来源技术类型：HIVE/MYSQL/HBASE/KAFKA等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TechnologyType

    @TechnologyType.setter
    def TechnologyType(self, TechnologyType):
        self._TechnologyType = TechnologyType

    @property
    def TableNameEn(self):
        r"""表英文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableNameEn

    @TableNameEn.setter
    def TableNameEn(self, TableNameEn):
        self._TableNameEn = TableNameEn

    @property
    def ProjectId(self):
        r"""项目Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Partitions(self):
        r"""Kafka Topic 分区数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Partitions

    @Partitions.setter
    def Partitions(self, Partitions):
        self._Partitions = Partitions

    @property
    def ReplicationFactor(self):
        r"""Kafka Topic 副本数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ReplicationFactor

    @ReplicationFactor.setter
    def ReplicationFactor(self, ReplicationFactor):
        self._ReplicationFactor = ReplicationFactor

    @property
    def ProjectDisplayName(self):
        r"""所属项目英中文名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectDisplayName

    @ProjectDisplayName.setter
    def ProjectDisplayName(self, ProjectDisplayName):
        self._ProjectDisplayName = ProjectDisplayName

    @property
    def DataModifyTime(self):
        r"""数据最后修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataModifyTime

    @DataModifyTime.setter
    def DataModifyTime(self, DataModifyTime):
        self._DataModifyTime = DataModifyTime

    @property
    def ClusterId(self):
        r"""集群ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def HasAdminAuthority(self):
        r"""当前用户是否有管理员权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasAdminAuthority

    @HasAdminAuthority.setter
    def HasAdminAuthority(self, HasAdminAuthority):
        self._HasAdminAuthority = HasAdminAuthority

    @property
    def DatasourceDisplayName(self):
        r"""数据源展示名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceDisplayName

    @DatasourceDisplayName.setter
    def DatasourceDisplayName(self, DatasourceDisplayName):
        self._DatasourceDisplayName = DatasourceDisplayName

    @property
    def DatabaseId(self):
        r"""数据库ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def FavoriteCount(self):
        r"""租户下对表的收藏总次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._FavoriteCount

    @FavoriteCount.setter
    def FavoriteCount(self, FavoriteCount):
        self._FavoriteCount = FavoriteCount

    @property
    def LikeCount(self):
        r"""租户下对表的点赞总次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LikeCount

    @LikeCount.setter
    def LikeCount(self, LikeCount):
        self._LikeCount = LikeCount

    @property
    def HasLike(self):
        r"""true已点赞/false表示未点赞状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasLike

    @HasLike.setter
    def HasLike(self, HasLike):
        self._HasLike = HasLike

    @property
    def TablePropertyScore(self):
        r"""表的资产评分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TablePropertyScore`
        """
        return self._TablePropertyScore

    @TablePropertyScore.setter
    def TablePropertyScore(self, TablePropertyScore):
        self._TablePropertyScore = TablePropertyScore

    @property
    def TableHeat(self):
        r"""表的热度值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TableHeat`
        """
        return self._TableHeat

    @TableHeat.setter
    def TableHeat(self, TableHeat):
        self._TableHeat = TableHeat

    @property
    def OwnerProjectId(self):
        r"""数据源ownerProjectId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerProjectId

    @OwnerProjectId.setter
    def OwnerProjectId(self, OwnerProjectId):
        self._OwnerProjectId = OwnerProjectId

    @property
    def TableOwnerId(self):
        r"""表负责人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableOwnerId

    @TableOwnerId.setter
    def TableOwnerId(self, TableOwnerId):
        self._TableOwnerId = TableOwnerId

    @property
    def DataSourceCategory(self):
        r"""系统源-CLUSTER, DB-自定义源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceCategory

    @DataSourceCategory.setter
    def DataSourceCategory(self, DataSourceCategory):
        self._DataSourceCategory = DataSourceCategory

    @property
    def Columns(self):
        r"""表字段信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of SearchColumnDocVO
        """
        return self._Columns

    @Columns.setter
    def Columns(self, Columns):
        self._Columns = Columns

    @property
    def MetaCrawlType(self):
        r"""表采集类型
TABLE, VIEW, MANAGED_TABLE(Hive管理表), EXTERNAL_TABLE(Hive外部表), VIRTUAL_VIEW(虚拟视图), MATERIALIZED_VIEW(物化视图), LATERAL_VIEW, INDEX_TABLE(索引表), END_SELECT(查询结构), INSTANCE(中间临时表类型(数据血缘)), CDW(CDW表类型)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetaCrawlType

    @MetaCrawlType.setter
    def MetaCrawlType(self, MetaCrawlType):
        self._MetaCrawlType = MetaCrawlType

    @property
    def IsView(self):
        r"""是否视图
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsView

    @IsView.setter
    def IsView(self, IsView):
        self._IsView = IsView

    @property
    def Location(self):
        r"""存储位置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Location

    @Location.setter
    def Location(self, Location):
        self._Location = Location

    @property
    def LifeCycleTime(self):
        r"""生命周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LifeCycleTime

    @LifeCycleTime.setter
    def LifeCycleTime(self, LifeCycleTime):
        self._LifeCycleTime = LifeCycleTime

    @property
    def IsPartitionTable(self):
        r"""判断是否是分区表1 是 0否
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IsPartitionTable

    @IsPartitionTable.setter
    def IsPartitionTable(self, IsPartitionTable):
        self._IsPartitionTable = IsPartitionTable

    @property
    def PartitionColumns(self):
        r"""分区字段 key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._PartitionColumns

    @PartitionColumns.setter
    def PartitionColumns(self, PartitionColumns):
        self._PartitionColumns = PartitionColumns

    @property
    def DateFormat(self):
        r"""分区时间格式：yyyy-MM-dd
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DateFormat

    @DateFormat.setter
    def DateFormat(self, DateFormat):
        self._DateFormat = DateFormat

    @property
    def PartitionExpireDays(self):
        r"""生命周期-分区保留天数【分区保留策略时有效】
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PartitionExpireDays

    @PartitionExpireDays.setter
    def PartitionExpireDays(self, PartitionExpireDays):
        self._PartitionExpireDays = PartitionExpireDays

    @property
    def TableProperties(self):
        r"""表附属信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableMetaProperty
        """
        return self._TableProperties

    @TableProperties.setter
    def TableProperties(self, TableProperties):
        self._TableProperties = TableProperties

    @property
    def Environment(self):
        r"""环境，取值 prod或者 dev
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Environment

    @Environment.setter
    def Environment(self, Environment):
        self._Environment = Environment

    @property
    def Schema(self):
        r"""数据库模式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Schema

    @Schema.setter
    def Schema(self, Schema):
        self._Schema = Schema

    @property
    def CollectDatasourceList(self):
        r"""关联数据眼信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of GovDatasourceInfo
        """
        return self._CollectDatasourceList

    @CollectDatasourceList.setter
    def CollectDatasourceList(self, CollectDatasourceList):
        self._CollectDatasourceList = CollectDatasourceList

    @property
    def CollectJobId(self):
        r"""采集任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CollectJobId

    @CollectJobId.setter
    def CollectJobId(self, CollectJobId):
        self._CollectJobId = CollectJobId

    @property
    def CollectJobName(self):
        r"""采集任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CollectJobName

    @CollectJobName.setter
    def CollectJobName(self, CollectJobName):
        self._CollectJobName = CollectJobName

    @property
    def Urn(self):
        r"""数据源urn
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Urn

    @Urn.setter
    def Urn(self, Urn):
        self._Urn = Urn

    @property
    def HasBizPermission(self):
        r"""是否有修改业务权限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasBizPermission

    @HasBizPermission.setter
    def HasBizPermission(self, HasBizPermission):
        self._HasBizPermission = HasBizPermission

    @property
    def OwnerByEngine(self):
        r"""引擎侧创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerByEngine

    @OwnerByEngine.setter
    def OwnerByEngine(self, OwnerByEngine):
        self._OwnerByEngine = OwnerByEngine

    @property
    def ErrorTips(self):
        r"""用户无映射账户，请先完成账户映射后再来申请。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorTips

    @ErrorTips.setter
    def ErrorTips(self, ErrorTips):
        self._ErrorTips = ErrorTips

    @property
    def IfSupportCreateAndDDL(self):
        r"""是否支持select or ddl
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.CreateAndDDLSupport`
        """
        return self._IfSupportCreateAndDDL

    @IfSupportCreateAndDDL.setter
    def IfSupportCreateAndDDL(self, IfSupportCreateAndDDL):
        self._IfSupportCreateAndDDL = IfSupportCreateAndDDL

    @property
    def DataFromType(self):
        r"""资产来源 历史默认值都是CRAWLER
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataFromType

    @DataFromType.setter
    def DataFromType(self, DataFromType):
        self._DataFromType = DataFromType

    @property
    def EngineOwner(self):
        r"""引擎侧责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineOwner

    @EngineOwner.setter
    def EngineOwner(self, EngineOwner):
        self._EngineOwner = EngineOwner

    @property
    def DataLayerUuid(self):
        r"""数据分层UUID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataLayerUuid

    @DataLayerUuid.setter
    def DataLayerUuid(self, DataLayerUuid):
        self._DataLayerUuid = DataLayerUuid

    @property
    def DataLayerName(self):
        r"""数据分层名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataLayerName

    @DataLayerName.setter
    def DataLayerName(self, DataLayerName):
        self._DataLayerName = DataLayerName

    @property
    def ColumnCount(self):
        r"""字段数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ColumnCount

    @ColumnCount.setter
    def ColumnCount(self, ColumnCount):
        self._ColumnCount = ColumnCount

    @property
    def TablePermissionFlag(self):
        r"""权限标记
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TablePermissionFlag

    @TablePermissionFlag.setter
    def TablePermissionFlag(self, TablePermissionFlag):
        self._TablePermissionFlag = TablePermissionFlag

    @property
    def AssetStatus(self):
        r"""资产状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetStatus

    @AssetStatus.setter
    def AssetStatus(self, AssetStatus):
        self._AssetStatus = AssetStatus

    @property
    def AssetLevel(self):
        r"""资产等级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AssetLevel

    @AssetLevel.setter
    def AssetLevel(self, AssetLevel):
        self._AssetLevel = AssetLevel

    @property
    def AssetCode(self):
        r"""资产code
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetCode

    @AssetCode.setter
    def AssetCode(self, AssetCode):
        self._AssetCode = AssetCode

    @property
    def AssetAuditStatus(self):
        r"""审批状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AssetAuditStatus

    @AssetAuditStatus.setter
    def AssetAuditStatus(self, AssetAuditStatus):
        self._AssetAuditStatus = AssetAuditStatus

    @property
    def PublishedTime(self):
        r"""发布时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PublishedTime

    @PublishedTime.setter
    def PublishedTime(self, PublishedTime):
        self._PublishedTime = PublishedTime

    @property
    def TagInfoList(self):
        r"""标签列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LabelTag
        """
        return self._TagInfoList

    @TagInfoList.setter
    def TagInfoList(self, TagInfoList):
        self._TagInfoList = TagInfoList

    @property
    def LabelValueSelections(self):
        r"""标签值选择列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LabelValueSelection
        """
        return self._LabelValueSelections

    @LabelValueSelections.setter
    def LabelValueSelections(self, LabelValueSelections):
        self._LabelValueSelections = LabelValueSelections

    @property
    def Namespace(self):
        r"""命名空间 - 对应TC-Catalog
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Namespace

    @Namespace.setter
    def Namespace(self, Namespace):
        self._Namespace = Namespace

    @property
    def MetaFrom(self):
        r"""Catalog来源
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MetaFrom

    @MetaFrom.setter
    def MetaFrom(self, MetaFrom):
        self._MetaFrom = MetaFrom

    @property
    def EngineCreator(self):
        r"""引擎侧创建者
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineCreator

    @EngineCreator.setter
    def EngineCreator(self, EngineCreator):
        self._EngineCreator = EngineCreator

    @property
    def ProjectStatus(self):
        r"""项目状态：0：禁用，1：启用，-3:禁用中，2：启用中
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ProjectStatus

    @ProjectStatus.setter
    def ProjectStatus(self, ProjectStatus):
        self._ProjectStatus = ProjectStatus


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._TableOwnerName = params.get("TableOwnerName")
        self._DatasourceId = params.get("DatasourceId")
        self._ClusterName = params.get("ClusterName")
        self._DatasourceName = params.get("DatasourceName")
        self._DatabaseName = params.get("DatabaseName")
        self._TablePath = params.get("TablePath")
        self._TableNameCn = params.get("TableNameCn")
        self._MetastoreId = params.get("MetastoreId")
        self._MetastoreType = params.get("MetastoreType")
        self._Description = params.get("Description")
        self._ColumnSeparator = params.get("ColumnSeparator")
        self._StorageFormat = params.get("StorageFormat")
        self._StorageSize = params.get("StorageSize")
        self._TableType = params.get("TableType")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._DdlModifyTime = params.get("DdlModifyTime")
        self._LastAccessTime = params.get("LastAccessTime")
        self._ProjectName = params.get("ProjectName")
        self._BizCatalogIds = params.get("BizCatalogIds")
        self._BizCatalogNames = params.get("BizCatalogNames")
        self._HasFavorite = params.get("HasFavorite")
        self._StorageSizeWithUnit = params.get("StorageSizeWithUnit")
        self._InstanceId = params.get("InstanceId")
        self._TechnologyType = params.get("TechnologyType")
        self._TableNameEn = params.get("TableNameEn")
        self._ProjectId = params.get("ProjectId")
        self._Partitions = params.get("Partitions")
        self._ReplicationFactor = params.get("ReplicationFactor")
        self._ProjectDisplayName = params.get("ProjectDisplayName")
        self._DataModifyTime = params.get("DataModifyTime")
        self._ClusterId = params.get("ClusterId")
        self._HasAdminAuthority = params.get("HasAdminAuthority")
        self._DatasourceDisplayName = params.get("DatasourceDisplayName")
        self._DatabaseId = params.get("DatabaseId")
        self._FavoriteCount = params.get("FavoriteCount")
        self._LikeCount = params.get("LikeCount")
        self._HasLike = params.get("HasLike")
        if params.get("TablePropertyScore") is not None:
            self._TablePropertyScore = TablePropertyScore()
            self._TablePropertyScore._deserialize(params.get("TablePropertyScore"))
        if params.get("TableHeat") is not None:
            self._TableHeat = TableHeat()
            self._TableHeat._deserialize(params.get("TableHeat"))
        self._OwnerProjectId = params.get("OwnerProjectId")
        self._TableOwnerId = params.get("TableOwnerId")
        self._DataSourceCategory = params.get("DataSourceCategory")
        if params.get("Columns") is not None:
            self._Columns = []
            for item in params.get("Columns"):
                obj = SearchColumnDocVO()
                obj._deserialize(item)
                self._Columns.append(obj)
        self._MetaCrawlType = params.get("MetaCrawlType")
        self._IsView = params.get("IsView")
        self._Location = params.get("Location")
        self._LifeCycleTime = params.get("LifeCycleTime")
        self._IsPartitionTable = params.get("IsPartitionTable")
        self._PartitionColumns = params.get("PartitionColumns")
        self._DateFormat = params.get("DateFormat")
        self._PartitionExpireDays = params.get("PartitionExpireDays")
        if params.get("TableProperties") is not None:
            self._TableProperties = []
            for item in params.get("TableProperties"):
                obj = TableMetaProperty()
                obj._deserialize(item)
                self._TableProperties.append(obj)
        self._Environment = params.get("Environment")
        self._Schema = params.get("Schema")
        if params.get("CollectDatasourceList") is not None:
            self._CollectDatasourceList = []
            for item in params.get("CollectDatasourceList"):
                obj = GovDatasourceInfo()
                obj._deserialize(item)
                self._CollectDatasourceList.append(obj)
        self._CollectJobId = params.get("CollectJobId")
        self._CollectJobName = params.get("CollectJobName")
        self._Urn = params.get("Urn")
        self._HasBizPermission = params.get("HasBizPermission")
        self._OwnerByEngine = params.get("OwnerByEngine")
        self._ErrorTips = params.get("ErrorTips")
        if params.get("IfSupportCreateAndDDL") is not None:
            self._IfSupportCreateAndDDL = CreateAndDDLSupport()
            self._IfSupportCreateAndDDL._deserialize(params.get("IfSupportCreateAndDDL"))
        self._DataFromType = params.get("DataFromType")
        self._EngineOwner = params.get("EngineOwner")
        self._DataLayerUuid = params.get("DataLayerUuid")
        self._DataLayerName = params.get("DataLayerName")
        self._ColumnCount = params.get("ColumnCount")
        self._TablePermissionFlag = params.get("TablePermissionFlag")
        self._AssetStatus = params.get("AssetStatus")
        self._AssetLevel = params.get("AssetLevel")
        self._AssetCode = params.get("AssetCode")
        self._AssetAuditStatus = params.get("AssetAuditStatus")
        self._PublishedTime = params.get("PublishedTime")
        if params.get("TagInfoList") is not None:
            self._TagInfoList = []
            for item in params.get("TagInfoList"):
                obj = LabelTag()
                obj._deserialize(item)
                self._TagInfoList.append(obj)
        if params.get("LabelValueSelections") is not None:
            self._LabelValueSelections = []
            for item in params.get("LabelValueSelections"):
                obj = LabelValueSelection()
                obj._deserialize(item)
                self._LabelValueSelections.append(obj)
        self._Namespace = params.get("Namespace")
        self._MetaFrom = params.get("MetaFrom")
        self._EngineCreator = params.get("EngineCreator")
        self._ProjectStatus = params.get("ProjectStatus")
        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 TableMetaProperty(AbstractModel):
    r"""表附加信息

    """

    def __init__(self):
        r"""
        :param _Key: 属性的key
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: 属性的值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""属性的key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""属性的值
注意：此字段可能返回 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 TableNameFilter(AbstractModel):
    r"""按表名查询的查询条件

    """

    def __init__(self):
        r"""
        :param _MsType: 数据源类型
        :type MsType: str
        :param _DatasourceId: 数据源id
        :type DatasourceId: int
        :param _DatabaseName: 数据库名称
        :type DatabaseName: str
        :param _SchemaName: schema
        :type SchemaName: str
        :param _Name: 表名
        :type Name: str
        """
        self._MsType = None
        self._DatasourceId = None
        self._DatabaseName = None
        self._SchemaName = None
        self._Name = None

    @property
    def MsType(self):
        r"""数据源类型
        :rtype: str
        """
        return self._MsType

    @MsType.setter
    def MsType(self, MsType):
        self._MsType = MsType

    @property
    def DatasourceId(self):
        r"""数据源id
        :rtype: int
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""数据库名称
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""schema
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Name(self):
        r"""表名
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name


    def _deserialize(self, params):
        self._MsType = params.get("MsType")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        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 TablePartition(AbstractModel):
    r"""表的分区数据

    """

    def __init__(self):
        r"""
        :param _PartitionName: 分区名称
        :type PartitionName: str
        :param _RecordCount: 分区记录数
        :type RecordCount: int
        :param _StorageSize: 分区数据存储大小，字节数
        :type StorageSize: str
        :param _CreateTime: 分区创建时间
        :type CreateTime: str
        :param _ModifiedTime: 分区修改时间
        :type ModifiedTime: str
        :param _StorageSizeWithUnit: 分区数据存储大小，已转为适合的单位
        :type StorageSizeWithUnit: str
        :param _NumFiles: 文件数
注意：此字段可能返回 null，表示取不到有效值。
        :type NumFiles: int
        :param _AverageFileSizeWithUnit: 平均文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :type AverageFileSizeWithUnit: str
        """
        self._PartitionName = None
        self._RecordCount = None
        self._StorageSize = None
        self._CreateTime = None
        self._ModifiedTime = None
        self._StorageSizeWithUnit = None
        self._NumFiles = None
        self._AverageFileSizeWithUnit = None

    @property
    def PartitionName(self):
        r"""分区名称
        :rtype: str
        """
        return self._PartitionName

    @PartitionName.setter
    def PartitionName(self, PartitionName):
        self._PartitionName = PartitionName

    @property
    def RecordCount(self):
        r"""分区记录数
        :rtype: int
        """
        return self._RecordCount

    @RecordCount.setter
    def RecordCount(self, RecordCount):
        self._RecordCount = RecordCount

    @property
    def StorageSize(self):
        r"""分区数据存储大小，字节数
        :rtype: str
        """
        return self._StorageSize

    @StorageSize.setter
    def StorageSize(self, StorageSize):
        self._StorageSize = StorageSize

    @property
    def CreateTime(self):
        r"""分区创建时间
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifiedTime(self):
        r"""分区修改时间
        :rtype: str
        """
        return self._ModifiedTime

    @ModifiedTime.setter
    def ModifiedTime(self, ModifiedTime):
        self._ModifiedTime = ModifiedTime

    @property
    def StorageSizeWithUnit(self):
        r"""分区数据存储大小，已转为适合的单位
        :rtype: str
        """
        return self._StorageSizeWithUnit

    @StorageSizeWithUnit.setter
    def StorageSizeWithUnit(self, StorageSizeWithUnit):
        self._StorageSizeWithUnit = StorageSizeWithUnit

    @property
    def NumFiles(self):
        r"""文件数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._NumFiles

    @NumFiles.setter
    def NumFiles(self, NumFiles):
        self._NumFiles = NumFiles

    @property
    def AverageFileSizeWithUnit(self):
        r"""平均文件大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AverageFileSizeWithUnit

    @AverageFileSizeWithUnit.setter
    def AverageFileSizeWithUnit(self, AverageFileSizeWithUnit):
        self._AverageFileSizeWithUnit = AverageFileSizeWithUnit


    def _deserialize(self, params):
        self._PartitionName = params.get("PartitionName")
        self._RecordCount = params.get("RecordCount")
        self._StorageSize = params.get("StorageSize")
        self._CreateTime = params.get("CreateTime")
        self._ModifiedTime = params.get("ModifiedTime")
        self._StorageSizeWithUnit = params.get("StorageSizeWithUnit")
        self._NumFiles = params.get("NumFiles")
        self._AverageFileSizeWithUnit = params.get("AverageFileSizeWithUnit")
        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 TablePropertyScore(AbstractModel):
    r"""按天更新的表的资产评分

    """

    def __init__(self):
        r"""
        :param _TableId: 表ID
        :type TableId: str
        :param _DayTime: 统计日期
        :type DayTime: str
        :param _Integrity: 表完整性评分
        :type Integrity: float
        :param _Safety: 表保障性评分
        :type Safety: float
        :param _Timeliness: 表及时性评分
        :type Timeliness: float
        :param _Stability: 表稳定性评分
        :type Stability: float
        :param _Normative: 表规范性评分
        :type Normative: float
        :param _Average: 资产评分平均分
        :type Average: float
        """
        self._TableId = None
        self._DayTime = None
        self._Integrity = None
        self._Safety = None
        self._Timeliness = None
        self._Stability = None
        self._Normative = None
        self._Average = None

    @property
    def TableId(self):
        r"""表ID
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def DayTime(self):
        r"""统计日期
        :rtype: str
        """
        return self._DayTime

    @DayTime.setter
    def DayTime(self, DayTime):
        self._DayTime = DayTime

    @property
    def Integrity(self):
        r"""表完整性评分
        :rtype: float
        """
        return self._Integrity

    @Integrity.setter
    def Integrity(self, Integrity):
        self._Integrity = Integrity

    @property
    def Safety(self):
        r"""表保障性评分
        :rtype: float
        """
        return self._Safety

    @Safety.setter
    def Safety(self, Safety):
        self._Safety = Safety

    @property
    def Timeliness(self):
        r"""表及时性评分
        :rtype: float
        """
        return self._Timeliness

    @Timeliness.setter
    def Timeliness(self, Timeliness):
        self._Timeliness = Timeliness

    @property
    def Stability(self):
        r"""表稳定性评分
        :rtype: float
        """
        return self._Stability

    @Stability.setter
    def Stability(self, Stability):
        self._Stability = Stability

    @property
    def Normative(self):
        r"""表规范性评分
        :rtype: float
        """
        return self._Normative

    @Normative.setter
    def Normative(self, Normative):
        self._Normative = Normative

    @property
    def Average(self):
        r"""资产评分平均分
        :rtype: float
        """
        return self._Average

    @Average.setter
    def Average(self, Average):
        self._Average = Average


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._DayTime = params.get("DayTime")
        self._Integrity = params.get("Integrity")
        self._Safety = params.get("Safety")
        self._Timeliness = params.get("Timeliness")
        self._Stability = params.get("Stability")
        self._Normative = params.get("Normative")
        self._Average = params.get("Average")
        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 TableQualityDetail(AbstractModel):
    r"""表质量详情

    """

    def __init__(self):
        r"""
        :param _DatabaseId: 数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableId: 表id
注意：此字段可能返回 null，表示取不到有效值。
        :type TableId: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _OwnerUserId: 表责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserId: int
        :param _OwnerUserName: 表责任人名
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserName: str
        :param _DatabaseScore: 库得分
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseScore: float
        :param _TableScore: 表得分
注意：此字段可能返回 null，表示取不到有效值。
        :type TableScore: float
        :param _LastPeriodRatio: 表环比
注意：此字段可能返回 null，表示取不到有效值。
        :type LastPeriodRatio: float
        :param _DsEnvType: 0或者未返回或者null：未定义，1：生产，2：开发
注意：此字段可能返回 null，表示取不到有效值。
        :type DsEnvType: int
        :param _SchemaName: 模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _RuleGroupTableId: 规则表
注意：此字段可能返回 null，表示取不到有效值。
        :type RuleGroupTableId: str
        :param _CatalogName: catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        """
        self._DatabaseId = None
        self._DatabaseName = None
        self._TableId = None
        self._TableName = None
        self._OwnerUserId = None
        self._OwnerUserName = None
        self._DatabaseScore = None
        self._TableScore = None
        self._LastPeriodRatio = None
        self._DsEnvType = None
        self._SchemaName = None
        self._RuleGroupTableId = None
        self._CatalogName = None

    @property
    def DatabaseId(self):
        r"""数据库id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseId

    @DatabaseId.setter
    def DatabaseId(self, DatabaseId):
        self._DatabaseId = DatabaseId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableId(self):
        r"""表id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def OwnerUserId(self):
        r"""表责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._OwnerUserId

    @OwnerUserId.setter
    def OwnerUserId(self, OwnerUserId):
        self._OwnerUserId = OwnerUserId

    @property
    def OwnerUserName(self):
        r"""表责任人名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUserName

    @OwnerUserName.setter
    def OwnerUserName(self, OwnerUserName):
        self._OwnerUserName = OwnerUserName

    @property
    def DatabaseScore(self):
        r"""库得分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._DatabaseScore

    @DatabaseScore.setter
    def DatabaseScore(self, DatabaseScore):
        self._DatabaseScore = DatabaseScore

    @property
    def TableScore(self):
        r"""表得分
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TableScore

    @TableScore.setter
    def TableScore(self, TableScore):
        self._TableScore = TableScore

    @property
    def LastPeriodRatio(self):
        r"""表环比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LastPeriodRatio

    @LastPeriodRatio.setter
    def LastPeriodRatio(self, LastPeriodRatio):
        self._LastPeriodRatio = LastPeriodRatio

    @property
    def DsEnvType(self):
        r"""0或者未返回或者null：未定义，1：生产，2：开发
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DsEnvType

    @DsEnvType.setter
    def DsEnvType(self, DsEnvType):
        self._DsEnvType = DsEnvType

    @property
    def SchemaName(self):
        r"""模式名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def RuleGroupTableId(self):
        r"""规则表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RuleGroupTableId

    @RuleGroupTableId.setter
    def RuleGroupTableId(self, RuleGroupTableId):
        self._RuleGroupTableId = RuleGroupTableId

    @property
    def CatalogName(self):
        r"""catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName


    def _deserialize(self, params):
        self._DatabaseId = params.get("DatabaseId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._OwnerUserId = params.get("OwnerUserId")
        self._OwnerUserName = params.get("OwnerUserName")
        self._DatabaseScore = params.get("DatabaseScore")
        self._TableScore = params.get("TableScore")
        self._LastPeriodRatio = params.get("LastPeriodRatio")
        self._DsEnvType = params.get("DsEnvType")
        self._SchemaName = params.get("SchemaName")
        self._RuleGroupTableId = params.get("RuleGroupTableId")
        self._CatalogName = params.get("CatalogName")
        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 TableQualityDetailPage(AbstractModel):
    r"""表质量分分页结果

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 表质量列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of TableQualityDetail
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""总条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""表质量列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TableQualityDetail
        """
        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 = TableQualityDetail()
                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 TableRecord(AbstractModel):
    r"""表一行数据

    """

    def __init__(self):
        r"""
        :param _TableRecordFieldSet: 表一行数据，包含多个Field
        :type TableRecordFieldSet: list of TableRecordField
        """
        self._TableRecordFieldSet = None

    @property
    def TableRecordFieldSet(self):
        r"""表一行数据，包含多个Field
        :rtype: list of TableRecordField
        """
        return self._TableRecordFieldSet

    @TableRecordFieldSet.setter
    def TableRecordFieldSet(self, TableRecordFieldSet):
        self._TableRecordFieldSet = TableRecordFieldSet


    def _deserialize(self, params):
        if params.get("TableRecordFieldSet") is not None:
            self._TableRecordFieldSet = []
            for item in params.get("TableRecordFieldSet"):
                obj = TableRecordField()
                obj._deserialize(item)
                self._TableRecordFieldSet.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 TableRecordField(AbstractModel):
    r"""表的单行记录中的字段名和值

    """

    def __init__(self):
        r"""
        :param _Name: 字段名称
        :type Name: str
        :param _Value: 字段值
        :type Value: str
        """
        self._Name = None
        self._Value = None

    @property
    def Name(self):
        r"""字段名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Value(self):
        r"""字段值
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._Name = params.get("Name")
        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 TableScoreStatisticsInfo(AbstractModel):
    r"""表评分统计信息

    """

    def __init__(self):
        r"""
        :param _Level: 等级 1、2、3、4、5
注意：此字段可能返回 null，表示取不到有效值。
        :type Level: int
        :param _Scale: 占比
注意：此字段可能返回 null，表示取不到有效值。
        :type Scale: int
        :param _TableNumber: 表数量
注意：此字段可能返回 null，表示取不到有效值。
        :type TableNumber: int
        """
        self._Level = None
        self._Scale = None
        self._TableNumber = None

    @property
    def Level(self):
        r"""等级 1、2、3、4、5
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Level

    @Level.setter
    def Level(self, Level):
        self._Level = Level

    @property
    def Scale(self):
        r"""占比
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Scale

    @Scale.setter
    def Scale(self, Scale):
        self._Scale = Scale

    @property
    def TableNumber(self):
        r"""表数量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TableNumber

    @TableNumber.setter
    def TableNumber(self, TableNumber):
        self._TableNumber = TableNumber


    def _deserialize(self, params):
        self._Level = params.get("Level")
        self._Scale = params.get("Scale")
        self._TableNumber = params.get("TableNumber")
        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 TagVoteSum(AbstractModel):
    r"""基于资产的标签统计信息

    """

    def __init__(self):
        r"""
        :param _TagId: 标签id
        :type TagId: int
        :param _TagName: 标签名
        :type TagName: str
        :param _VoteSum: 该表该标签投票次数
        :type VoteSum: int
        :param _Status: 当前用户对这张表是否加了该标签 true 已添加 false 未添加
        :type Status: bool
        :param _TagDesc: 标签描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TagDesc: str
        :param _TagValueId: 标签值Id
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValueId: int
        :param _TagValue: 标签值
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValue: str
        :param _TagIsDeleted: 标签是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :type TagIsDeleted: bool
        :param _TagValueIsDeleted: 标签值是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :type TagValueIsDeleted: bool
        """
        self._TagId = None
        self._TagName = None
        self._VoteSum = None
        self._Status = None
        self._TagDesc = None
        self._TagValueId = None
        self._TagValue = None
        self._TagIsDeleted = None
        self._TagValueIsDeleted = None

    @property
    def TagId(self):
        r"""标签id
        :rtype: int
        """
        return self._TagId

    @TagId.setter
    def TagId(self, TagId):
        self._TagId = TagId

    @property
    def TagName(self):
        r"""标签名
        :rtype: str
        """
        return self._TagName

    @TagName.setter
    def TagName(self, TagName):
        self._TagName = TagName

    @property
    def VoteSum(self):
        r"""该表该标签投票次数
        :rtype: int
        """
        return self._VoteSum

    @VoteSum.setter
    def VoteSum(self, VoteSum):
        self._VoteSum = VoteSum

    @property
    def Status(self):
        r"""当前用户对这张表是否加了该标签 true 已添加 false 未添加
        :rtype: bool
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TagDesc(self):
        r"""标签描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TagDesc

    @TagDesc.setter
    def TagDesc(self, TagDesc):
        self._TagDesc = TagDesc

    @property
    def TagValueId(self):
        r"""标签值Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TagValueId

    @TagValueId.setter
    def TagValueId(self, TagValueId):
        self._TagValueId = TagValueId

    @property
    def TagValue(self):
        r"""标签值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TagValue

    @TagValue.setter
    def TagValue(self, TagValue):
        self._TagValue = TagValue

    @property
    def TagIsDeleted(self):
        r"""标签是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TagIsDeleted

    @TagIsDeleted.setter
    def TagIsDeleted(self, TagIsDeleted):
        self._TagIsDeleted = TagIsDeleted

    @property
    def TagValueIsDeleted(self):
        r"""标签值是否已删除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TagValueIsDeleted

    @TagValueIsDeleted.setter
    def TagValueIsDeleted(self, TagValueIsDeleted):
        self._TagValueIsDeleted = TagValueIsDeleted


    def _deserialize(self, params):
        self._TagId = params.get("TagId")
        self._TagName = params.get("TagName")
        self._VoteSum = params.get("VoteSum")
        self._Status = params.get("Status")
        self._TagDesc = params.get("TagDesc")
        self._TagValueId = params.get("TagValueId")
        self._TagValue = params.get("TagValue")
        self._TagIsDeleted = params.get("TagIsDeleted")
        self._TagValueIsDeleted = params.get("TagValueIsDeleted")
        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 TaskAlarmInfo(AbstractModel):
    r"""任务告警信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _RegularName: 规则名称
        :type RegularName: str
        :param _RegularStatus: 规则状态(0表示关闭，1表示打开)
        :type RegularStatus: int
        :param _AlarmLevel: 告警级别(0表示普通，1表示重要，2表示紧急)
        :type AlarmLevel: int
        :param _AlarmWay: 告警方式,多个用逗号隔开（1:邮件，2:短信，3:微信，4:语音，5:代表企业微信，6:http）
        :type AlarmWay: str
        :param _TaskType: 任务类型(201表示实时，202表示离线)
        :type TaskType: int
        :param _Id: ID
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _RegularId: 规则ID
        :type RegularId: str
        :param _AlarmIndicator: 告警指标,0表示任务失败，1表示任务运行超时，2表示任务停止，3表示任务暂停
，4写入速度，5读取速度，6读取吞吐，7写入吞吐, 8脏数据字节数，9脏数据条数
        :type AlarmIndicator: int
        :param _TriggerType: 指标阈值(1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败)
注意：此字段可能返回 null，表示取不到有效值。
        :type TriggerType: int
        :param _EstimatedTime: 预计的超时时间(分钟级别)
注意：此字段可能返回 null，表示取不到有效值。
        :type EstimatedTime: int
        :param _AlarmRecipientId: 告警接收人ID，多个用逗号隔开
        :type AlarmRecipientId: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _Creater: 创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creater: str
        :param _AlarmRecipientName: 告警接收人昵称，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientName: str
        :param _AlarmIndicatorDesc: 告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicatorDesc: str
        :param _Operator: 实时任务告警需要的参数，1是大于2是小于
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: int
        :param _NodeId: 节点id，多个逗号分隔
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeId: str
        :param _NodeName: 节点名称，多个逗号分隔
注意：此字段可能返回 null，表示取不到有效值。
        :type NodeName: str
        :param _AlarmIndicatorInfos: 指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmIndicatorInfos: list of AlarmIndicatorInfo
        :param _AlarmRecipientType: 告警接收人类型，0指定人员；1任务责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmRecipientType: int
        :param _QuietPeriods: 免打扰时间
注意：此字段可能返回 null，表示取不到有效值。
        :type QuietPeriods: list of QuietPeriod
        :param _WeComHook: 企业微信群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type WeComHook: str
        :param _UpdateTime: 最近操作时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _OperatorUin: 最近操作人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorUin: str
        :param _TaskCount: 关联任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCount: int
        :param _MonitorType: 监控对象类型,1:所有任务,2:指定任务,3:指定责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorType: int
        :param _MonitorObjectIds: 监控对象列表
注意：此字段可能返回 null，表示取不到有效值。
        :type MonitorObjectIds: list of str
        :param _LatestAlarmInstanceId: 最近一次告警的实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestAlarmInstanceId: str
        :param _LatestAlarmTime: 最近一次告警时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestAlarmTime: str
        :param _Description: 告警规则描述
注意：此字段可能返回 null，表示取不到有效值。
        :type Description: str
        :param _LarkWebHooks: 飞书群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type LarkWebHooks: str
        :param _DingDingWebHooks: 钉钉群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :type DingDingWebHooks: str
        :param _BusinessType: 业务类型, 0-非默认, 1-默认
注意：此字段可能返回 null，表示取不到有效值。
        :type BusinessType: int
        :param _AlarmMessageRule: alarm message rule
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmMessageRule: str
        :param _ReportTarget:  0- wedata, 1-inlong
注意：此字段可能返回 null，表示取不到有效值。
        :type ReportTarget: int
        :param _AlarmReceiverGroups: 告警接收组
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmReceiverGroups: list of AlarmReceiverGroup
        :param _AlarmReceiverGroupFlag: 告警接收组标记，0代表历史版本，1代表新版本
注意：此字段可能返回 null，表示取不到有效值。
        :type AlarmReceiverGroupFlag: int
        """
        self._TaskId = None
        self._RegularName = None
        self._RegularStatus = None
        self._AlarmLevel = None
        self._AlarmWay = None
        self._TaskType = None
        self._Id = None
        self._RegularId = None
        self._AlarmIndicator = None
        self._TriggerType = None
        self._EstimatedTime = None
        self._AlarmRecipientId = None
        self._ProjectId = None
        self._Creater = None
        self._AlarmRecipientName = None
        self._AlarmIndicatorDesc = None
        self._Operator = None
        self._NodeId = None
        self._NodeName = None
        self._AlarmIndicatorInfos = None
        self._AlarmRecipientType = None
        self._QuietPeriods = None
        self._WeComHook = None
        self._UpdateTime = None
        self._OperatorUin = None
        self._TaskCount = None
        self._MonitorType = None
        self._MonitorObjectIds = None
        self._LatestAlarmInstanceId = None
        self._LatestAlarmTime = None
        self._Description = None
        self._LarkWebHooks = None
        self._DingDingWebHooks = None
        self._BusinessType = None
        self._AlarmMessageRule = None
        self._ReportTarget = None
        self._AlarmReceiverGroups = None
        self._AlarmReceiverGroupFlag = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def RegularName(self):
        r"""规则名称
        :rtype: str
        """
        return self._RegularName

    @RegularName.setter
    def RegularName(self, RegularName):
        self._RegularName = RegularName

    @property
    def RegularStatus(self):
        r"""规则状态(0表示关闭，1表示打开)
        :rtype: int
        """
        return self._RegularStatus

    @RegularStatus.setter
    def RegularStatus(self, RegularStatus):
        self._RegularStatus = RegularStatus

    @property
    def AlarmLevel(self):
        r"""告警级别(0表示普通，1表示重要，2表示紧急)
        :rtype: int
        """
        return self._AlarmLevel

    @AlarmLevel.setter
    def AlarmLevel(self, AlarmLevel):
        self._AlarmLevel = AlarmLevel

    @property
    def AlarmWay(self):
        r"""告警方式,多个用逗号隔开（1:邮件，2:短信，3:微信，4:语音，5:代表企业微信，6:http）
        :rtype: str
        """
        return self._AlarmWay

    @AlarmWay.setter
    def AlarmWay(self, AlarmWay):
        self._AlarmWay = AlarmWay

    @property
    def TaskType(self):
        r"""任务类型(201表示实时，202表示离线)
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def Id(self):
        r"""ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def RegularId(self):
        r"""规则ID
        :rtype: str
        """
        return self._RegularId

    @RegularId.setter
    def RegularId(self, RegularId):
        self._RegularId = RegularId

    @property
    def AlarmIndicator(self):
        r"""告警指标,0表示任务失败，1表示任务运行超时，2表示任务停止，3表示任务暂停
，4写入速度，5读取速度，6读取吞吐，7写入吞吐, 8脏数据字节数，9脏数据条数
        :rtype: int
        """
        return self._AlarmIndicator

    @AlarmIndicator.setter
    def AlarmIndicator(self, AlarmIndicator):
        self._AlarmIndicator = AlarmIndicator

    @property
    def TriggerType(self):
        r"""指标阈值(1表示离线任务第一次运行失败，2表示离线任务所有重试完成后失败)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TriggerType

    @TriggerType.setter
    def TriggerType(self, TriggerType):
        self._TriggerType = TriggerType

    @property
    def EstimatedTime(self):
        r"""预计的超时时间(分钟级别)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._EstimatedTime

    @EstimatedTime.setter
    def EstimatedTime(self, EstimatedTime):
        self._EstimatedTime = EstimatedTime

    @property
    def AlarmRecipientId(self):
        r"""告警接收人ID，多个用逗号隔开
        :rtype: str
        """
        return self._AlarmRecipientId

    @AlarmRecipientId.setter
    def AlarmRecipientId(self, AlarmRecipientId):
        self._AlarmRecipientId = AlarmRecipientId

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Creater(self):
        r"""创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creater

    @Creater.setter
    def Creater(self, Creater):
        self._Creater = Creater

    @property
    def AlarmRecipientName(self):
        r"""告警接收人昵称，多个用逗号隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmRecipientName

    @AlarmRecipientName.setter
    def AlarmRecipientName(self, AlarmRecipientName):
        self._AlarmRecipientName = AlarmRecipientName

    @property
    def AlarmIndicatorDesc(self):
        r"""告警指标描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmIndicatorDesc

    @AlarmIndicatorDesc.setter
    def AlarmIndicatorDesc(self, AlarmIndicatorDesc):
        self._AlarmIndicatorDesc = AlarmIndicatorDesc

    @property
    def Operator(self):
        r"""实时任务告警需要的参数，1是大于2是小于
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def NodeId(self):
        r"""节点id，多个逗号分隔
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeId

    @NodeId.setter
    def NodeId(self, NodeId):
        self._NodeId = NodeId

    @property
    def NodeName(self):
        r"""节点名称，多个逗号分隔
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NodeName

    @NodeName.setter
    def NodeName(self, NodeName):
        self._NodeName = NodeName

    @property
    def AlarmIndicatorInfos(self):
        r"""指标列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmIndicatorInfo
        """
        return self._AlarmIndicatorInfos

    @AlarmIndicatorInfos.setter
    def AlarmIndicatorInfos(self, AlarmIndicatorInfos):
        self._AlarmIndicatorInfos = AlarmIndicatorInfos

    @property
    def AlarmRecipientType(self):
        r"""告警接收人类型，0指定人员；1任务责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmRecipientType

    @AlarmRecipientType.setter
    def AlarmRecipientType(self, AlarmRecipientType):
        self._AlarmRecipientType = AlarmRecipientType

    @property
    def QuietPeriods(self):
        r"""免打扰时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of QuietPeriod
        """
        return self._QuietPeriods

    @QuietPeriods.setter
    def QuietPeriods(self, QuietPeriods):
        self._QuietPeriods = QuietPeriods

    @property
    def WeComHook(self):
        r"""企业微信群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WeComHook

    @WeComHook.setter
    def WeComHook(self, WeComHook):
        self._WeComHook = WeComHook

    @property
    def UpdateTime(self):
        r"""最近操作时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def OperatorUin(self):
        r"""最近操作人Uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorUin

    @OperatorUin.setter
    def OperatorUin(self, OperatorUin):
        self._OperatorUin = OperatorUin

    @property
    def TaskCount(self):
        r"""关联任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskCount

    @TaskCount.setter
    def TaskCount(self, TaskCount):
        self._TaskCount = TaskCount

    @property
    def MonitorType(self):
        r"""监控对象类型,1:所有任务,2:指定任务,3:指定责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MonitorType

    @MonitorType.setter
    def MonitorType(self, MonitorType):
        self._MonitorType = MonitorType

    @property
    def MonitorObjectIds(self):
        r"""监控对象列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._MonitorObjectIds

    @MonitorObjectIds.setter
    def MonitorObjectIds(self, MonitorObjectIds):
        self._MonitorObjectIds = MonitorObjectIds

    @property
    def LatestAlarmInstanceId(self):
        r"""最近一次告警的实例ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestAlarmInstanceId

    @LatestAlarmInstanceId.setter
    def LatestAlarmInstanceId(self, LatestAlarmInstanceId):
        self._LatestAlarmInstanceId = LatestAlarmInstanceId

    @property
    def LatestAlarmTime(self):
        r"""最近一次告警时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestAlarmTime

    @LatestAlarmTime.setter
    def LatestAlarmTime(self, LatestAlarmTime):
        self._LatestAlarmTime = LatestAlarmTime

    @property
    def Description(self):
        r"""告警规则描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description

    @property
    def LarkWebHooks(self):
        r"""飞书群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LarkWebHooks

    @LarkWebHooks.setter
    def LarkWebHooks(self, LarkWebHooks):
        self._LarkWebHooks = LarkWebHooks

    @property
    def DingDingWebHooks(self):
        r"""钉钉群Hook地址，多个hook地址使用,隔开
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DingDingWebHooks

    @DingDingWebHooks.setter
    def DingDingWebHooks(self, DingDingWebHooks):
        self._DingDingWebHooks = DingDingWebHooks

    @property
    def BusinessType(self):
        r"""业务类型, 0-非默认, 1-默认
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._BusinessType

    @BusinessType.setter
    def BusinessType(self, BusinessType):
        self._BusinessType = BusinessType

    @property
    def AlarmMessageRule(self):
        r"""alarm message rule
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AlarmMessageRule

    @AlarmMessageRule.setter
    def AlarmMessageRule(self, AlarmMessageRule):
        self._AlarmMessageRule = AlarmMessageRule

    @property
    def ReportTarget(self):
        r""" 0- wedata, 1-inlong
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ReportTarget

    @ReportTarget.setter
    def ReportTarget(self, ReportTarget):
        self._ReportTarget = ReportTarget

    @property
    def AlarmReceiverGroups(self):
        r"""告警接收组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmReceiverGroup
        """
        return self._AlarmReceiverGroups

    @AlarmReceiverGroups.setter
    def AlarmReceiverGroups(self, AlarmReceiverGroups):
        self._AlarmReceiverGroups = AlarmReceiverGroups

    @property
    def AlarmReceiverGroupFlag(self):
        r"""告警接收组标记，0代表历史版本，1代表新版本
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AlarmReceiverGroupFlag

    @AlarmReceiverGroupFlag.setter
    def AlarmReceiverGroupFlag(self, AlarmReceiverGroupFlag):
        self._AlarmReceiverGroupFlag = AlarmReceiverGroupFlag


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._RegularName = params.get("RegularName")
        self._RegularStatus = params.get("RegularStatus")
        self._AlarmLevel = params.get("AlarmLevel")
        self._AlarmWay = params.get("AlarmWay")
        self._TaskType = params.get("TaskType")
        self._Id = params.get("Id")
        self._RegularId = params.get("RegularId")
        self._AlarmIndicator = params.get("AlarmIndicator")
        self._TriggerType = params.get("TriggerType")
        self._EstimatedTime = params.get("EstimatedTime")
        self._AlarmRecipientId = params.get("AlarmRecipientId")
        self._ProjectId = params.get("ProjectId")
        self._Creater = params.get("Creater")
        self._AlarmRecipientName = params.get("AlarmRecipientName")
        self._AlarmIndicatorDesc = params.get("AlarmIndicatorDesc")
        self._Operator = params.get("Operator")
        self._NodeId = params.get("NodeId")
        self._NodeName = params.get("NodeName")
        if params.get("AlarmIndicatorInfos") is not None:
            self._AlarmIndicatorInfos = []
            for item in params.get("AlarmIndicatorInfos"):
                obj = AlarmIndicatorInfo()
                obj._deserialize(item)
                self._AlarmIndicatorInfos.append(obj)
        self._AlarmRecipientType = params.get("AlarmRecipientType")
        if params.get("QuietPeriods") is not None:
            self._QuietPeriods = []
            for item in params.get("QuietPeriods"):
                obj = QuietPeriod()
                obj._deserialize(item)
                self._QuietPeriods.append(obj)
        self._WeComHook = params.get("WeComHook")
        self._UpdateTime = params.get("UpdateTime")
        self._OperatorUin = params.get("OperatorUin")
        self._TaskCount = params.get("TaskCount")
        self._MonitorType = params.get("MonitorType")
        self._MonitorObjectIds = params.get("MonitorObjectIds")
        self._LatestAlarmInstanceId = params.get("LatestAlarmInstanceId")
        self._LatestAlarmTime = params.get("LatestAlarmTime")
        self._Description = params.get("Description")
        self._LarkWebHooks = params.get("LarkWebHooks")
        self._DingDingWebHooks = params.get("DingDingWebHooks")
        self._BusinessType = params.get("BusinessType")
        self._AlarmMessageRule = params.get("AlarmMessageRule")
        self._ReportTarget = params.get("ReportTarget")
        if params.get("AlarmReceiverGroups") is not None:
            self._AlarmReceiverGroups = []
            for item in params.get("AlarmReceiverGroups"):
                obj = AlarmReceiverGroup()
                obj._deserialize(item)
                self._AlarmReceiverGroups.append(obj)
        self._AlarmReceiverGroupFlag = params.get("AlarmReceiverGroupFlag")
        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 TaskByCycle(AbstractModel):
    r"""周期单位统计

    """

    def __init__(self):
        r"""
        :param _Number: num
注意：此字段可能返回 null，表示取不到有效值。
        :type Number: int
        :param _CycleUnit: 周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        """
        self._Number = None
        self._CycleUnit = None
        self._ProjectId = None

    @property
    def Number(self):
        r"""num
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Number

    @Number.setter
    def Number(self, Number):
        self._Number = Number

    @property
    def CycleUnit(self):
        r"""周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._Number = params.get("Number")
        self._CycleUnit = params.get("CycleUnit")
        self._ProjectId = params.get("ProjectId")
        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 TaskByStatus(AbstractModel):
    r"""状态趋势统计

    """

    def __init__(self):
        r"""
        :param _CountGroup: 统计值
注意：此字段可能返回 null，表示取不到有效值。
        :type CountGroup: str
        :param _ShowTimeGroup: 日期
注意：此字段可能返回 null，表示取不到有效值。
        :type ShowTimeGroup: str
        :param _Status: 状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _CycleUnit: 周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _ReportTime: 1
        :type ReportTime: str
        :param _Count: 1
        :type Count: int
        """
        self._CountGroup = None
        self._ShowTimeGroup = None
        self._Status = None
        self._CycleUnit = None
        self._ReportTime = None
        self._Count = None

    @property
    def CountGroup(self):
        r"""统计值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CountGroup

    @CountGroup.setter
    def CountGroup(self, CountGroup):
        self._CountGroup = CountGroup

    @property
    def ShowTimeGroup(self):
        r"""日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ShowTimeGroup

    @ShowTimeGroup.setter
    def ShowTimeGroup(self, ShowTimeGroup):
        self._ShowTimeGroup = ShowTimeGroup

    @property
    def Status(self):
        r"""状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def CycleUnit(self):
        r"""周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def ReportTime(self):
        r"""1
        :rtype: str
        """
        return self._ReportTime

    @ReportTime.setter
    def ReportTime(self, ReportTime):
        self._ReportTime = ReportTime

    @property
    def Count(self):
        r"""1
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count


    def _deserialize(self, params):
        self._CountGroup = params.get("CountGroup")
        self._ShowTimeGroup = params.get("ShowTimeGroup")
        self._Status = params.get("Status")
        self._CycleUnit = params.get("CycleUnit")
        self._ReportTime = params.get("ReportTime")
        self._Count = params.get("Count")
        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 TaskCollectionParamDTO(AbstractModel):
    r"""分页数据集

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总数据条数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _PageCount: 总页数
注意：此字段可能返回 null，表示取不到有效值。
        :type PageCount: int
        :param _Items: 数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of TaskFormParams
        """
        self._TotalCount = None
        self._PageCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""总数据条数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def PageCount(self):
        r"""总页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageCount

    @PageCount.setter
    def PageCount(self, PageCount):
        self._PageCount = PageCount

    @property
    def Items(self):
        r"""数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskFormParams
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items


    def _deserialize(self, params):
        self._TotalCount = params.get("TotalCount")
        self._PageCount = params.get("PageCount")
        if params.get("Items") is not None:
            self._Items = []
            for item in params.get("Items"):
                obj = TaskFormParams()
                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 TaskCycleLinkDTO(AbstractModel):
    r"""循环依赖响应体

    """

    def __init__(self):
        r"""
        :param _Id: 依赖关系唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _TaskFrom: 上游任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFrom: str
        :param _TaskFromProjectId: 上游任务项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFromProjectId: str
        :param _TaskFromWorkflowId: 上游任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFromWorkflowId: str
        :param _TaskTo: 下游任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTo: str
        :param _TaskToProjectId: 下游任务项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskToProjectId: str
        :param _TaskToWorkflowId: 下游任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskToWorkflowId: str
        :param _TaskToInfo: 下游任务基本信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskToInfo: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        :param _MainCyclicConfig: 依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :type MainCyclicConfig: str
        :param _SubordinateCyclicConfig: 依赖偏移类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SubordinateCyclicConfig: str
        :param _DependencyStrategy: 依赖策略
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyStrategy: str
        :param _Offset: 自定义依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :type Offset: str
        :param _UpdateUserId: 更新人用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _CreateUserId: 创建人用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateUserId: str
        :param _AppId: 租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _OwnerUserId: 主账号ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUserId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        """
        self._Id = None
        self._TaskFrom = None
        self._TaskFromProjectId = None
        self._TaskFromWorkflowId = None
        self._TaskTo = None
        self._TaskToProjectId = None
        self._TaskToWorkflowId = None
        self._TaskToInfo = None
        self._MainCyclicConfig = None
        self._SubordinateCyclicConfig = None
        self._DependencyStrategy = None
        self._Offset = None
        self._UpdateUserId = None
        self._CreateUserId = None
        self._AppId = None
        self._OwnerUserId = None
        self._CreateTime = None
        self._UpdateTime = None

    @property
    def Id(self):
        r"""依赖关系唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def TaskFrom(self):
        r"""上游任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def TaskFromProjectId(self):
        r"""上游任务项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFromProjectId

    @TaskFromProjectId.setter
    def TaskFromProjectId(self, TaskFromProjectId):
        self._TaskFromProjectId = TaskFromProjectId

    @property
    def TaskFromWorkflowId(self):
        r"""上游任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFromWorkflowId

    @TaskFromWorkflowId.setter
    def TaskFromWorkflowId(self, TaskFromWorkflowId):
        self._TaskFromWorkflowId = TaskFromWorkflowId

    @property
    def TaskTo(self):
        r"""下游任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def TaskToProjectId(self):
        r"""下游任务项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskToProjectId

    @TaskToProjectId.setter
    def TaskToProjectId(self, TaskToProjectId):
        self._TaskToProjectId = TaskToProjectId

    @property
    def TaskToWorkflowId(self):
        r"""下游任务工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskToWorkflowId

    @TaskToWorkflowId.setter
    def TaskToWorkflowId(self, TaskToWorkflowId):
        self._TaskToWorkflowId = TaskToWorkflowId

    @property
    def TaskToInfo(self):
        r"""下游任务基本信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        """
        return self._TaskToInfo

    @TaskToInfo.setter
    def TaskToInfo(self, TaskToInfo):
        self._TaskToInfo = TaskToInfo

    @property
    def MainCyclicConfig(self):
        r"""依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MainCyclicConfig

    @MainCyclicConfig.setter
    def MainCyclicConfig(self, MainCyclicConfig):
        self._MainCyclicConfig = MainCyclicConfig

    @property
    def SubordinateCyclicConfig(self):
        r"""依赖偏移类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubordinateCyclicConfig

    @SubordinateCyclicConfig.setter
    def SubordinateCyclicConfig(self, SubordinateCyclicConfig):
        self._SubordinateCyclicConfig = SubordinateCyclicConfig

    @property
    def DependencyStrategy(self):
        r"""依赖策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyStrategy

    @DependencyStrategy.setter
    def DependencyStrategy(self, DependencyStrategy):
        self._DependencyStrategy = DependencyStrategy

    @property
    def Offset(self):
        r"""自定义依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Offset

    @Offset.setter
    def Offset(self, Offset):
        self._Offset = Offset

    @property
    def UpdateUserId(self):
        r"""更新人用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def CreateUserId(self):
        r"""创建人用户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateUserId

    @CreateUserId.setter
    def CreateUserId(self, CreateUserId):
        self._CreateUserId = CreateUserId

    @property
    def AppId(self):
        r"""租户ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def OwnerUserId(self):
        r"""主账号ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUserId

    @OwnerUserId.setter
    def OwnerUserId(self, OwnerUserId):
        self._OwnerUserId = OwnerUserId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime


    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._TaskFrom = params.get("TaskFrom")
        self._TaskFromProjectId = params.get("TaskFromProjectId")
        self._TaskFromWorkflowId = params.get("TaskFromWorkflowId")
        self._TaskTo = params.get("TaskTo")
        self._TaskToProjectId = params.get("TaskToProjectId")
        self._TaskToWorkflowId = params.get("TaskToWorkflowId")
        if params.get("TaskToInfo") is not None:
            self._TaskToInfo = TaskDsDTO()
            self._TaskToInfo._deserialize(params.get("TaskToInfo"))
        self._MainCyclicConfig = params.get("MainCyclicConfig")
        self._SubordinateCyclicConfig = params.get("SubordinateCyclicConfig")
        self._DependencyStrategy = params.get("DependencyStrategy")
        self._Offset = params.get("Offset")
        self._UpdateUserId = params.get("UpdateUserId")
        self._CreateUserId = params.get("CreateUserId")
        self._AppId = params.get("AppId")
        self._OwnerUserId = params.get("OwnerUserId")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        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 TaskDataRegistryDTO(AbstractModel):
    r"""任务数据库登记项

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _DatasourceId: 数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceId: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _DbGuid: 库唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type DbGuid: str
        :param _TableGuid: 表唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :type TableGuid: str
        :param _PartitionName: 分区名称
注意：此字段可能返回 null，表示取不到有效值。
        :type PartitionName: str
        :param _Id: 登记项id
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: int
        :param _AppId: 租户id
注意：此字段可能返回 null，表示取不到有效值。
        :type AppId: str
        :param _DataFlowType: 输入输出表类型
      输入流
 UPSTREAM,
      输出流
  DOWNSTREAM;
注意：此字段可能返回 null，表示取不到有效值。
        :type DataFlowType: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UserUin: 用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type UserUin: str
        :param _OwnerUin: 主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _Ext: 扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Ext: str
        :param _TablePhysicalId: 表物理唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :type TablePhysicalId: str
        :param _CatalogName: Catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CatalogName: str
        :param _DatasourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatasourceName: str
        :param _QualifiedName: Catalog(如有).数据库(如有).表名名称
注意：此字段可能返回 null，表示取不到有效值。
        :type QualifiedName: str
        """
        self._TaskId = None
        self._TaskName = None
        self._ProjectId = None
        self._DatasourceId = None
        self._DatabaseName = None
        self._TableName = None
        self._DbGuid = None
        self._TableGuid = None
        self._PartitionName = None
        self._Id = None
        self._AppId = None
        self._DataFlowType = None
        self._CreateTime = None
        self._UserUin = None
        self._OwnerUin = None
        self._Ext = None
        self._TablePhysicalId = None
        self._CatalogName = None
        self._DatasourceName = None
        self._QualifiedName = None

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def DatasourceId(self):
        r"""数据源id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceId

    @DatasourceId.setter
    def DatasourceId(self, DatasourceId):
        self._DatasourceId = DatasourceId

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def DbGuid(self):
        r"""库唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DbGuid

    @DbGuid.setter
    def DbGuid(self, DbGuid):
        self._DbGuid = DbGuid

    @property
    def TableGuid(self):
        r"""表唯一标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableGuid

    @TableGuid.setter
    def TableGuid(self, TableGuid):
        self._TableGuid = TableGuid

    @property
    def PartitionName(self):
        r"""分区名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PartitionName

    @PartitionName.setter
    def PartitionName(self, PartitionName):
        self._PartitionName = PartitionName

    @property
    def Id(self):
        r"""登记项id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def AppId(self):
        r"""租户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppId

    @AppId.setter
    def AppId(self, AppId):
        self._AppId = AppId

    @property
    def DataFlowType(self):
        r"""输入输出表类型
      输入流
 UPSTREAM,
      输出流
  DOWNSTREAM;
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataFlowType

    @DataFlowType.setter
    def DataFlowType(self, DataFlowType):
        self._DataFlowType = DataFlowType

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UserUin(self):
        r"""用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserUin

    @UserUin.setter
    def UserUin(self, UserUin):
        self._UserUin = UserUin

    @property
    def OwnerUin(self):
        r"""主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def Ext(self):
        r"""扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Ext

    @Ext.setter
    def Ext(self, Ext):
        self._Ext = Ext

    @property
    def TablePhysicalId(self):
        r"""表物理唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TablePhysicalId

    @TablePhysicalId.setter
    def TablePhysicalId(self, TablePhysicalId):
        self._TablePhysicalId = TablePhysicalId

    @property
    def CatalogName(self):
        r"""Catalog名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CatalogName

    @CatalogName.setter
    def CatalogName(self, CatalogName):
        self._CatalogName = CatalogName

    @property
    def DatasourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatasourceName

    @DatasourceName.setter
    def DatasourceName(self, DatasourceName):
        self._DatasourceName = DatasourceName

    @property
    def QualifiedName(self):
        r"""Catalog(如有).数据库(如有).表名名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._QualifiedName

    @QualifiedName.setter
    def QualifiedName(self, QualifiedName):
        self._QualifiedName = QualifiedName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._ProjectId = params.get("ProjectId")
        self._DatasourceId = params.get("DatasourceId")
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._DbGuid = params.get("DbGuid")
        self._TableGuid = params.get("TableGuid")
        self._PartitionName = params.get("PartitionName")
        self._Id = params.get("Id")
        self._AppId = params.get("AppId")
        self._DataFlowType = params.get("DataFlowType")
        self._CreateTime = params.get("CreateTime")
        self._UserUin = params.get("UserUin")
        self._OwnerUin = params.get("OwnerUin")
        self._Ext = params.get("Ext")
        self._TablePhysicalId = params.get("TablePhysicalId")
        self._CatalogName = params.get("CatalogName")
        self._DatasourceName = params.get("DatasourceName")
        self._QualifiedName = params.get("QualifiedName")
        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 TaskDsDTO(AbstractModel):
    r"""任务信息

    """

    def __init__(self):
        r"""
        :param _TaskId: <p>任务ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _VirtualTaskId: <p>虚拟任务标记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualTaskId: str
        :param _VirtualFlag: <p>虚拟任务标记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualFlag: bool
        :param _TaskName: <p>任务名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: <p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _RealWorkflowId: <p>真实工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RealWorkflowId: str
        :param _WorkflowName: <p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _FolderId: <p>文件夹id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: <p>文件夹名字</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _CreateTime: <p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _LastUpdate: <p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdate: str
        :param _Status: <p>任务状态，取值范围：</p><ul><li>N 新建</li><li>Y 运行</li><li>F 停止</li><li>O 冻结</li><li>T 停止中</li><li>INVALID 已失效</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _InCharge: <p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _InChargeId: <p>责任人用户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _StartTime: <p>生效日期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: <p>结束日期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _ExecutionStartTime: <p>执行时间左闭区间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: <p>执行时间右闭区间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _ProjectId: <p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: <p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: <p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _CycleType: <p>周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CycleStep: <p>步长</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _CrontabExpression: <p>对于crontab类型调度配置其为用户输入 对于周期类型调度配置其为系统计算</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CrontabExpression: str
        :param _DelayTime: <p>延时调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _StartupTime: <p>延时执行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StartupTime: int
        :param _RetryWait: <p>重试等待时间,单位分钟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryWait: int
        :param _Retriable: <p>是否可重试</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Retriable: int
        :param _TaskAction: <p>调度扩展信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _TryLimit: <p>运行次数限制</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        :param _RunPriority: <p>运行优先级</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RunPriority: int
        :param _TaskType: <p>任务类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeDsVO`
        :param _BrokerIp: <p>指定的运行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _ClusterId: <p>集群name</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _MinDateTime: <p>最小数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MinDateTime: str
        :param _MaxDateTime: <p>最大数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxDateTime: str
        :param _ExecutionTTL: <p>运行耗时超时时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionTTL: int
        :param _SelfDepend: <p>是否自身依赖 是1 否2 并行3</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfDepend: str
        :param _LeftCoordinate: <p>LeftCoordinate坐标</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LeftCoordinate: float
        :param _TopCoordinate: <p>TopCoordinate坐标</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TopCoordinate: float
        :param _TaskExt: <p>TaskExt信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskExt: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        :param _Properties: <p>taskExt 导入导出json使用 private Map  properties;</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: str
        :param _Notes: <p>任务备注</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Notes: str
        :param _InstanceInitStrategy: <p>实例生成策略 T+1 表示当前周期生成上一周期数据时间任务实例 默认T+1 T+0 表示当前周期生成当前周期数据时间任务实例 T-1</p><pre><code> * 表示当前周期生成下一周期数据时间任务实例 * * service不做默认策略处理, 下沉到数据初始化默认T+1, service涉及到多个更新task的路径</code></pre>
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceInitStrategy: str
        :param _YarnQueue: <p>资源池队列名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type YarnQueue: str
        :param _Alarms: <p>任务告警信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Alarms: list of AlarmDsVO
        :param _Alarm: <p>alarmDTO 导入导出json使用</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Alarm: str
        :param _ScriptChange: <p>任务脚本是否发生变化</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptChange: bool
        :param _Submit: <p>任务版本是否已提交</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Submit: bool
        :param _LastSchedulerCommitTime: <p>最新调度计划变更时间 仅生产态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastSchedulerCommitTime: str
        :param _NormalizedJobStartTime: <p>仅生产态存储于生产态序列化任务信息, 减少base CPU重复密集计算</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NormalizedJobStartTime: str
        :param _RecoverFreezeStartTime: <p>启动暂停的任务时，选择不补录中间实例，通过此字段来标识从哪个时间开始生成实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecoverFreezeStartTime: str
        :param _SourceServer: <p>源数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServer: str
        :param _TargetServer: <p>目标数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServer: str
        :param _Tasks: <p>父子节点树</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of TaskDsDTO
        :param _Creater: <p>创建者</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Creater: str
        :param _DependencyRel: <p>分支，依赖关系，and/or, 默认and</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyRel: str
        :param _DependencyWorkflow: <p>是否支持工作流依赖 yes / no 默认 no</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyWorkflow: str
        :param _EventListenerConfig: <p>支持事件监听器配置导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EventListenerConfig: str
        :param _EventPublisherConfig: <p>支持事件触发器配置导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EventPublisherConfig: str
        :param _DependencyConfigList: <p>依赖配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyConfigList: list of DependencyConfigDsDTO
        :param _VirtualTaskStatus: <p>任务状态，取值范围：</p><ul><li>N 新建</li><li>Y 运行</li><li>F 停止</li><li>O 冻结</li><li>T 停止中</li><li>INVALID 已失效</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualTaskStatus: str
        :param _RecycleTips: <p>回收站还原提示语</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecycleTips: str
        :param _RecycleUser: <p>回收站所属用户</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecycleUser: str
        :param _NewOrUpdate: <p>新增 或 修改</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NewOrUpdate: str
        :param _Params: <p>任务上游依赖信息 用于发布管理导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: list of ParameterTaskDsDto
        :param _TaskLinkInfo: <p>任务上游依赖信息 用于发布管理导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskLinkInfo: list of TaskLinkDsDTO
        :param _ImportResult: <p>导入结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ImportResult: bool
        :param _ImportErrMsg: <p>导入失败原因</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ImportErrMsg: str
        :param _ContentType: <p>任务内容 全部内容 配置内容 资源内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ContentType: str
        :param _TaskAutoSubmit: <p>是否导入提交运行</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAutoSubmit: bool
        :param _ProductName: <p>上层产品 数据质量 / 数据开发 / ...</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductName: str
        :param _OwnId: <p>创建者账号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnId: str
        :param _UserId: <p>子账号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _TenantId: <p>租户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _UpdateUser: <p>最后修改的人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUser: str
        :param _UpdateTime: <p>最后修改时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _UpdateUserId: <p>最后修改的人的ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _SchedulerDesc: <p>调度计划</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _ResourceGroup: <p>资源组</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        :param _VersionDesc: <p>版本提交说明</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionDesc: str
        :param _LinkId: <p>编排-删除添加的链接</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkId: str
        :param _UserFileId: <p>脚本引用关系</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserFileId: str
        :param _SourceServiceId: <p>来源数据源ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceId: str
        :param _SourceServiceType: <p>来源数据源类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceType: str
        :param _TargetServiceId: <p>去向数据源ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceId: str
        :param _TargetServiceType: <p>去向数据源类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceType: str
        :param _ParamInList: <p>输入参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamInList: list of ParameterTaskInDsDto
        :param _ParamOutList: <p>输出参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamOutList: list of ParameterTaskOutDsDto
        :param _TaskFolderId: <p>任务文件夹id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFolderId: str
        :param _MaxRetryAttempts: <p>最大尝试次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxRetryAttempts: int
        :param _ResourceGroupName: <p>资源组名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroupName: str
        :param _SourceServiceName: <p>数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceName: str
        :param _TaskRegisterOutputTable: <p>任务产出登记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskRegisterOutputTable: list of TaskDataRegistryDTO
        :param _CycleDependencyConfigList: <p>循环依赖配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleDependencyConfigList: list of TaskCycleLinkDTO
        :param _Warning: <p>特殊警告信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Warning: str
        :param _ScheduleRunType: <p>0 正常调度 1 空跑调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleRunType: int
        :param _ConcurrentStrategy: <p>0 并发度达到上限时，本次排队等待 1 并发度达到上限时，本次不执行，直接kill</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ConcurrentStrategy: int
        :param _ScheduleTimeZone: <p>UTC+8;UDC-8</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        :param _TemplateId: <p>引用的代码模版id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TemplateId: str
        :param _AllowRedoType: <p>允许重跑类 ALL 无论实例成功或者失败，都允许重跑 FAILURE 只有失败的实例允许重跑，成功的实例不允许重跑 NONE 无论成功或者失败，都不允许重跑</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type AllowRedoType: str
        :param _BundleId: <p>BundleId<br>CI/CD工程生成的bundle唯一标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleId: str
        :param _BundleInfo: <p>bundle信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleInfo: str
        :param _AllowDownstreamDependency: <p>是否允许下游依赖 0 不允许 1 允许</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type AllowDownstreamDependency: int
        :param _DependencyTriggerPolicy: <ul><li>任务依赖运行条件，默认为ALL_SUCCESS，暂时只支持工作流调度项目下配置</li><li>ALL_SUCCESS： 全部成功：所有上游依赖任务都达到终态时，进行依赖判断，如果上游全部都成功，则依赖判断成功，否则如果上游有一个跳过运行，则标记为跳过运行，其余情况标记为上游失败</li><li>ALL_FAILED：全部失败：所有上游依赖任务都达到终态时，进行依赖判断，如果上游状态都是失败或者上游失败，则依赖判断成功，否则就标记为跳过运行</li><li>ALL_DONE：全部完成：所有上游依赖任务都达到终态时，进行依赖判断，直接是依赖判断成功</li><li>ALL_DONE_AT_LEAST_ONE_SUCCESS：上游全部完成至少一个成功: 所有上游依赖任务都达到终态时，进行依赖判断，至少有一个成功，则依赖判断成功，否则就是跳过运行</li><li>ALL_SKIPPED：上游全部都跳过: 所有上游依赖任务都达到终态时，进行依赖判断，所有的上游都是跳过状态才算依赖判断成功，否则当前节点就是跳过运行</li><li>ONE_FAILED：至少一个失败: 上游只要有一个失败了，就进行依赖判断，且依赖判断成功，如果上游全部完成但是没有失败，则跳过运行</li><li>ONE_SUCCESS：至少一个成功：上游只要有一个成功，就进行依赖判断，且依赖判断成功，如果上游全部完成但是没有成功，则跳过运行</li><li>ONE_DONE：至少一个完成：上游只要有一个完成了，就进行依赖判断，且依赖判断成功，否则还是等待上游</li><li>NONE_FAILED：上游全部完成，没有失败: 所有上游依赖任务都达到终态时，进行依赖判断，如果上游都是成功或者跳过运行，则依赖判断成功，否则标记为上游失败</li><li>ALL_DONE_NONE_FAILED_AT_LEAST_ONE_SUCCESS：上游全部完成，没有失败，至少有一个成功: 所有上游依赖任务都达到终态时，进行依赖判断，上游没有一个失败且至少有一个成功的情况下，依赖判断成功，否则就是跳过运行</li><li>NONE_SKIPPED：上游全部完成，没有跳过运行: 所有上游依赖任务都达到终态时，进行依赖判断, 如果上游状态全部都是成功、失败、上游失败状态，则依赖判断成功，否则为跳过运行</li><li>ALL_DONE_AT_LEAST_ONE_FAILED：上游全部完成至少一个失败: 所有上游依赖任务都达到终态时，进行依赖判断，至少有一个失败，则依赖判断成功，否则就是跳过运行</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyTriggerPolicy: str
        :param _LastUpdateTimestamp: <p>任务最后更新时间戳</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdateTimestamp: int
        """
        self._TaskId = None
        self._VirtualTaskId = None
        self._VirtualFlag = None
        self._TaskName = None
        self._WorkflowId = None
        self._RealWorkflowId = None
        self._WorkflowName = None
        self._FolderId = None
        self._FolderName = None
        self._CreateTime = None
        self._LastUpdate = None
        self._Status = None
        self._InCharge = None
        self._InChargeId = None
        self._StartTime = None
        self._EndTime = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._DelayTime = None
        self._StartupTime = None
        self._RetryWait = None
        self._Retriable = None
        self._TaskAction = None
        self._TryLimit = None
        self._RunPriority = None
        self._TaskType = None
        self._BrokerIp = None
        self._ClusterId = None
        self._MinDateTime = None
        self._MaxDateTime = None
        self._ExecutionTTL = None
        self._SelfDepend = None
        self._LeftCoordinate = None
        self._TopCoordinate = None
        self._TaskExt = None
        self._Properties = None
        self._Notes = None
        self._InstanceInitStrategy = None
        self._YarnQueue = None
        self._Alarms = None
        self._Alarm = None
        self._ScriptChange = None
        self._Submit = None
        self._LastSchedulerCommitTime = None
        self._NormalizedJobStartTime = None
        self._RecoverFreezeStartTime = None
        self._SourceServer = None
        self._TargetServer = None
        self._Tasks = None
        self._Creater = None
        self._DependencyRel = None
        self._DependencyWorkflow = None
        self._EventListenerConfig = None
        self._EventPublisherConfig = None
        self._DependencyConfigList = None
        self._VirtualTaskStatus = None
        self._RecycleTips = None
        self._RecycleUser = None
        self._NewOrUpdate = None
        self._Params = None
        self._TaskLinkInfo = None
        self._ImportResult = None
        self._ImportErrMsg = None
        self._ContentType = None
        self._TaskAutoSubmit = None
        self._ProductName = None
        self._OwnId = None
        self._UserId = None
        self._TenantId = None
        self._UpdateUser = None
        self._UpdateTime = None
        self._UpdateUserId = None
        self._SchedulerDesc = None
        self._ResourceGroup = None
        self._VersionDesc = None
        self._LinkId = None
        self._UserFileId = None
        self._SourceServiceId = None
        self._SourceServiceType = None
        self._TargetServiceId = None
        self._TargetServiceType = None
        self._ParamInList = None
        self._ParamOutList = None
        self._TaskFolderId = None
        self._MaxRetryAttempts = None
        self._ResourceGroupName = None
        self._SourceServiceName = None
        self._TaskRegisterOutputTable = None
        self._CycleDependencyConfigList = None
        self._Warning = None
        self._ScheduleRunType = None
        self._ConcurrentStrategy = None
        self._ScheduleTimeZone = None
        self._TemplateId = None
        self._AllowRedoType = None
        self._BundleId = None
        self._BundleInfo = None
        self._AllowDownstreamDependency = None
        self._DependencyTriggerPolicy = None
        self._LastUpdateTimestamp = None

    @property
    def TaskId(self):
        r"""<p>任务ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VirtualTaskId(self):
        r"""<p>虚拟任务标记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VirtualTaskId

    @VirtualTaskId.setter
    def VirtualTaskId(self, VirtualTaskId):
        self._VirtualTaskId = VirtualTaskId

    @property
    def VirtualFlag(self):
        r"""<p>虚拟任务标记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def TaskName(self):
        r"""<p>任务名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""<p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def RealWorkflowId(self):
        r"""<p>真实工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealWorkflowId

    @RealWorkflowId.setter
    def RealWorkflowId(self, RealWorkflowId):
        self._RealWorkflowId = RealWorkflowId

    @property
    def WorkflowName(self):
        r"""<p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""<p>文件夹id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""<p>文件夹名字</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def CreateTime(self):
        r"""<p>创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def LastUpdate(self):
        r"""<p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdate

    @LastUpdate.setter
    def LastUpdate(self, LastUpdate):
        self._LastUpdate = LastUpdate

    @property
    def Status(self):
        r"""<p>任务状态，取值范围：</p><ul><li>N 新建</li><li>Y 运行</li><li>F 停止</li><li>O 冻结</li><li>T 停止中</li><li>INVALID 已失效</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def InCharge(self):
        r"""<p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def InChargeId(self):
        r"""<p>责任人用户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def StartTime(self):
        r"""<p>生效日期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""<p>结束日期</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ExecutionStartTime(self):
        r"""<p>执行时间左闭区间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""<p>执行时间右闭区间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""<p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""<p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def CycleType(self):
        r"""<p>周期类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""<p>步长</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""<p>对于crontab类型调度配置其为用户输入 对于周期类型调度配置其为系统计算</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def DelayTime(self):
        r"""<p>延时调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""<p>延时执行时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def RetryWait(self):
        r"""<p>重试等待时间,单位分钟</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def Retriable(self):
        r"""<p>是否可重试</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Retriable

    @Retriable.setter
    def Retriable(self, Retriable):
        self._Retriable = Retriable

    @property
    def TaskAction(self):
        r"""<p>调度扩展信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def TryLimit(self):
        r"""<p>运行次数限制</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def RunPriority(self):
        r"""<p>运行优先级</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def TaskType(self):
        r"""<p>任务类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeDsVO`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def BrokerIp(self):
        r"""<p>指定的运行节点</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def ClusterId(self):
        r"""<p>集群name</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def MinDateTime(self):
        r"""<p>最小数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MinDateTime

    @MinDateTime.setter
    def MinDateTime(self, MinDateTime):
        self._MinDateTime = MinDateTime

    @property
    def MaxDateTime(self):
        r"""<p>最大数据时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MaxDateTime

    @MaxDateTime.setter
    def MaxDateTime(self, MaxDateTime):
        self._MaxDateTime = MaxDateTime

    @property
    def ExecutionTTL(self):
        r"""<p>运行耗时超时时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExecutionTTL

    @ExecutionTTL.setter
    def ExecutionTTL(self, ExecutionTTL):
        self._ExecutionTTL = ExecutionTTL

    @property
    def SelfDepend(self):
        r"""<p>是否自身依赖 是1 否2 并行3</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def LeftCoordinate(self):
        r"""<p>LeftCoordinate坐标</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LeftCoordinate

    @LeftCoordinate.setter
    def LeftCoordinate(self, LeftCoordinate):
        self._LeftCoordinate = LeftCoordinate

    @property
    def TopCoordinate(self):
        r"""<p>TopCoordinate坐标</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TopCoordinate

    @TopCoordinate.setter
    def TopCoordinate(self, TopCoordinate):
        self._TopCoordinate = TopCoordinate

    @property
    def TaskExt(self):
        r"""<p>TaskExt信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        """
        return self._TaskExt

    @TaskExt.setter
    def TaskExt(self, TaskExt):
        self._TaskExt = TaskExt

    @property
    def Properties(self):
        r"""<p>taskExt 导入导出json使用 private Map  properties;</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def Notes(self):
        r"""<p>任务备注</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes

    @property
    def InstanceInitStrategy(self):
        r"""<p>实例生成策略 T+1 表示当前周期生成上一周期数据时间任务实例 默认T+1 T+0 表示当前周期生成当前周期数据时间任务实例 T-1</p><pre><code> * 表示当前周期生成下一周期数据时间任务实例 * * service不做默认策略处理, 下沉到数据初始化默认T+1, service涉及到多个更新task的路径</code></pre>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def YarnQueue(self):
        r"""<p>资源池队列名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._YarnQueue

    @YarnQueue.setter
    def YarnQueue(self, YarnQueue):
        self._YarnQueue = YarnQueue

    @property
    def Alarms(self):
        r"""<p>任务告警信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AlarmDsVO
        """
        return self._Alarms

    @Alarms.setter
    def Alarms(self, Alarms):
        self._Alarms = Alarms

    @property
    def Alarm(self):
        r"""<p>alarmDTO 导入导出json使用</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Alarm

    @Alarm.setter
    def Alarm(self, Alarm):
        self._Alarm = Alarm

    @property
    def ScriptChange(self):
        r"""<p>任务脚本是否发生变化</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ScriptChange

    @ScriptChange.setter
    def ScriptChange(self, ScriptChange):
        self._ScriptChange = ScriptChange

    @property
    def Submit(self):
        r"""<p>任务版本是否已提交</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Submit

    @Submit.setter
    def Submit(self, Submit):
        self._Submit = Submit

    @property
    def LastSchedulerCommitTime(self):
        r"""<p>最新调度计划变更时间 仅生产态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastSchedulerCommitTime

    @LastSchedulerCommitTime.setter
    def LastSchedulerCommitTime(self, LastSchedulerCommitTime):
        self._LastSchedulerCommitTime = LastSchedulerCommitTime

    @property
    def NormalizedJobStartTime(self):
        r"""<p>仅生产态存储于生产态序列化任务信息, 减少base CPU重复密集计算</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NormalizedJobStartTime

    @NormalizedJobStartTime.setter
    def NormalizedJobStartTime(self, NormalizedJobStartTime):
        self._NormalizedJobStartTime = NormalizedJobStartTime

    @property
    def RecoverFreezeStartTime(self):
        r"""<p>启动暂停的任务时，选择不补录中间实例，通过此字段来标识从哪个时间开始生成实例</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RecoverFreezeStartTime

    @RecoverFreezeStartTime.setter
    def RecoverFreezeStartTime(self, RecoverFreezeStartTime):
        self._RecoverFreezeStartTime = RecoverFreezeStartTime

    @property
    def SourceServer(self):
        r"""<p>源数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServer

    @SourceServer.setter
    def SourceServer(self, SourceServer):
        self._SourceServer = SourceServer

    @property
    def TargetServer(self):
        r"""<p>目标数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServer

    @TargetServer.setter
    def TargetServer(self, TargetServer):
        self._TargetServer = TargetServer

    @property
    def Tasks(self):
        r"""<p>父子节点树</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskDsDTO
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def Creater(self):
        r"""<p>创建者</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creater

    @Creater.setter
    def Creater(self, Creater):
        self._Creater = Creater

    @property
    def DependencyRel(self):
        r"""<p>分支，依赖关系，and/or, 默认and</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyRel

    @DependencyRel.setter
    def DependencyRel(self, DependencyRel):
        self._DependencyRel = DependencyRel

    @property
    def DependencyWorkflow(self):
        r"""<p>是否支持工作流依赖 yes / no 默认 no</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def EventListenerConfig(self):
        r"""<p>支持事件监听器配置导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventListenerConfig

    @EventListenerConfig.setter
    def EventListenerConfig(self, EventListenerConfig):
        self._EventListenerConfig = EventListenerConfig

    @property
    def EventPublisherConfig(self):
        r"""<p>支持事件触发器配置导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventPublisherConfig

    @EventPublisherConfig.setter
    def EventPublisherConfig(self, EventPublisherConfig):
        self._EventPublisherConfig = EventPublisherConfig

    @property
    def DependencyConfigList(self):
        r"""<p>依赖配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of DependencyConfigDsDTO
        """
        return self._DependencyConfigList

    @DependencyConfigList.setter
    def DependencyConfigList(self, DependencyConfigList):
        self._DependencyConfigList = DependencyConfigList

    @property
    def VirtualTaskStatus(self):
        r"""<p>任务状态，取值范围：</p><ul><li>N 新建</li><li>Y 运行</li><li>F 停止</li><li>O 冻结</li><li>T 停止中</li><li>INVALID 已失效</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VirtualTaskStatus

    @VirtualTaskStatus.setter
    def VirtualTaskStatus(self, VirtualTaskStatus):
        self._VirtualTaskStatus = VirtualTaskStatus

    @property
    def RecycleTips(self):
        r"""<p>回收站还原提示语</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RecycleTips

    @RecycleTips.setter
    def RecycleTips(self, RecycleTips):
        self._RecycleTips = RecycleTips

    @property
    def RecycleUser(self):
        r"""<p>回收站所属用户</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RecycleUser

    @RecycleUser.setter
    def RecycleUser(self, RecycleUser):
        self._RecycleUser = RecycleUser

    @property
    def NewOrUpdate(self):
        r"""<p>新增 或 修改</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NewOrUpdate

    @NewOrUpdate.setter
    def NewOrUpdate(self, NewOrUpdate):
        self._NewOrUpdate = NewOrUpdate

    @property
    def Params(self):
        r"""<p>任务上游依赖信息 用于发布管理导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskDsDto
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def TaskLinkInfo(self):
        r"""<p>任务上游依赖信息 用于发布管理导入导出</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskLinkDsDTO
        """
        return self._TaskLinkInfo

    @TaskLinkInfo.setter
    def TaskLinkInfo(self, TaskLinkInfo):
        self._TaskLinkInfo = TaskLinkInfo

    @property
    def ImportResult(self):
        r"""<p>导入结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ImportResult

    @ImportResult.setter
    def ImportResult(self, ImportResult):
        self._ImportResult = ImportResult

    @property
    def ImportErrMsg(self):
        r"""<p>导入失败原因</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ImportErrMsg

    @ImportErrMsg.setter
    def ImportErrMsg(self, ImportErrMsg):
        self._ImportErrMsg = ImportErrMsg

    @property
    def ContentType(self):
        r"""<p>任务内容 全部内容 配置内容 资源内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ContentType

    @ContentType.setter
    def ContentType(self, ContentType):
        self._ContentType = ContentType

    @property
    def TaskAutoSubmit(self):
        r"""<p>是否导入提交运行</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._TaskAutoSubmit

    @TaskAutoSubmit.setter
    def TaskAutoSubmit(self, TaskAutoSubmit):
        self._TaskAutoSubmit = TaskAutoSubmit

    @property
    def ProductName(self):
        r"""<p>上层产品 数据质量 / 数据开发 / ...</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def OwnId(self):
        r"""<p>创建者账号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnId

    @OwnId.setter
    def OwnId(self, OwnId):
        self._OwnId = OwnId

    @property
    def UserId(self):
        r"""<p>子账号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def TenantId(self):
        r"""<p>租户id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def UpdateUser(self):
        r"""<p>最后修改的人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUser

    @UpdateUser.setter
    def UpdateUser(self, UpdateUser):
        self._UpdateUser = UpdateUser

    @property
    def UpdateTime(self):
        r"""<p>最后修改时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def UpdateUserId(self):
        r"""<p>最后修改的人的ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def SchedulerDesc(self):
        r"""<p>调度计划</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def ResourceGroup(self):
        r"""<p>资源组</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def VersionDesc(self):
        r"""<p>版本提交说明</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionDesc

    @VersionDesc.setter
    def VersionDesc(self, VersionDesc):
        self._VersionDesc = VersionDesc

    @property
    def LinkId(self):
        r"""<p>编排-删除添加的链接</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkId

    @LinkId.setter
    def LinkId(self, LinkId):
        self._LinkId = LinkId

    @property
    def UserFileId(self):
        r"""<p>脚本引用关系</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserFileId

    @UserFileId.setter
    def UserFileId(self, UserFileId):
        self._UserFileId = UserFileId

    @property
    def SourceServiceId(self):
        r"""<p>来源数据源ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceId

    @SourceServiceId.setter
    def SourceServiceId(self, SourceServiceId):
        self._SourceServiceId = SourceServiceId

    @property
    def SourceServiceType(self):
        r"""<p>来源数据源类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceType

    @SourceServiceType.setter
    def SourceServiceType(self, SourceServiceType):
        self._SourceServiceType = SourceServiceType

    @property
    def TargetServiceId(self):
        r"""<p>去向数据源ID</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceId

    @TargetServiceId.setter
    def TargetServiceId(self, TargetServiceId):
        self._TargetServiceId = TargetServiceId

    @property
    def TargetServiceType(self):
        r"""<p>去向数据源类型</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceType

    @TargetServiceType.setter
    def TargetServiceType(self, TargetServiceType):
        self._TargetServiceType = TargetServiceType

    @property
    def ParamInList(self):
        r"""<p>输入参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskInDsDto
        """
        return self._ParamInList

    @ParamInList.setter
    def ParamInList(self, ParamInList):
        self._ParamInList = ParamInList

    @property
    def ParamOutList(self):
        r"""<p>输出参数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskOutDsDto
        """
        return self._ParamOutList

    @ParamOutList.setter
    def ParamOutList(self, ParamOutList):
        self._ParamOutList = ParamOutList

    @property
    def TaskFolderId(self):
        r"""<p>任务文件夹id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFolderId

    @TaskFolderId.setter
    def TaskFolderId(self, TaskFolderId):
        self._TaskFolderId = TaskFolderId

    @property
    def MaxRetryAttempts(self):
        r"""<p>最大尝试次数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MaxRetryAttempts

    @MaxRetryAttempts.setter
    def MaxRetryAttempts(self, MaxRetryAttempts):
        self._MaxRetryAttempts = MaxRetryAttempts

    @property
    def ResourceGroupName(self):
        r"""<p>资源组名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroupName

    @ResourceGroupName.setter
    def ResourceGroupName(self, ResourceGroupName):
        self._ResourceGroupName = ResourceGroupName

    @property
    def SourceServiceName(self):
        r"""<p>数据源</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceName

    @SourceServiceName.setter
    def SourceServiceName(self, SourceServiceName):
        self._SourceServiceName = SourceServiceName

    @property
    def TaskRegisterOutputTable(self):
        r"""<p>任务产出登记</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskDataRegistryDTO
        """
        return self._TaskRegisterOutputTable

    @TaskRegisterOutputTable.setter
    def TaskRegisterOutputTable(self, TaskRegisterOutputTable):
        self._TaskRegisterOutputTable = TaskRegisterOutputTable

    @property
    def CycleDependencyConfigList(self):
        r"""<p>循环依赖配置</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskCycleLinkDTO
        """
        return self._CycleDependencyConfigList

    @CycleDependencyConfigList.setter
    def CycleDependencyConfigList(self, CycleDependencyConfigList):
        self._CycleDependencyConfigList = CycleDependencyConfigList

    @property
    def Warning(self):
        r"""<p>特殊警告信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Warning

    @Warning.setter
    def Warning(self, Warning):
        self._Warning = Warning

    @property
    def ScheduleRunType(self):
        r"""<p>0 正常调度 1 空跑调度</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ScheduleRunType

    @ScheduleRunType.setter
    def ScheduleRunType(self, ScheduleRunType):
        self._ScheduleRunType = ScheduleRunType

    @property
    def ConcurrentStrategy(self):
        r"""<p>0 并发度达到上限时，本次排队等待 1 并发度达到上限时，本次不执行，直接kill</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConcurrentStrategy

    @ConcurrentStrategy.setter
    def ConcurrentStrategy(self, ConcurrentStrategy):
        self._ConcurrentStrategy = ConcurrentStrategy

    @property
    def ScheduleTimeZone(self):
        r"""<p>UTC+8;UDC-8</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def TemplateId(self):
        r"""<p>引用的代码模版id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TemplateId

    @TemplateId.setter
    def TemplateId(self, TemplateId):
        self._TemplateId = TemplateId

    @property
    def AllowRedoType(self):
        r"""<p>允许重跑类 ALL 无论实例成功或者失败，都允许重跑 FAILURE 只有失败的实例允许重跑，成功的实例不允许重跑 NONE 无论成功或者失败，都不允许重跑</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AllowRedoType

    @AllowRedoType.setter
    def AllowRedoType(self, AllowRedoType):
        self._AllowRedoType = AllowRedoType

    @property
    def BundleId(self):
        r"""<p>BundleId<br>CI/CD工程生成的bundle唯一标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleId

    @BundleId.setter
    def BundleId(self, BundleId):
        self._BundleId = BundleId

    @property
    def BundleInfo(self):
        r"""<p>bundle信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleInfo

    @BundleInfo.setter
    def BundleInfo(self, BundleInfo):
        self._BundleInfo = BundleInfo

    @property
    def AllowDownstreamDependency(self):
        r"""<p>是否允许下游依赖 0 不允许 1 允许</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._AllowDownstreamDependency

    @AllowDownstreamDependency.setter
    def AllowDownstreamDependency(self, AllowDownstreamDependency):
        self._AllowDownstreamDependency = AllowDownstreamDependency

    @property
    def DependencyTriggerPolicy(self):
        r"""<ul><li>任务依赖运行条件，默认为ALL_SUCCESS，暂时只支持工作流调度项目下配置</li><li>ALL_SUCCESS： 全部成功：所有上游依赖任务都达到终态时，进行依赖判断，如果上游全部都成功，则依赖判断成功，否则如果上游有一个跳过运行，则标记为跳过运行，其余情况标记为上游失败</li><li>ALL_FAILED：全部失败：所有上游依赖任务都达到终态时，进行依赖判断，如果上游状态都是失败或者上游失败，则依赖判断成功，否则就标记为跳过运行</li><li>ALL_DONE：全部完成：所有上游依赖任务都达到终态时，进行依赖判断，直接是依赖判断成功</li><li>ALL_DONE_AT_LEAST_ONE_SUCCESS：上游全部完成至少一个成功: 所有上游依赖任务都达到终态时，进行依赖判断，至少有一个成功，则依赖判断成功，否则就是跳过运行</li><li>ALL_SKIPPED：上游全部都跳过: 所有上游依赖任务都达到终态时，进行依赖判断，所有的上游都是跳过状态才算依赖判断成功，否则当前节点就是跳过运行</li><li>ONE_FAILED：至少一个失败: 上游只要有一个失败了，就进行依赖判断，且依赖判断成功，如果上游全部完成但是没有失败，则跳过运行</li><li>ONE_SUCCESS：至少一个成功：上游只要有一个成功，就进行依赖判断，且依赖判断成功，如果上游全部完成但是没有成功，则跳过运行</li><li>ONE_DONE：至少一个完成：上游只要有一个完成了，就进行依赖判断，且依赖判断成功，否则还是等待上游</li><li>NONE_FAILED：上游全部完成，没有失败: 所有上游依赖任务都达到终态时，进行依赖判断，如果上游都是成功或者跳过运行，则依赖判断成功，否则标记为上游失败</li><li>ALL_DONE_NONE_FAILED_AT_LEAST_ONE_SUCCESS：上游全部完成，没有失败，至少有一个成功: 所有上游依赖任务都达到终态时，进行依赖判断，上游没有一个失败且至少有一个成功的情况下，依赖判断成功，否则就是跳过运行</li><li>NONE_SKIPPED：上游全部完成，没有跳过运行: 所有上游依赖任务都达到终态时，进行依赖判断, 如果上游状态全部都是成功、失败、上游失败状态，则依赖判断成功，否则为跳过运行</li><li>ALL_DONE_AT_LEAST_ONE_FAILED：上游全部完成至少一个失败: 所有上游依赖任务都达到终态时，进行依赖判断，至少有一个失败，则依赖判断成功，否则就是跳过运行</li></ul>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyTriggerPolicy

    @DependencyTriggerPolicy.setter
    def DependencyTriggerPolicy(self, DependencyTriggerPolicy):
        self._DependencyTriggerPolicy = DependencyTriggerPolicy

    @property
    def LastUpdateTimestamp(self):
        r"""<p>任务最后更新时间戳</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._LastUpdateTimestamp

    @LastUpdateTimestamp.setter
    def LastUpdateTimestamp(self, LastUpdateTimestamp):
        self._LastUpdateTimestamp = LastUpdateTimestamp


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._VirtualTaskId = params.get("VirtualTaskId")
        self._VirtualFlag = params.get("VirtualFlag")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._RealWorkflowId = params.get("RealWorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._CreateTime = params.get("CreateTime")
        self._LastUpdate = params.get("LastUpdate")
        self._Status = params.get("Status")
        self._InCharge = params.get("InCharge")
        self._InChargeId = params.get("InChargeId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._RetryWait = params.get("RetryWait")
        self._Retriable = params.get("Retriable")
        self._TaskAction = params.get("TaskAction")
        self._TryLimit = params.get("TryLimit")
        self._RunPriority = params.get("RunPriority")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeDsVO()
            self._TaskType._deserialize(params.get("TaskType"))
        self._BrokerIp = params.get("BrokerIp")
        self._ClusterId = params.get("ClusterId")
        self._MinDateTime = params.get("MinDateTime")
        self._MaxDateTime = params.get("MaxDateTime")
        self._ExecutionTTL = params.get("ExecutionTTL")
        self._SelfDepend = params.get("SelfDepend")
        self._LeftCoordinate = params.get("LeftCoordinate")
        self._TopCoordinate = params.get("TopCoordinate")
        if params.get("TaskExt") is not None:
            self._TaskExt = TaskExtDsVO()
            self._TaskExt._deserialize(params.get("TaskExt"))
        self._Properties = params.get("Properties")
        self._Notes = params.get("Notes")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._YarnQueue = params.get("YarnQueue")
        if params.get("Alarms") is not None:
            self._Alarms = []
            for item in params.get("Alarms"):
                obj = AlarmDsVO()
                obj._deserialize(item)
                self._Alarms.append(obj)
        self._Alarm = params.get("Alarm")
        self._ScriptChange = params.get("ScriptChange")
        self._Submit = params.get("Submit")
        self._LastSchedulerCommitTime = params.get("LastSchedulerCommitTime")
        self._NormalizedJobStartTime = params.get("NormalizedJobStartTime")
        self._RecoverFreezeStartTime = params.get("RecoverFreezeStartTime")
        self._SourceServer = params.get("SourceServer")
        self._TargetServer = params.get("TargetServer")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = TaskDsDTO()
                obj._deserialize(item)
                self._Tasks.append(obj)
        self._Creater = params.get("Creater")
        self._DependencyRel = params.get("DependencyRel")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._EventListenerConfig = params.get("EventListenerConfig")
        self._EventPublisherConfig = params.get("EventPublisherConfig")
        if params.get("DependencyConfigList") is not None:
            self._DependencyConfigList = []
            for item in params.get("DependencyConfigList"):
                obj = DependencyConfigDsDTO()
                obj._deserialize(item)
                self._DependencyConfigList.append(obj)
        self._VirtualTaskStatus = params.get("VirtualTaskStatus")
        self._RecycleTips = params.get("RecycleTips")
        self._RecycleUser = params.get("RecycleUser")
        self._NewOrUpdate = params.get("NewOrUpdate")
        if params.get("Params") is not None:
            self._Params = []
            for item in params.get("Params"):
                obj = ParameterTaskDsDto()
                obj._deserialize(item)
                self._Params.append(obj)
        if params.get("TaskLinkInfo") is not None:
            self._TaskLinkInfo = []
            for item in params.get("TaskLinkInfo"):
                obj = TaskLinkDsDTO()
                obj._deserialize(item)
                self._TaskLinkInfo.append(obj)
        self._ImportResult = params.get("ImportResult")
        self._ImportErrMsg = params.get("ImportErrMsg")
        self._ContentType = params.get("ContentType")
        self._TaskAutoSubmit = params.get("TaskAutoSubmit")
        self._ProductName = params.get("ProductName")
        self._OwnId = params.get("OwnId")
        self._UserId = params.get("UserId")
        self._TenantId = params.get("TenantId")
        self._UpdateUser = params.get("UpdateUser")
        self._UpdateTime = params.get("UpdateTime")
        self._UpdateUserId = params.get("UpdateUserId")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._ResourceGroup = params.get("ResourceGroup")
        self._VersionDesc = params.get("VersionDesc")
        self._LinkId = params.get("LinkId")
        self._UserFileId = params.get("UserFileId")
        self._SourceServiceId = params.get("SourceServiceId")
        self._SourceServiceType = params.get("SourceServiceType")
        self._TargetServiceId = params.get("TargetServiceId")
        self._TargetServiceType = params.get("TargetServiceType")
        if params.get("ParamInList") is not None:
            self._ParamInList = []
            for item in params.get("ParamInList"):
                obj = ParameterTaskInDsDto()
                obj._deserialize(item)
                self._ParamInList.append(obj)
        if params.get("ParamOutList") is not None:
            self._ParamOutList = []
            for item in params.get("ParamOutList"):
                obj = ParameterTaskOutDsDto()
                obj._deserialize(item)
                self._ParamOutList.append(obj)
        self._TaskFolderId = params.get("TaskFolderId")
        self._MaxRetryAttempts = params.get("MaxRetryAttempts")
        self._ResourceGroupName = params.get("ResourceGroupName")
        self._SourceServiceName = params.get("SourceServiceName")
        if params.get("TaskRegisterOutputTable") is not None:
            self._TaskRegisterOutputTable = []
            for item in params.get("TaskRegisterOutputTable"):
                obj = TaskDataRegistryDTO()
                obj._deserialize(item)
                self._TaskRegisterOutputTable.append(obj)
        if params.get("CycleDependencyConfigList") is not None:
            self._CycleDependencyConfigList = []
            for item in params.get("CycleDependencyConfigList"):
                obj = TaskCycleLinkDTO()
                obj._deserialize(item)
                self._CycleDependencyConfigList.append(obj)
        self._Warning = params.get("Warning")
        self._ScheduleRunType = params.get("ScheduleRunType")
        self._ConcurrentStrategy = params.get("ConcurrentStrategy")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._TemplateId = params.get("TemplateId")
        self._AllowRedoType = params.get("AllowRedoType")
        self._BundleId = params.get("BundleId")
        self._BundleInfo = params.get("BundleInfo")
        self._AllowDownstreamDependency = params.get("AllowDownstreamDependency")
        self._DependencyTriggerPolicy = params.get("DependencyTriggerPolicy")
        self._LastUpdateTimestamp = params.get("LastUpdateTimestamp")
        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 TaskExtDsVO(AbstractModel):
    r"""属性配置

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _Properties: 任务属性
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: list of ParamInfoDs
        :param _DryRunExtAttributes: 任务试运行扩展业务属性
注意：此字段可能返回 null，表示取不到有效值。
        :type DryRunExtAttributes: list of AttributeItemDsVO
        :param _DryRunParameter: 任务试运行动态传参
注意：此字段可能返回 null，表示取不到有效值。
        :type DryRunParameter: list of AttributeItemDsVO
        """
        self._TaskId = None
        self._Properties = None
        self._DryRunExtAttributes = None
        self._DryRunParameter = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Properties(self):
        r"""任务属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfoDs
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def DryRunExtAttributes(self):
        r"""任务试运行扩展业务属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AttributeItemDsVO
        """
        return self._DryRunExtAttributes

    @DryRunExtAttributes.setter
    def DryRunExtAttributes(self, DryRunExtAttributes):
        self._DryRunExtAttributes = DryRunExtAttributes

    @property
    def DryRunParameter(self):
        r"""任务试运行动态传参
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AttributeItemDsVO
        """
        return self._DryRunParameter

    @DryRunParameter.setter
    def DryRunParameter(self, DryRunParameter):
        self._DryRunParameter = DryRunParameter


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        if params.get("Properties") is not None:
            self._Properties = []
            for item in params.get("Properties"):
                obj = ParamInfoDs()
                obj._deserialize(item)
                self._Properties.append(obj)
        if params.get("DryRunExtAttributes") is not None:
            self._DryRunExtAttributes = []
            for item in params.get("DryRunExtAttributes"):
                obj = AttributeItemDsVO()
                obj._deserialize(item)
                self._DryRunExtAttributes.append(obj)
        if params.get("DryRunParameter") is not None:
            self._DryRunParameter = []
            for item in params.get("DryRunParameter"):
                obj = AttributeItemDsVO()
                obj._deserialize(item)
                self._DryRunParameter.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 TaskExtInfo(AbstractModel):
    r"""任务扩展信息

    """

    def __init__(self):
        r"""
        :param _Key: 键
        :type Key: str
        :param _Value: 值
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""键
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""值
        :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 TaskExtOpsDto(AbstractModel):
    r"""任务扩展信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _Properties: 任务属性（key-value 形式）
注意：此字段可能返回 null，表示取不到有效值。
        :type Properties: :class:`tencentcloud.wedata.v20210820.models.StrToStrMap`
        :param _DryRunExtAttributes: 任务试运行-扩展业务属性
注意：此字段可能返回 null，表示取不到有效值。
        :type DryRunExtAttributes: list of AttributeItemOpsDto
        :param _DryRunParameter: 任务试运行动态传参
注意：此字段可能返回 null，表示取不到有效值。
        :type DryRunParameter: list of AttributeItemOpsDto
        """
        self._TaskId = None
        self._Properties = None
        self._DryRunExtAttributes = None
        self._DryRunParameter = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Properties(self):
        r"""任务属性（key-value 形式）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.StrToStrMap`
        """
        return self._Properties

    @Properties.setter
    def Properties(self, Properties):
        self._Properties = Properties

    @property
    def DryRunExtAttributes(self):
        r"""任务试运行-扩展业务属性
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AttributeItemOpsDto
        """
        return self._DryRunExtAttributes

    @DryRunExtAttributes.setter
    def DryRunExtAttributes(self, DryRunExtAttributes):
        self._DryRunExtAttributes = DryRunExtAttributes

    @property
    def DryRunParameter(self):
        r"""任务试运行动态传参
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AttributeItemOpsDto
        """
        return self._DryRunParameter

    @DryRunParameter.setter
    def DryRunParameter(self, DryRunParameter):
        self._DryRunParameter = DryRunParameter


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        if params.get("Properties") is not None:
            self._Properties = StrToStrMap()
            self._Properties._deserialize(params.get("Properties"))
        if params.get("DryRunExtAttributes") is not None:
            self._DryRunExtAttributes = []
            for item in params.get("DryRunExtAttributes"):
                obj = AttributeItemOpsDto()
                obj._deserialize(item)
                self._DryRunExtAttributes.append(obj)
        if params.get("DryRunParameter") is not None:
            self._DryRunParameter = []
            for item in params.get("DryRunParameter"):
                obj = AttributeItemOpsDto()
                obj._deserialize(item)
                self._DryRunParameter.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 TaskFormParams(AbstractModel):
    r"""任务参数

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _MapParamList: 参数值
注意：此字段可能返回 null，表示取不到有效值。
        :type MapParamList: list of ParamMapDsDto
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _InChargeId: 负责人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _InCharge: 负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProductName: 任务类型
普通任务：dev
子任务：dev_container
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductName: str
        :param _LatestSavedVersion: 如果最新保存版本和调度版本不一致，显示最新保存版本
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestSavedVersion: str
        :param _LatestSavedVersionId: 保存版本ID
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestSavedVersionId: str
        :param _Status: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        """
        self._TaskId = None
        self._MapParamList = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._InChargeId = None
        self._InCharge = None
        self._TaskName = None
        self._ProductName = None
        self._LatestSavedVersion = None
        self._LatestSavedVersionId = None
        self._Status = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def MapParamList(self):
        r"""参数值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamMapDsDto
        """
        return self._MapParamList

    @MapParamList.setter
    def MapParamList(self, MapParamList):
        self._MapParamList = MapParamList

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def InChargeId(self):
        r"""负责人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def InCharge(self):
        r"""负责人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProductName(self):
        r"""任务类型
普通任务：dev
子任务：dev_container
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def LatestSavedVersion(self):
        r"""如果最新保存版本和调度版本不一致，显示最新保存版本
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestSavedVersion

    @LatestSavedVersion.setter
    def LatestSavedVersion(self, LatestSavedVersion):
        self._LatestSavedVersion = LatestSavedVersion

    @property
    def LatestSavedVersionId(self):
        r"""保存版本ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestSavedVersionId

    @LatestSavedVersionId.setter
    def LatestSavedVersionId(self, LatestSavedVersionId):
        self._LatestSavedVersionId = LatestSavedVersionId

    @property
    def Status(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        if params.get("MapParamList") is not None:
            self._MapParamList = []
            for item in params.get("MapParamList"):
                obj = ParamMapDsDto()
                obj._deserialize(item)
                self._MapParamList.append(obj)
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._InChargeId = params.get("InChargeId")
        self._InCharge = params.get("InCharge")
        self._TaskName = params.get("TaskName")
        self._ProductName = params.get("ProductName")
        self._LatestSavedVersion = params.get("LatestSavedVersion")
        self._LatestSavedVersionId = params.get("LatestSavedVersionId")
        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 TaskImportInfo(AbstractModel):
    r"""集成任务导入到编排空间配置

    """

    def __init__(self):
        r"""
        :param _IsImport: 是否导入编排空间
注意：此字段可能返回 null，表示取不到有效值。
        :type IsImport: bool
        :param _IsNewWorkFlow: 是否新建工作流
注意：此字段可能返回 null，表示取不到有效值。
        :type IsNewWorkFlow: bool
        :param _WorkFlowFolderId: 工作流所属目录id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowFolderId: str
        :param _WorkFlowFolderName: 工作流所属目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowFolderName: str
        :param _WorkFlowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowId: str
        :param _WorkFlowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowName: str
        :param _TaskNameExistMode: 重名任务处理策略, 0:跳过,不导入; 1: 重命名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskNameExistMode: int
        :param _WorkFlowFolderPath: 工作流所属目录路径
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowFolderPath: str
        """
        self._IsImport = None
        self._IsNewWorkFlow = None
        self._WorkFlowFolderId = None
        self._WorkFlowFolderName = None
        self._WorkFlowId = None
        self._WorkFlowName = None
        self._TaskNameExistMode = None
        self._WorkFlowFolderPath = None

    @property
    def IsImport(self):
        r"""是否导入编排空间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsImport

    @IsImport.setter
    def IsImport(self, IsImport):
        self._IsImport = IsImport

    @property
    def IsNewWorkFlow(self):
        r"""是否新建工作流
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._IsNewWorkFlow

    @IsNewWorkFlow.setter
    def IsNewWorkFlow(self, IsNewWorkFlow):
        self._IsNewWorkFlow = IsNewWorkFlow

    @property
    def WorkFlowFolderId(self):
        r"""工作流所属目录id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowFolderId

    @WorkFlowFolderId.setter
    def WorkFlowFolderId(self, WorkFlowFolderId):
        self._WorkFlowFolderId = WorkFlowFolderId

    @property
    def WorkFlowFolderName(self):
        r"""工作流所属目录名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowFolderName

    @WorkFlowFolderName.setter
    def WorkFlowFolderName(self, WorkFlowFolderName):
        self._WorkFlowFolderName = WorkFlowFolderName

    @property
    def WorkFlowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowId

    @WorkFlowId.setter
    def WorkFlowId(self, WorkFlowId):
        self._WorkFlowId = WorkFlowId

    @property
    def WorkFlowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowName

    @WorkFlowName.setter
    def WorkFlowName(self, WorkFlowName):
        self._WorkFlowName = WorkFlowName

    @property
    def TaskNameExistMode(self):
        r"""重名任务处理策略, 0:跳过,不导入; 1: 重命名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskNameExistMode

    @TaskNameExistMode.setter
    def TaskNameExistMode(self, TaskNameExistMode):
        self._TaskNameExistMode = TaskNameExistMode

    @property
    def WorkFlowFolderPath(self):
        r"""工作流所属目录路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowFolderPath

    @WorkFlowFolderPath.setter
    def WorkFlowFolderPath(self, WorkFlowFolderPath):
        self._WorkFlowFolderPath = WorkFlowFolderPath


    def _deserialize(self, params):
        self._IsImport = params.get("IsImport")
        self._IsNewWorkFlow = params.get("IsNewWorkFlow")
        self._WorkFlowFolderId = params.get("WorkFlowFolderId")
        self._WorkFlowFolderName = params.get("WorkFlowFolderName")
        self._WorkFlowId = params.get("WorkFlowId")
        self._WorkFlowName = params.get("WorkFlowName")
        self._TaskNameExistMode = params.get("TaskNameExistMode")
        self._WorkFlowFolderPath = params.get("WorkFlowFolderPath")
        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 TaskInfoVo(AbstractModel):
    r"""任务信息

    """

    def __init__(self):
        r"""
        :param _AppID: 租户id
注意：此字段可能返回 null，表示取不到有效值。
        :type AppID: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TaskTypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _OnwerUid: 主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :type OnwerUid: str
        :param _InChargeId: 负责人
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _InstanceId: 实例id
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceId: str
        :param _JobId: jobId
注意：此字段可能返回 null，表示取不到有效值。
        :type JobId: str
        :param _EngineType: 引擎类型，DLC、EMR
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineType: str
        :param _EngineName: 引擎名称。在wedata侧若获取不到引擎名，则是wedata侧自动生成的标识，与集群侧的引擎名有可能不一致
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineName: str
        :param _EngineSubType: 引擎子类型
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineSubType: str
        :param _EngineTaskId: 引擎taskId，集成任务部分会使用资源组的资源运行任务，没有提交到引擎侧，所以没有引擎侧id

注意：此字段可能返回 null，表示取不到有效值。
        :type EngineTaskId: str
        :param _EngineExeStatus: 引擎执行状态，枚举
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeStatus: str
        :param _EngineExeUser: 引擎执行用户
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeUser: str
        :param _EngineExeStartTime: 引擎执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeStartTime: str
        :param _EngineExeEndTime: 引擎执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EngineExeEndTime: str
        :param _ProductSource: 数据来源,DATA_INTEGRATION、DATA_EXPLORATION、DATA_QUALITY、OM_CENTER等
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductSource: str
        :param _IntegrationType: 集成任务的任务类型，表明是读端还是写端，可选择READ、WRITE
注意：此字段可能返回 null，表示取不到有效值。
        :type IntegrationType: str
        """
        self._AppID = None
        self._ProjectId = None
        self._TaskId = None
        self._TaskName = None
        self._TaskTypeId = None
        self._OnwerUid = None
        self._InChargeId = None
        self._InstanceId = None
        self._JobId = None
        self._EngineType = None
        self._EngineName = None
        self._EngineSubType = None
        self._EngineTaskId = None
        self._EngineExeStatus = None
        self._EngineExeUser = None
        self._EngineExeStartTime = None
        self._EngineExeEndTime = None
        self._ProductSource = None
        self._IntegrationType = None

    @property
    def AppID(self):
        r"""租户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppID

    @AppID.setter
    def AppID(self, AppID):
        self._AppID = AppID

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TaskTypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def OnwerUid(self):
        r"""主账号id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OnwerUid

    @OnwerUid.setter
    def OnwerUid(self, OnwerUid):
        self._OnwerUid = OnwerUid

    @property
    def InChargeId(self):
        r"""负责人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def InstanceId(self):
        r"""实例id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceId

    @InstanceId.setter
    def InstanceId(self, InstanceId):
        self._InstanceId = InstanceId

    @property
    def JobId(self):
        r"""jobId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def EngineType(self):
        r"""引擎类型，DLC、EMR
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineType

    @EngineType.setter
    def EngineType(self, EngineType):
        self._EngineType = EngineType

    @property
    def EngineName(self):
        r"""引擎名称。在wedata侧若获取不到引擎名，则是wedata侧自动生成的标识，与集群侧的引擎名有可能不一致
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineName

    @EngineName.setter
    def EngineName(self, EngineName):
        self._EngineName = EngineName

    @property
    def EngineSubType(self):
        r"""引擎子类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineSubType

    @EngineSubType.setter
    def EngineSubType(self, EngineSubType):
        self._EngineSubType = EngineSubType

    @property
    def EngineTaskId(self):
        r"""引擎taskId，集成任务部分会使用资源组的资源运行任务，没有提交到引擎侧，所以没有引擎侧id

注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineTaskId

    @EngineTaskId.setter
    def EngineTaskId(self, EngineTaskId):
        self._EngineTaskId = EngineTaskId

    @property
    def EngineExeStatus(self):
        r"""引擎执行状态，枚举
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeStatus

    @EngineExeStatus.setter
    def EngineExeStatus(self, EngineExeStatus):
        self._EngineExeStatus = EngineExeStatus

    @property
    def EngineExeUser(self):
        r"""引擎执行用户
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeUser

    @EngineExeUser.setter
    def EngineExeUser(self, EngineExeUser):
        self._EngineExeUser = EngineExeUser

    @property
    def EngineExeStartTime(self):
        r"""引擎执行开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeStartTime

    @EngineExeStartTime.setter
    def EngineExeStartTime(self, EngineExeStartTime):
        self._EngineExeStartTime = EngineExeStartTime

    @property
    def EngineExeEndTime(self):
        r"""引擎执行结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EngineExeEndTime

    @EngineExeEndTime.setter
    def EngineExeEndTime(self, EngineExeEndTime):
        self._EngineExeEndTime = EngineExeEndTime

    @property
    def ProductSource(self):
        r"""数据来源,DATA_INTEGRATION、DATA_EXPLORATION、DATA_QUALITY、OM_CENTER等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProductSource

    @ProductSource.setter
    def ProductSource(self, ProductSource):
        self._ProductSource = ProductSource

    @property
    def IntegrationType(self):
        r"""集成任务的任务类型，表明是读端还是写端，可选择READ、WRITE
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._IntegrationType

    @IntegrationType.setter
    def IntegrationType(self, IntegrationType):
        self._IntegrationType = IntegrationType


    def _deserialize(self, params):
        self._AppID = params.get("AppID")
        self._ProjectId = params.get("ProjectId")
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._TaskTypeId = params.get("TaskTypeId")
        self._OnwerUid = params.get("OnwerUid")
        self._InChargeId = params.get("InChargeId")
        self._InstanceId = params.get("InstanceId")
        self._JobId = params.get("JobId")
        self._EngineType = params.get("EngineType")
        self._EngineName = params.get("EngineName")
        self._EngineSubType = params.get("EngineSubType")
        self._EngineTaskId = params.get("EngineTaskId")
        self._EngineExeStatus = params.get("EngineExeStatus")
        self._EngineExeUser = params.get("EngineExeUser")
        self._EngineExeStartTime = params.get("EngineExeStartTime")
        self._EngineExeEndTime = params.get("EngineExeEndTime")
        self._ProductSource = params.get("ProductSource")
        self._IntegrationType = params.get("IntegrationType")
        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 TaskInnerInfo(AbstractModel):
    r"""任务属性

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
        :type TaskId: str
        :param _TaskName: 任务名
        :type TaskName: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _CycleType: 周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :type CycleType: int
        :param _VirtualTaskId: 虚拟任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualTaskId: str
        :param _VirtualFlag: 虚拟任务标记
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualFlag: bool
        :param _RealWorkflowId: 真实任务工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type RealWorkflowId: str
        :param _CycleStep: 步长
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _TaskAction: 调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为 0,3,4。
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _DependencyRel: 分支，依赖关系，and/or, 默认and
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyRel: str
        :param _DependencyWorkflow: 是否支持工作流依赖 yes / no 默认 no
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyWorkflow: str
        """
        self._TaskId = None
        self._TaskName = None
        self._WorkflowId = None
        self._CycleType = None
        self._VirtualTaskId = None
        self._VirtualFlag = None
        self._RealWorkflowId = None
        self._CycleStep = None
        self._TaskAction = None
        self._DependencyRel = None
        self._DependencyWorkflow = None

    @property
    def TaskId(self):
        r"""任务ID
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def CycleType(self):
        r"""周期类型  0:crontab类型, 1:分钟，2:小时，3:天，4:周，5:月，6:一次性，7:用户驱动，10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型，与正常周期调度任务逻辑隔离
        :rtype: int
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def VirtualTaskId(self):
        r"""虚拟任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VirtualTaskId

    @VirtualTaskId.setter
    def VirtualTaskId(self, VirtualTaskId):
        self._VirtualTaskId = VirtualTaskId

    @property
    def VirtualFlag(self):
        r"""虚拟任务标记
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def RealWorkflowId(self):
        r"""真实任务工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealWorkflowId

    @RealWorkflowId.setter
    def RealWorkflowId(self, RealWorkflowId):
        self._RealWorkflowId = RealWorkflowId

    @property
    def CycleStep(self):
        r"""步长
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def TaskAction(self):
        r"""调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为 0,3,4。
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def DependencyRel(self):
        r"""分支，依赖关系，and/or, 默认and
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyRel

    @DependencyRel.setter
    def DependencyRel(self, DependencyRel):
        self._DependencyRel = DependencyRel

    @property
    def DependencyWorkflow(self):
        r"""是否支持工作流依赖 yes / no 默认 no
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._CycleType = params.get("CycleType")
        self._VirtualTaskId = params.get("VirtualTaskId")
        self._VirtualFlag = params.get("VirtualFlag")
        self._RealWorkflowId = params.get("RealWorkflowId")
        self._CycleStep = params.get("CycleStep")
        self._TaskAction = params.get("TaskAction")
        self._DependencyRel = params.get("DependencyRel")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        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 TaskInstanceCountDto(AbstractModel):
    r"""任务实例状态统计

    """

    def __init__(self):
        r"""
        :param _Success: 成功的实例数
        :type Success: int
        :param _Running: 执行中实例数
        :type Running: int
        :param _Waiting: 等待中的实例数
        :type Waiting: int
        :param _Depend: 等待上游实例数
        :type Depend: int
        :param _Failed: 失败实例数
        :type Failed: int
        :param _Stopped: 永久终止实例数
        :type Stopped: int
        """
        self._Success = None
        self._Running = None
        self._Waiting = None
        self._Depend = None
        self._Failed = None
        self._Stopped = None

    @property
    def Success(self):
        r"""成功的实例数
        :rtype: int
        """
        return self._Success

    @Success.setter
    def Success(self, Success):
        self._Success = Success

    @property
    def Running(self):
        r"""执行中实例数
        :rtype: int
        """
        return self._Running

    @Running.setter
    def Running(self, Running):
        self._Running = Running

    @property
    def Waiting(self):
        r"""等待中的实例数
        :rtype: int
        """
        return self._Waiting

    @Waiting.setter
    def Waiting(self, Waiting):
        self._Waiting = Waiting

    @property
    def Depend(self):
        r"""等待上游实例数
        :rtype: int
        """
        return self._Depend

    @Depend.setter
    def Depend(self, Depend):
        self._Depend = Depend

    @property
    def Failed(self):
        r"""失败实例数
        :rtype: int
        """
        return self._Failed

    @Failed.setter
    def Failed(self, Failed):
        self._Failed = Failed

    @property
    def Stopped(self):
        r"""永久终止实例数
        :rtype: int
        """
        return self._Stopped

    @Stopped.setter
    def Stopped(self, Stopped):
        self._Stopped = Stopped


    def _deserialize(self, params):
        self._Success = params.get("Success")
        self._Running = params.get("Running")
        self._Waiting = params.get("Waiting")
        self._Depend = params.get("Depend")
        self._Failed = params.get("Failed")
        self._Stopped = params.get("Stopped")
        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 TaskLineageInfo(AbstractModel):
    r"""任务集成信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务 ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TableUri: 表 URI，格式：dsn.name
注意：此字段可能返回 null，表示取不到有效值。
        :type TableUri: str
        :param _Type: 表方向类型
    - 0 - table作为源表
    - 1 - table作为目标表
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: int
        :param _DataSourceId: 数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceId: int
        :param _DataSourceType: 数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type DataSourceType: str
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _SchemaName: 模型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        """
        self._TaskId = None
        self._TaskName = None
        self._TableName = None
        self._TableUri = None
        self._Type = None
        self._DataSourceId = None
        self._DataSourceType = None
        self._DatabaseName = None
        self._SchemaName = None

    @property
    def TaskId(self):
        r"""任务 ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TableUri(self):
        r"""表 URI，格式：dsn.name
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableUri

    @TableUri.setter
    def TableUri(self, TableUri):
        self._TableUri = TableUri

    @property
    def Type(self):
        r"""表方向类型
    - 0 - table作为源表
    - 1 - table作为目标表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def DataSourceId(self):
        r"""数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DataSourceId

    @DataSourceId.setter
    def DataSourceId(self, DataSourceId):
        self._DataSourceId = DataSourceId

    @property
    def DataSourceType(self):
        r"""数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DataSourceType

    @DataSourceType.setter
    def DataSourceType(self, DataSourceType):
        self._DataSourceType = DataSourceType

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def SchemaName(self):
        r"""模型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._TableName = params.get("TableName")
        self._TableUri = params.get("TableUri")
        self._Type = params.get("Type")
        self._DataSourceId = params.get("DataSourceId")
        self._DataSourceType = params.get("DataSourceType")
        self._DatabaseName = params.get("DatabaseName")
        self._SchemaName = params.get("SchemaName")
        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 TaskLineageInfoPair(AbstractModel):
    r"""任务血缘信息，包括源表和目标表

    """

    def __init__(self):
        r"""
        :param _SourceTable: 表血缘-源表
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceTable: :class:`tencentcloud.wedata.v20210820.models.TaskLineageInfo`
        :param _TargetTable: 表血缘-目标表
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTable: :class:`tencentcloud.wedata.v20210820.models.TaskLineageInfo`
        """
        self._SourceTable = None
        self._TargetTable = None

    @property
    def SourceTable(self):
        r"""表血缘-源表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskLineageInfo`
        """
        return self._SourceTable

    @SourceTable.setter
    def SourceTable(self, SourceTable):
        self._SourceTable = SourceTable

    @property
    def TargetTable(self):
        r"""表血缘-目标表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskLineageInfo`
        """
        return self._TargetTable

    @TargetTable.setter
    def TargetTable(self, TargetTable):
        self._TargetTable = TargetTable


    def _deserialize(self, params):
        if params.get("SourceTable") is not None:
            self._SourceTable = TaskLineageInfo()
            self._SourceTable._deserialize(params.get("SourceTable"))
        if params.get("TargetTable") is not None:
            self._TargetTable = TaskLineageInfo()
            self._TargetTable._deserialize(params.get("TargetTable"))
        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 TaskLinkDsDTO(AbstractModel):
    r"""Task Link 信息

    """

    def __init__(self):
        r"""
        :param _TaskTo: TaskTo信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTo: str
        :param _TaskFrom: TaskFrom信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskFrom: str
        :param _LinkType: LinkType信息
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkType: str
        :param _LinkKey: key
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkKey: str
        :param _Id: LinkId信息
注意：此字段可能返回 null，表示取不到有效值。
        :type Id: str
        :param _InCharge: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _LinkDependencyType: 父子任务之间的依赖关系
注意：此字段可能返回 null，表示取不到有效值。
        :type LinkDependencyType: str
        :param _Offset: 父子任务之间依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :type Offset: int
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _RealFromTaskId: 实体任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type RealFromTaskId: str
        :param _RealFromTaskName: 实体任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type RealFromTaskName: str
        :param _RealFromWorkflowId: 实体任务所属工作流
注意：此字段可能返回 null，表示取不到有效值。
        :type RealFromWorkflowId: str
        :param _RealFromWorkflowName: 实体任务所属工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RealFromWorkflowName: str
        :param _RealProjectId: 实体任务所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type RealProjectId: str
        :param _RealProjectIdent: 实体任务所属项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type RealProjectIdent: str
        :param _RealProjectName: 实体任务所属项目名
注意：此字段可能返回 null，表示取不到有效值。
        :type RealProjectName: str
        :param _CurveType: 曲线类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CurveType: str
        """
        self._TaskTo = None
        self._TaskFrom = None
        self._LinkType = None
        self._LinkKey = None
        self._Id = None
        self._InCharge = None
        self._LinkDependencyType = None
        self._Offset = None
        self._WorkflowId = None
        self._RealFromTaskId = None
        self._RealFromTaskName = None
        self._RealFromWorkflowId = None
        self._RealFromWorkflowName = None
        self._RealProjectId = None
        self._RealProjectIdent = None
        self._RealProjectName = None
        self._CurveType = None

    @property
    def TaskTo(self):
        r"""TaskTo信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTo

    @TaskTo.setter
    def TaskTo(self, TaskTo):
        self._TaskTo = TaskTo

    @property
    def TaskFrom(self):
        r"""TaskFrom信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskFrom

    @TaskFrom.setter
    def TaskFrom(self, TaskFrom):
        self._TaskFrom = TaskFrom

    @property
    def LinkType(self):
        r"""LinkType信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkType

    @LinkType.setter
    def LinkType(self, LinkType):
        self._LinkType = LinkType

    @property
    def LinkKey(self):
        r"""key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkKey

    @LinkKey.setter
    def LinkKey(self, LinkKey):
        self._LinkKey = LinkKey

    @property
    def Id(self):
        r"""LinkId信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def InCharge(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def LinkDependencyType(self):
        r"""父子任务之间的依赖关系
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LinkDependencyType

    @LinkDependencyType.setter
    def LinkDependencyType(self, LinkDependencyType):
        self._LinkDependencyType = LinkDependencyType

    @property
    def Offset(self):
        r"""父子任务之间依赖偏移量
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Offset

    @Offset.setter
    def Offset(self, Offset):
        self._Offset = Offset

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def RealFromTaskId(self):
        r"""实体任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealFromTaskId

    @RealFromTaskId.setter
    def RealFromTaskId(self, RealFromTaskId):
        self._RealFromTaskId = RealFromTaskId

    @property
    def RealFromTaskName(self):
        r"""实体任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealFromTaskName

    @RealFromTaskName.setter
    def RealFromTaskName(self, RealFromTaskName):
        self._RealFromTaskName = RealFromTaskName

    @property
    def RealFromWorkflowId(self):
        r"""实体任务所属工作流
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealFromWorkflowId

    @RealFromWorkflowId.setter
    def RealFromWorkflowId(self, RealFromWorkflowId):
        self._RealFromWorkflowId = RealFromWorkflowId

    @property
    def RealFromWorkflowName(self):
        r"""实体任务所属工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealFromWorkflowName

    @RealFromWorkflowName.setter
    def RealFromWorkflowName(self, RealFromWorkflowName):
        self._RealFromWorkflowName = RealFromWorkflowName

    @property
    def RealProjectId(self):
        r"""实体任务所属项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealProjectId

    @RealProjectId.setter
    def RealProjectId(self, RealProjectId):
        self._RealProjectId = RealProjectId

    @property
    def RealProjectIdent(self):
        r"""实体任务所属项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealProjectIdent

    @RealProjectIdent.setter
    def RealProjectIdent(self, RealProjectIdent):
        self._RealProjectIdent = RealProjectIdent

    @property
    def RealProjectName(self):
        r"""实体任务所属项目名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealProjectName

    @RealProjectName.setter
    def RealProjectName(self, RealProjectName):
        self._RealProjectName = RealProjectName

    @property
    def CurveType(self):
        r"""曲线类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CurveType

    @CurveType.setter
    def CurveType(self, CurveType):
        self._CurveType = CurveType


    def _deserialize(self, params):
        self._TaskTo = params.get("TaskTo")
        self._TaskFrom = params.get("TaskFrom")
        self._LinkType = params.get("LinkType")
        self._LinkKey = params.get("LinkKey")
        self._Id = params.get("Id")
        self._InCharge = params.get("InCharge")
        self._LinkDependencyType = params.get("LinkDependencyType")
        self._Offset = params.get("Offset")
        self._WorkflowId = params.get("WorkflowId")
        self._RealFromTaskId = params.get("RealFromTaskId")
        self._RealFromTaskName = params.get("RealFromTaskName")
        self._RealFromWorkflowId = params.get("RealFromWorkflowId")
        self._RealFromWorkflowName = params.get("RealFromWorkflowName")
        self._RealProjectId = params.get("RealProjectId")
        self._RealProjectIdent = params.get("RealProjectIdent")
        self._RealProjectName = params.get("RealProjectName")
        self._CurveType = params.get("CurveType")
        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 TaskLockStatus(AbstractModel):
    r"""任务锁的状态

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _Locker: 持锁者
        :type Locker: str
        :param _IsLocker: 当前操作用户是否为持锁者，1表示为持锁者，0表示为不为持锁者
        :type IsLocker: int
        :param _IsRob: 是否可以抢锁，1表示可以抢锁，0表示不可以抢锁
        :type IsRob: int
        """
        self._TaskId = None
        self._Locker = None
        self._IsLocker = None
        self._IsRob = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def Locker(self):
        r"""持锁者
        :rtype: str
        """
        return self._Locker

    @Locker.setter
    def Locker(self, Locker):
        self._Locker = Locker

    @property
    def IsLocker(self):
        r"""当前操作用户是否为持锁者，1表示为持锁者，0表示为不为持锁者
        :rtype: int
        """
        return self._IsLocker

    @IsLocker.setter
    def IsLocker(self, IsLocker):
        self._IsLocker = IsLocker

    @property
    def IsRob(self):
        r"""是否可以抢锁，1表示可以抢锁，0表示不可以抢锁
        :rtype: int
        """
        return self._IsRob

    @IsRob.setter
    def IsRob(self, IsRob):
        self._IsRob = IsRob


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._Locker = params.get("Locker")
        self._IsLocker = params.get("IsLocker")
        self._IsRob = params.get("IsRob")
        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 TaskLogRequest(AbstractModel):
    r"""TaskLog请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _StartTime: 起始时间戳，单位毫秒
        :type StartTime: int
        :param _EndTime: 结束时间戳，单位毫秒
        :type EndTime: int
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _Limit: 拉取日志数量，默认100
        :type Limit: int
        :param _OrderType: 日志排序 desc 倒序 asc 顺序
        :type OrderType: str
        :param _TaskType: 实时任务 201   离线任务 202  默认实时任务
        :type TaskType: int
        """
        self._TaskId = None
        self._StartTime = None
        self._EndTime = None
        self._ProjectId = None
        self._Limit = None
        self._OrderType = None
        self._TaskType = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def StartTime(self):
        r"""起始时间戳，单位毫秒
        :rtype: int
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间戳，单位毫秒
        :rtype: int
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Limit(self):
        r"""拉取日志数量，默认100
        :rtype: int
        """
        return self._Limit

    @Limit.setter
    def Limit(self, Limit):
        self._Limit = Limit

    @property
    def OrderType(self):
        r"""日志排序 desc 倒序 asc 顺序
        :rtype: str
        """
        return self._OrderType

    @OrderType.setter
    def OrderType(self, OrderType):
        self._OrderType = OrderType

    @property
    def TaskType(self):
        r"""实时任务 201   离线任务 202  默认实时任务
        :rtype: int
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ProjectId = params.get("ProjectId")
        self._Limit = params.get("Limit")
        self._OrderType = params.get("OrderType")
        self._TaskType = params.get("TaskType")
        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 TaskLogResponse(AbstractModel):
    r"""TaskLog返回参数结构体

    """

    def __init__(self):
        r"""
        :param _LogContentList: 任务详细日志
        :type LogContentList: list of LogContent
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._LogContentList = None
        self._RequestId = None

    @property
    def LogContentList(self):
        r"""任务详细日志
        :rtype: list of LogContent
        """
        return self._LogContentList

    @LogContentList.setter
    def LogContentList(self, LogContentList):
        self._LogContentList = LogContentList

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("LogContentList") is not None:
            self._LogContentList = []
            for item in params.get("LogContentList"):
                obj = LogContent()
                obj._deserialize(item)
                self._LogContentList.append(obj)
        self._RequestId = params.get("RequestId")


class TaskOpsDto(AbstractModel):
    r"""任务运维详情

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _VirtualTaskId: 虚拟任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualTaskId: str
        :param _VirtualFlag: 虚拟任务标记
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualFlag: bool
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _RealWorkflowId: 任务为虚拟任务时，任务所在的真实工作流Id
注意：此字段可能返回 null，表示取不到有效值。
        :type RealWorkflowId: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _FolderId: 文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderName: 文件夹名字
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _LastUpdate: 最近更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastUpdate: str
        :param _Status: 任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _InCharge: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _InChargeId: 责任人用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _StartTime: 调度生效日期
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 调度结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _ExecutionStartTime: 执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _CycleType: 周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CycleStep: 步长
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _CrontabExpression: 调度cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type CrontabExpression: str
        :param _DelayTime: 延时执行时间，unit=分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _StartupTime: 开始执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartupTime: int
        :param _RetryWait: 重试等待时间, unit=分钟
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryWait: int
        :param _RetryAble: 是否可重试，1 代表可以重试
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryAble: int
        :param _TaskAction: 调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _TryLimit: 运行次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :type TryLimit: int
        :param _RunPriority: 运行优先级
注意：此字段可能返回 null，表示取不到有效值。
        :type RunPriority: int
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        :param _BrokerIp: 指定的运行节点
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerIp: str
        :param _ClusterId: 集群name
注意：此字段可能返回 null，表示取不到有效值。
        :type ClusterId: str
        :param _MinDateTime: 最小数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type MinDateTime: str
        :param _MaxDateTime: 最大数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxDateTime: str
        :param _ExecutionTTL: 运行耗时超时时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionTTL: int
        :param _SelfDepend: 自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfDepend: str
        :param _LeftCoordinate: 左侧坐标
注意：此字段可能返回 null，表示取不到有效值。
        :type LeftCoordinate: float
        :param _TopCoordinate: 顶部坐标
注意：此字段可能返回 null，表示取不到有效值。
        :type TopCoordinate: float
        :param _Notes: 任务备注
注意：此字段可能返回 null，表示取不到有效值。
        :type Notes: str
        :param _InstanceInitStrategy: 任务初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceInitStrategy: str
        :param _YarnQueue: 计算队列
注意：此字段可能返回 null，表示取不到有效值。
        :type YarnQueue: str
        :param _LastSchedulerCommitTime: 最新调度提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LastSchedulerCommitTime: str
        :param _NormalizedJobStartTime: 按cron表达式计算的任务开始执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type NormalizedJobStartTime: str
        :param _SchedulerDesc: 调度计划描述
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _ResourceGroup: 计算资源组
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceGroup: str
        :param _Creator: 任务创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _DependencyRel: 任务依赖类型 and、or
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyRel: str
        :param _DependencyWorkflow: 任务工作流依赖 yes、no
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyWorkflow: str
        :param _EventListenerConfig: 事件监听配置
注意：此字段可能返回 null，表示取不到有效值。
        :type EventListenerConfig: str
        :param _EventPublisherConfig: 事件驱动配置
注意：此字段可能返回 null，表示取不到有效值。
        :type EventPublisherConfig: str
        :param _VirtualTaskStatus: 虚拟任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :type VirtualTaskStatus: str
        :param _TaskLinkInfo: 任务依赖边详情
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskLinkInfo: :class:`tencentcloud.wedata.v20210820.models.LinkOpsDto`
        :param _ProductName: 任务产品类型
注意：此字段可能返回 null，表示取不到有效值。
        :type ProductName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _OwnId: 主账户userId
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnId: str
        :param _UserId: 用户userId
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _TenantId: 租户id
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _UpdateUser: 更新人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUser: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _UpdateUserId: 更新人userId
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _TaskTypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        :param _TaskTypeDesc: 任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeDesc: str
        :param _ShowWorkflow: 是否展示工作流
注意：此字段可能返回 null，表示取不到有效值。
        :type ShowWorkflow: bool
        :param _FirstSubmitTime: 首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstSubmitTime: str
        :param _FirstRunTime: 首次运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstRunTime: str
        :param _ScheduleDesc: 调度描述
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleDesc: str
        :param _CycleNum: 周期
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleNum: int
        :param _Crontab: 表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type Crontab: str
        :param _StartDate: 开始日期
注意：此字段可能返回 null，表示取不到有效值。
        :type StartDate: str
        :param _EndDate: 结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :type EndDate: str
        :param _CycleUnit: 周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleUnit: str
        :param _InitStrategy: 初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :type InitStrategy: str
        :param _Layer: 层级
注意：此字段可能返回 null，表示取不到有效值。
        :type Layer: str
        :param _SourceServiceId: 来源数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceId: str
        :param _SourceServiceType: 来源数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServiceType: str
        :param _TargetServiceId: 目标数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceId: str
        :param _TargetServiceType: 目标数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServiceType: str
        :param _TasksStr: 子任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type TasksStr: str
        :param _Submit: 任务版本是否已提交
注意：此字段可能返回 null，表示取不到有效值。
        :type Submit: bool
        :param _ExecutorGroupId: 资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupId: str
        :param _ExecutorGroupName: 资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutorGroupName: str
        :param _TaskExtInfo: 任务扩展信息(目前返沪离线同步的任务详情)
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskExtInfo: str
        :param _EventListenerInfos: 任务绑定的事件信息
注意：此字段可能返回 null，表示取不到有效值。
        :type EventListenerInfos: list of AiOpsEventListenerDTO
        :param _ScriptInfo: 脚本信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptInfo: :class:`tencentcloud.wedata.v20210820.models.AiopsScriptInfo`
        :param _DLCResourceConfig: DLC资源配置
注意：此字段可能返回 null，表示取不到有效值。
        :type DLCResourceConfig: :class:`tencentcloud.wedata.v20210820.models.AiopsDLCResourceConfigDto`
        :param _ParentTaskInfos: 父任务simple信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ParentTaskInfos: :class:`tencentcloud.wedata.v20210820.models.AiopsSimpleTaskDto`
        :param _ExtResourceFlag: 资源获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtResourceFlag: :class:`tencentcloud.wedata.v20210820.models.ExtResourceFlagDto`
        :param _NewParentTaskInfos: 父任务simple信息(新)
注意：此字段可能返回 null，表示取不到有效值。
        :type NewParentTaskInfos: list of AiopsSimpleTaskDto
        :param _SelfWorkFlowDependType: 任务自依赖类型：
yes： 任务需满足自依赖
no：任务无需满足自依赖
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfWorkFlowDependType: str
        :param _AllowRedoType: 允许重跑类型，ALL 表示无论实例运行成功还是失败都允许重跑，NONE表示无论成功或者失败都不允许重跑，FAILURE 表示只有运行失败才能重跑
        :type AllowRedoType: str
        :param _OwnerId: 负责人Id
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _Privileges: 当前用户对该任务的权限列表， 当前支持
CAN_MANAGE : 有权限管理操作
        :type Privileges: list of str
        :param _BundleId: bundle客户端唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleId: str
        :param _BundleInfo: bundle客户端信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleInfo: str
        :param _WorkflowType: 工作流类型
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowType: str
        :param _TaskExtDTO: 任务扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskExtDTO: :class:`tencentcloud.wedata.v20210820.models.TaskExtOpsDto`
        :param _ScheduleTimeZone: 任务时区
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        """
        self._TaskId = None
        self._VirtualTaskId = None
        self._VirtualFlag = None
        self._TaskName = None
        self._WorkflowId = None
        self._RealWorkflowId = None
        self._WorkflowName = None
        self._FolderId = None
        self._FolderName = None
        self._CreateTime = None
        self._LastUpdate = None
        self._Status = None
        self._InCharge = None
        self._InChargeId = None
        self._StartTime = None
        self._EndTime = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._DelayTime = None
        self._StartupTime = None
        self._RetryWait = None
        self._RetryAble = None
        self._TaskAction = None
        self._TryLimit = None
        self._RunPriority = None
        self._TaskType = None
        self._BrokerIp = None
        self._ClusterId = None
        self._MinDateTime = None
        self._MaxDateTime = None
        self._ExecutionTTL = None
        self._SelfDepend = None
        self._LeftCoordinate = None
        self._TopCoordinate = None
        self._Notes = None
        self._InstanceInitStrategy = None
        self._YarnQueue = None
        self._LastSchedulerCommitTime = None
        self._NormalizedJobStartTime = None
        self._SchedulerDesc = None
        self._ResourceGroup = None
        self._Creator = None
        self._DependencyRel = None
        self._DependencyWorkflow = None
        self._EventListenerConfig = None
        self._EventPublisherConfig = None
        self._VirtualTaskStatus = None
        self._TaskLinkInfo = None
        self._ProductName = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._OwnId = None
        self._UserId = None
        self._TenantId = None
        self._UpdateUser = None
        self._UpdateTime = None
        self._UpdateUserId = None
        self._TaskTypeId = None
        self._TaskTypeDesc = None
        self._ShowWorkflow = None
        self._FirstSubmitTime = None
        self._FirstRunTime = None
        self._ScheduleDesc = None
        self._CycleNum = None
        self._Crontab = None
        self._StartDate = None
        self._EndDate = None
        self._CycleUnit = None
        self._InitStrategy = None
        self._Layer = None
        self._SourceServiceId = None
        self._SourceServiceType = None
        self._TargetServiceId = None
        self._TargetServiceType = None
        self._TasksStr = None
        self._Submit = None
        self._ExecutorGroupId = None
        self._ExecutorGroupName = None
        self._TaskExtInfo = None
        self._EventListenerInfos = None
        self._ScriptInfo = None
        self._DLCResourceConfig = None
        self._ParentTaskInfos = None
        self._ExtResourceFlag = None
        self._NewParentTaskInfos = None
        self._SelfWorkFlowDependType = None
        self._AllowRedoType = None
        self._OwnerId = None
        self._Privileges = None
        self._BundleId = None
        self._BundleInfo = None
        self._WorkflowType = None
        self._TaskExtDTO = None
        self._ScheduleTimeZone = None

    @property
    def TaskId(self):
        r"""任务ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VirtualTaskId(self):
        r"""虚拟任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VirtualTaskId

    @VirtualTaskId.setter
    def VirtualTaskId(self, VirtualTaskId):
        self._VirtualTaskId = VirtualTaskId

    @property
    def VirtualFlag(self):
        r"""虚拟任务标记
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._VirtualFlag

    @VirtualFlag.setter
    def VirtualFlag(self, VirtualFlag):
        self._VirtualFlag = VirtualFlag

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def RealWorkflowId(self):
        r"""任务为虚拟任务时，任务所在的真实工作流Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RealWorkflowId

    @RealWorkflowId.setter
    def RealWorkflowId(self, RealWorkflowId):
        self._RealWorkflowId = RealWorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderName(self):
        r"""文件夹名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def LastUpdate(self):
        r"""最近更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastUpdate

    @LastUpdate.setter
    def LastUpdate(self, LastUpdate):
        self._LastUpdate = LastUpdate

    @property
    def Status(self):
        r"""任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def InCharge(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def InChargeId(self):
        r"""责任人用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def StartTime(self):
        r"""调度生效日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""调度结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def CycleType(self):
        r"""周期类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""步长
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""调度cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def DelayTime(self):
        r"""延时执行时间，unit=分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""开始执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def RetryWait(self):
        r"""重试等待时间, unit=分钟
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def RetryAble(self):
        r"""是否可重试，1 代表可以重试
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryAble

    @RetryAble.setter
    def RetryAble(self, RetryAble):
        self._RetryAble = RetryAble

    @property
    def TaskAction(self):
        r"""调度配置-弹性周期配置，小时/周/月/年调度才有，小时任务指定每天的0点3点4点跑，则为'0,3,4'
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def TryLimit(self):
        r"""运行次数限制
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TryLimit

    @TryLimit.setter
    def TryLimit(self, TryLimit):
        self._TryLimit = TryLimit

    @property
    def RunPriority(self):
        r"""运行优先级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RunPriority

    @RunPriority.setter
    def RunPriority(self, RunPriority):
        self._RunPriority = RunPriority

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeOpsDto`
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def BrokerIp(self):
        r"""指定的运行节点
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def ClusterId(self):
        r"""集群name
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ClusterId

    @ClusterId.setter
    def ClusterId(self, ClusterId):
        self._ClusterId = ClusterId

    @property
    def MinDateTime(self):
        r"""最小数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MinDateTime

    @MinDateTime.setter
    def MinDateTime(self, MinDateTime):
        self._MinDateTime = MinDateTime

    @property
    def MaxDateTime(self):
        r"""最大数据时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._MaxDateTime

    @MaxDateTime.setter
    def MaxDateTime(self, MaxDateTime):
        self._MaxDateTime = MaxDateTime

    @property
    def ExecutionTTL(self):
        r"""运行耗时超时时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ExecutionTTL

    @ExecutionTTL.setter
    def ExecutionTTL(self, ExecutionTTL):
        self._ExecutionTTL = ExecutionTTL

    @property
    def SelfDepend(self):
        r"""自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def LeftCoordinate(self):
        r"""左侧坐标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._LeftCoordinate

    @LeftCoordinate.setter
    def LeftCoordinate(self, LeftCoordinate):
        self._LeftCoordinate = LeftCoordinate

    @property
    def TopCoordinate(self):
        r"""顶部坐标
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TopCoordinate

    @TopCoordinate.setter
    def TopCoordinate(self, TopCoordinate):
        self._TopCoordinate = TopCoordinate

    @property
    def Notes(self):
        r"""任务备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Notes

    @Notes.setter
    def Notes(self, Notes):
        self._Notes = Notes

    @property
    def InstanceInitStrategy(self):
        r"""任务初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def YarnQueue(self):
        r"""计算队列
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._YarnQueue

    @YarnQueue.setter
    def YarnQueue(self, YarnQueue):
        self._YarnQueue = YarnQueue

    @property
    def LastSchedulerCommitTime(self):
        r"""最新调度提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastSchedulerCommitTime

    @LastSchedulerCommitTime.setter
    def LastSchedulerCommitTime(self, LastSchedulerCommitTime):
        self._LastSchedulerCommitTime = LastSchedulerCommitTime

    @property
    def NormalizedJobStartTime(self):
        r"""按cron表达式计算的任务开始执行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._NormalizedJobStartTime

    @NormalizedJobStartTime.setter
    def NormalizedJobStartTime(self, NormalizedJobStartTime):
        self._NormalizedJobStartTime = NormalizedJobStartTime

    @property
    def SchedulerDesc(self):
        r"""调度计划描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def ResourceGroup(self):
        r"""计算资源组
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def Creator(self):
        r"""任务创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def DependencyRel(self):
        r"""任务依赖类型 and、or
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyRel

    @DependencyRel.setter
    def DependencyRel(self, DependencyRel):
        self._DependencyRel = DependencyRel

    @property
    def DependencyWorkflow(self):
        r"""任务工作流依赖 yes、no
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def EventListenerConfig(self):
        r"""事件监听配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventListenerConfig

    @EventListenerConfig.setter
    def EventListenerConfig(self, EventListenerConfig):
        self._EventListenerConfig = EventListenerConfig

    @property
    def EventPublisherConfig(self):
        r"""事件驱动配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EventPublisherConfig

    @EventPublisherConfig.setter
    def EventPublisherConfig(self, EventPublisherConfig):
        self._EventPublisherConfig = EventPublisherConfig

    @property
    def VirtualTaskStatus(self):
        r"""虚拟任务状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VirtualTaskStatus

    @VirtualTaskStatus.setter
    def VirtualTaskStatus(self, VirtualTaskStatus):
        self._VirtualTaskStatus = VirtualTaskStatus

    @property
    def TaskLinkInfo(self):
        r"""任务依赖边详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.LinkOpsDto`
        """
        return self._TaskLinkInfo

    @TaskLinkInfo.setter
    def TaskLinkInfo(self, TaskLinkInfo):
        self._TaskLinkInfo = TaskLinkInfo

    @property
    def ProductName(self):
        r"""任务产品类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProductName

    @ProductName.setter
    def ProductName(self, ProductName):
        self._ProductName = ProductName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def OwnId(self):
        r"""主账户userId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnId

    @OwnId.setter
    def OwnId(self, OwnId):
        self._OwnId = OwnId

    @property
    def UserId(self):
        r"""用户userId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def TenantId(self):
        r"""租户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def UpdateUser(self):
        r"""更新人昵称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUser

    @UpdateUser.setter
    def UpdateUser(self, UpdateUser):
        self._UpdateUser = UpdateUser

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def UpdateUserId(self):
        r"""更新人userId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def TaskTypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId

    @property
    def TaskTypeDesc(self):
        r"""任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTypeDesc

    @TaskTypeDesc.setter
    def TaskTypeDesc(self, TaskTypeDesc):
        self._TaskTypeDesc = TaskTypeDesc

    @property
    def ShowWorkflow(self):
        r"""是否展示工作流
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ShowWorkflow

    @ShowWorkflow.setter
    def ShowWorkflow(self, ShowWorkflow):
        self._ShowWorkflow = ShowWorkflow

    @property
    def FirstSubmitTime(self):
        r"""首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstSubmitTime

    @FirstSubmitTime.setter
    def FirstSubmitTime(self, FirstSubmitTime):
        self._FirstSubmitTime = FirstSubmitTime

    @property
    def FirstRunTime(self):
        r"""首次运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstRunTime

    @FirstRunTime.setter
    def FirstRunTime(self, FirstRunTime):
        self._FirstRunTime = FirstRunTime

    @property
    def ScheduleDesc(self):
        r"""调度描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleDesc

    @ScheduleDesc.setter
    def ScheduleDesc(self, ScheduleDesc):
        self._ScheduleDesc = ScheduleDesc

    @property
    def CycleNum(self):
        r"""周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleNum

    @CycleNum.setter
    def CycleNum(self, CycleNum):
        self._CycleNum = CycleNum

    @property
    def Crontab(self):
        r"""表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Crontab

    @Crontab.setter
    def Crontab(self, Crontab):
        self._Crontab = Crontab

    @property
    def StartDate(self):
        r"""开始日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartDate

    @StartDate.setter
    def StartDate(self, StartDate):
        self._StartDate = StartDate

    @property
    def EndDate(self):
        r"""结束日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndDate

    @EndDate.setter
    def EndDate(self, EndDate):
        self._EndDate = EndDate

    @property
    def CycleUnit(self):
        r"""周期单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleUnit

    @CycleUnit.setter
    def CycleUnit(self, CycleUnit):
        self._CycleUnit = CycleUnit

    @property
    def InitStrategy(self):
        r"""初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InitStrategy

    @InitStrategy.setter
    def InitStrategy(self, InitStrategy):
        self._InitStrategy = InitStrategy

    @property
    def Layer(self):
        r"""层级
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Layer

    @Layer.setter
    def Layer(self, Layer):
        self._Layer = Layer

    @property
    def SourceServiceId(self):
        r"""来源数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceId

    @SourceServiceId.setter
    def SourceServiceId(self, SourceServiceId):
        self._SourceServiceId = SourceServiceId

    @property
    def SourceServiceType(self):
        r"""来源数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServiceType

    @SourceServiceType.setter
    def SourceServiceType(self, SourceServiceType):
        self._SourceServiceType = SourceServiceType

    @property
    def TargetServiceId(self):
        r"""目标数据源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceId

    @TargetServiceId.setter
    def TargetServiceId(self, TargetServiceId):
        self._TargetServiceId = TargetServiceId

    @property
    def TargetServiceType(self):
        r"""目标数据源类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServiceType

    @TargetServiceType.setter
    def TargetServiceType(self, TargetServiceType):
        self._TargetServiceType = TargetServiceType

    @property
    def TasksStr(self):
        r"""子任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TasksStr

    @TasksStr.setter
    def TasksStr(self, TasksStr):
        self._TasksStr = TasksStr

    @property
    def Submit(self):
        r"""任务版本是否已提交
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Submit

    @Submit.setter
    def Submit(self, Submit):
        self._Submit = Submit

    @property
    def ExecutorGroupId(self):
        r"""资源组id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ExecutorGroupName(self):
        r"""资源组名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutorGroupName

    @ExecutorGroupName.setter
    def ExecutorGroupName(self, ExecutorGroupName):
        self._ExecutorGroupName = ExecutorGroupName

    @property
    def TaskExtInfo(self):
        r"""任务扩展信息(目前返沪离线同步的任务详情)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskExtInfo

    @TaskExtInfo.setter
    def TaskExtInfo(self, TaskExtInfo):
        self._TaskExtInfo = TaskExtInfo

    @property
    def EventListenerInfos(self):
        r"""任务绑定的事件信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AiOpsEventListenerDTO
        """
        return self._EventListenerInfos

    @EventListenerInfos.setter
    def EventListenerInfos(self, EventListenerInfos):
        self._EventListenerInfos = EventListenerInfos

    @property
    def ScriptInfo(self):
        r"""脚本信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AiopsScriptInfo`
        """
        return self._ScriptInfo

    @ScriptInfo.setter
    def ScriptInfo(self, ScriptInfo):
        self._ScriptInfo = ScriptInfo

    @property
    def DLCResourceConfig(self):
        r"""DLC资源配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AiopsDLCResourceConfigDto`
        """
        return self._DLCResourceConfig

    @DLCResourceConfig.setter
    def DLCResourceConfig(self, DLCResourceConfig):
        self._DLCResourceConfig = DLCResourceConfig

    @property
    def ParentTaskInfos(self):
        r"""父任务simple信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.AiopsSimpleTaskDto`
        """
        return self._ParentTaskInfos

    @ParentTaskInfos.setter
    def ParentTaskInfos(self, ParentTaskInfos):
        self._ParentTaskInfos = ParentTaskInfos

    @property
    def ExtResourceFlag(self):
        r"""资源获取标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ExtResourceFlagDto`
        """
        return self._ExtResourceFlag

    @ExtResourceFlag.setter
    def ExtResourceFlag(self, ExtResourceFlag):
        self._ExtResourceFlag = ExtResourceFlag

    @property
    def NewParentTaskInfos(self):
        r"""父任务simple信息(新)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of AiopsSimpleTaskDto
        """
        return self._NewParentTaskInfos

    @NewParentTaskInfos.setter
    def NewParentTaskInfos(self, NewParentTaskInfos):
        self._NewParentTaskInfos = NewParentTaskInfos

    @property
    def SelfWorkFlowDependType(self):
        r"""任务自依赖类型：
yes： 任务需满足自依赖
no：任务无需满足自依赖
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfWorkFlowDependType

    @SelfWorkFlowDependType.setter
    def SelfWorkFlowDependType(self, SelfWorkFlowDependType):
        self._SelfWorkFlowDependType = SelfWorkFlowDependType

    @property
    def AllowRedoType(self):
        r"""允许重跑类型，ALL 表示无论实例运行成功还是失败都允许重跑，NONE表示无论成功或者失败都不允许重跑，FAILURE 表示只有运行失败才能重跑
        :rtype: str
        """
        return self._AllowRedoType

    @AllowRedoType.setter
    def AllowRedoType(self, AllowRedoType):
        self._AllowRedoType = AllowRedoType

    @property
    def OwnerId(self):
        r"""负责人Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def Privileges(self):
        r"""当前用户对该任务的权限列表， 当前支持
CAN_MANAGE : 有权限管理操作
        :rtype: list of str
        """
        return self._Privileges

    @Privileges.setter
    def Privileges(self, Privileges):
        self._Privileges = Privileges

    @property
    def BundleId(self):
        r"""bundle客户端唯一id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleId

    @BundleId.setter
    def BundleId(self, BundleId):
        self._BundleId = BundleId

    @property
    def BundleInfo(self):
        r"""bundle客户端信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleInfo

    @BundleInfo.setter
    def BundleInfo(self, BundleInfo):
        self._BundleInfo = BundleInfo

    @property
    def WorkflowType(self):
        r"""工作流类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType

    @property
    def TaskExtDTO(self):
        r"""任务扩展信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskExtOpsDto`
        """
        return self._TaskExtDTO

    @TaskExtDTO.setter
    def TaskExtDTO(self, TaskExtDTO):
        self._TaskExtDTO = TaskExtDTO

    @property
    def ScheduleTimeZone(self):
        r"""任务时区
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._VirtualTaskId = params.get("VirtualTaskId")
        self._VirtualFlag = params.get("VirtualFlag")
        self._TaskName = params.get("TaskName")
        self._WorkflowId = params.get("WorkflowId")
        self._RealWorkflowId = params.get("RealWorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._FolderName = params.get("FolderName")
        self._CreateTime = params.get("CreateTime")
        self._LastUpdate = params.get("LastUpdate")
        self._Status = params.get("Status")
        self._InCharge = params.get("InCharge")
        self._InChargeId = params.get("InChargeId")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._RetryWait = params.get("RetryWait")
        self._RetryAble = params.get("RetryAble")
        self._TaskAction = params.get("TaskAction")
        self._TryLimit = params.get("TryLimit")
        self._RunPriority = params.get("RunPriority")
        if params.get("TaskType") is not None:
            self._TaskType = TaskTypeOpsDto()
            self._TaskType._deserialize(params.get("TaskType"))
        self._BrokerIp = params.get("BrokerIp")
        self._ClusterId = params.get("ClusterId")
        self._MinDateTime = params.get("MinDateTime")
        self._MaxDateTime = params.get("MaxDateTime")
        self._ExecutionTTL = params.get("ExecutionTTL")
        self._SelfDepend = params.get("SelfDepend")
        self._LeftCoordinate = params.get("LeftCoordinate")
        self._TopCoordinate = params.get("TopCoordinate")
        self._Notes = params.get("Notes")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._YarnQueue = params.get("YarnQueue")
        self._LastSchedulerCommitTime = params.get("LastSchedulerCommitTime")
        self._NormalizedJobStartTime = params.get("NormalizedJobStartTime")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._ResourceGroup = params.get("ResourceGroup")
        self._Creator = params.get("Creator")
        self._DependencyRel = params.get("DependencyRel")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._EventListenerConfig = params.get("EventListenerConfig")
        self._EventPublisherConfig = params.get("EventPublisherConfig")
        self._VirtualTaskStatus = params.get("VirtualTaskStatus")
        if params.get("TaskLinkInfo") is not None:
            self._TaskLinkInfo = LinkOpsDto()
            self._TaskLinkInfo._deserialize(params.get("TaskLinkInfo"))
        self._ProductName = params.get("ProductName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._OwnId = params.get("OwnId")
        self._UserId = params.get("UserId")
        self._TenantId = params.get("TenantId")
        self._UpdateUser = params.get("UpdateUser")
        self._UpdateTime = params.get("UpdateTime")
        self._UpdateUserId = params.get("UpdateUserId")
        self._TaskTypeId = params.get("TaskTypeId")
        self._TaskTypeDesc = params.get("TaskTypeDesc")
        self._ShowWorkflow = params.get("ShowWorkflow")
        self._FirstSubmitTime = params.get("FirstSubmitTime")
        self._FirstRunTime = params.get("FirstRunTime")
        self._ScheduleDesc = params.get("ScheduleDesc")
        self._CycleNum = params.get("CycleNum")
        self._Crontab = params.get("Crontab")
        self._StartDate = params.get("StartDate")
        self._EndDate = params.get("EndDate")
        self._CycleUnit = params.get("CycleUnit")
        self._InitStrategy = params.get("InitStrategy")
        self._Layer = params.get("Layer")
        self._SourceServiceId = params.get("SourceServiceId")
        self._SourceServiceType = params.get("SourceServiceType")
        self._TargetServiceId = params.get("TargetServiceId")
        self._TargetServiceType = params.get("TargetServiceType")
        self._TasksStr = params.get("TasksStr")
        self._Submit = params.get("Submit")
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ExecutorGroupName = params.get("ExecutorGroupName")
        self._TaskExtInfo = params.get("TaskExtInfo")
        if params.get("EventListenerInfos") is not None:
            self._EventListenerInfos = []
            for item in params.get("EventListenerInfos"):
                obj = AiOpsEventListenerDTO()
                obj._deserialize(item)
                self._EventListenerInfos.append(obj)
        if params.get("ScriptInfo") is not None:
            self._ScriptInfo = AiopsScriptInfo()
            self._ScriptInfo._deserialize(params.get("ScriptInfo"))
        if params.get("DLCResourceConfig") is not None:
            self._DLCResourceConfig = AiopsDLCResourceConfigDto()
            self._DLCResourceConfig._deserialize(params.get("DLCResourceConfig"))
        if params.get("ParentTaskInfos") is not None:
            self._ParentTaskInfos = AiopsSimpleTaskDto()
            self._ParentTaskInfos._deserialize(params.get("ParentTaskInfos"))
        if params.get("ExtResourceFlag") is not None:
            self._ExtResourceFlag = ExtResourceFlagDto()
            self._ExtResourceFlag._deserialize(params.get("ExtResourceFlag"))
        if params.get("NewParentTaskInfos") is not None:
            self._NewParentTaskInfos = []
            for item in params.get("NewParentTaskInfos"):
                obj = AiopsSimpleTaskDto()
                obj._deserialize(item)
                self._NewParentTaskInfos.append(obj)
        self._SelfWorkFlowDependType = params.get("SelfWorkFlowDependType")
        self._AllowRedoType = params.get("AllowRedoType")
        self._OwnerId = params.get("OwnerId")
        self._Privileges = params.get("Privileges")
        self._BundleId = params.get("BundleId")
        self._BundleInfo = params.get("BundleInfo")
        self._WorkflowType = params.get("WorkflowType")
        if params.get("TaskExtDTO") is not None:
            self._TaskExtDTO = TaskExtOpsDto()
            self._TaskExtDTO._deserialize(params.get("TaskExtDTO"))
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        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 TaskScriptContent(AbstractModel):
    r"""任务执行脚本

    """

    def __init__(self):
        r"""
        :param _ScriptContent: 脚本内容 base64编码
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContent: str
        """
        self._ScriptContent = None

    @property
    def ScriptContent(self):
        r"""脚本内容 base64编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent


    def _deserialize(self, params):
        self._ScriptContent = params.get("ScriptContent")
        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 TaskSimpleVo(AbstractModel):
    r"""任务信息简易版

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _TaskName: 任务名
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowName: 工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _InCharge: 负责人名
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _OwnId: 主账号
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnId: str
        :param _UserId: 子账号
注意：此字段可能返回 null，表示取不到有效值。
        :type UserId: str
        :param _TenantId: 租户id
注意：此字段可能返回 null，表示取不到有效值。
        :type TenantId: str
        :param _TaskTypeId: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeId: int
        """
        self._TaskId = None
        self._TaskName = None
        self._ProjectId = None
        self._WorkflowId = None
        self._WorkflowName = None
        self._InCharge = None
        self._OwnId = None
        self._UserId = None
        self._TenantId = None
        self._TaskTypeId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowName(self):
        r"""工作流名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def InCharge(self):
        r"""负责人名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def OwnId(self):
        r"""主账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnId

    @OwnId.setter
    def OwnId(self, OwnId):
        self._OwnId = OwnId

    @property
    def UserId(self):
        r"""子账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserId

    @UserId.setter
    def UserId(self, UserId):
        self._UserId = UserId

    @property
    def TenantId(self):
        r"""租户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def TaskTypeId(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskTypeId

    @TaskTypeId.setter
    def TaskTypeId(self, TaskTypeId):
        self._TaskTypeId = TaskTypeId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowName = params.get("WorkflowName")
        self._InCharge = params.get("InCharge")
        self._OwnId = params.get("OwnId")
        self._UserId = params.get("UserId")
        self._TenantId = params.get("TenantId")
        self._TaskTypeId = params.get("TaskTypeId")
        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 TaskSubmitPreCheckDetailInfo(AbstractModel):
    r"""任务提交预校验详细信息

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _TaskName: 任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskName: str
        :param _ProjectId: 项目编号
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _InChargeId: 责任人编号
注意：此字段可能返回 null，表示取不到有效值。
        :type InChargeId: str
        :param _InCharge: 责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        """
        self._TaskId = None
        self._TaskName = None
        self._ProjectId = None
        self._ProjectName = None
        self._InChargeId = None
        self._InCharge = None

    @property
    def TaskId(self):
        r"""任务编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def TaskName(self):
        r"""任务名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskName

    @TaskName.setter
    def TaskName(self, TaskName):
        self._TaskName = TaskName

    @property
    def ProjectId(self):
        r"""项目编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def InChargeId(self):
        r"""责任人编号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def InCharge(self):
        r"""责任人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._TaskName = params.get("TaskName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectName = params.get("ProjectName")
        self._InChargeId = params.get("InChargeId")
        self._InCharge = params.get("InCharge")
        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 TaskTableMetricInfo(AbstractModel):
    r"""任务表粒度指标信息

    """

    def __init__(self):
        r"""
        :param _DatabaseName: 数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DatabaseName: str
        :param _TableName: 表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _TotalRecordNum: 总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRecordNum: int
        :param _TotalRecordByteNum: 总字节数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRecordByteNum: int
        :param _TotalDirtyRecordNum: 总脏记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalDirtyRecordNum: int
        :param _SchemaName: Schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaName: str
        :param _Topic: topic名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Topic: str
        :param _Collection: Collection名称
注意：此字段可能返回 null，表示取不到有效值。
        :type Collection: str
        :param _DataSourceName: 数据源名称
        :type DataSourceName: str
        :param _NodeId: 节点id
        :type NodeId: str
        :param _LogicDatabase: 逻辑库名
注意：此字段可能返回 null，表示取不到有效值。
        :type LogicDatabase: str
        :param _LogicTable: 逻辑表名
注意：此字段可能返回 null，表示取不到有效值。
        :type LogicTable: str
        :param _LogicSchema: 逻辑schema名
注意：此字段可能返回 null，表示取不到有效值。
        :type LogicSchema: str
        :param _TaskTableMetricInfos: 物理表信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTableMetricInfos: list of TaskTableMetricInfo
        :param _SyncStatus: 同步状态，0-未知，1-正常， 2-异常
注意：此字段可能返回 null，表示取不到有效值。
        :type SyncStatus: int
        :param _TargetDatabaseName: Target数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetDatabaseName: str
        :param _TargetTableName: Target表名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTableName: str
        :param _WriteTotalRecordNum: Write总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :type WriteTotalRecordNum: int
        :param _WriteTotalRecordByteNum: Write总字节数
注意：此字段可能返回 null，表示取不到有效值。
        :type WriteTotalRecordByteNum: str
        :param _TargetSchemaName: TargetSchema名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetSchemaName: str
        :param _TargetTopic: Targettopic名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetTopic: str
        :param _TargetCollection: TargetCollection名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetCollection: str
        :param _TargetDataSourceName: 数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetDataSourceName: str
        :param _TargetNodeId: 节点id
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetNodeId: str
        :param _TotalRecordSpeed: 读取条数的速度
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalRecordSpeed: float
        :param _WriteTotalRecordSpeed: 写入条数的速度
注意：此字段可能返回 null，表示取不到有效值。
        :type WriteTotalRecordSpeed: float
        :param _ExceptionReason: 异常原因
注意：此字段可能返回 null，表示取不到有效值。
        :type ExceptionReason: str
        """
        self._DatabaseName = None
        self._TableName = None
        self._TotalRecordNum = None
        self._TotalRecordByteNum = None
        self._TotalDirtyRecordNum = None
        self._SchemaName = None
        self._Topic = None
        self._Collection = None
        self._DataSourceName = None
        self._NodeId = None
        self._LogicDatabase = None
        self._LogicTable = None
        self._LogicSchema = None
        self._TaskTableMetricInfos = None
        self._SyncStatus = None
        self._TargetDatabaseName = None
        self._TargetTableName = None
        self._WriteTotalRecordNum = None
        self._WriteTotalRecordByteNum = None
        self._TargetSchemaName = None
        self._TargetTopic = None
        self._TargetCollection = None
        self._TargetDataSourceName = None
        self._TargetNodeId = None
        self._TotalRecordSpeed = None
        self._WriteTotalRecordSpeed = None
        self._ExceptionReason = None

    @property
    def DatabaseName(self):
        r"""数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DatabaseName

    @DatabaseName.setter
    def DatabaseName(self, DatabaseName):
        self._DatabaseName = DatabaseName

    @property
    def TableName(self):
        r"""表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def TotalRecordNum(self):
        r"""总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRecordNum

    @TotalRecordNum.setter
    def TotalRecordNum(self, TotalRecordNum):
        self._TotalRecordNum = TotalRecordNum

    @property
    def TotalRecordByteNum(self):
        r"""总字节数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalRecordByteNum

    @TotalRecordByteNum.setter
    def TotalRecordByteNum(self, TotalRecordByteNum):
        self._TotalRecordByteNum = TotalRecordByteNum

    @property
    def TotalDirtyRecordNum(self):
        r"""总脏记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalDirtyRecordNum

    @TotalDirtyRecordNum.setter
    def TotalDirtyRecordNum(self, TotalDirtyRecordNum):
        self._TotalDirtyRecordNum = TotalDirtyRecordNum

    @property
    def SchemaName(self):
        r"""Schema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaName

    @SchemaName.setter
    def SchemaName(self, SchemaName):
        self._SchemaName = SchemaName

    @property
    def Topic(self):
        r"""topic名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Topic

    @Topic.setter
    def Topic(self, Topic):
        self._Topic = Topic

    @property
    def Collection(self):
        r"""Collection名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Collection

    @Collection.setter
    def Collection(self, Collection):
        self._Collection = Collection

    @property
    def DataSourceName(self):
        r"""数据源名称
        :rtype: str
        """
        return self._DataSourceName

    @DataSourceName.setter
    def DataSourceName(self, DataSourceName):
        self._DataSourceName = DataSourceName

    @property
    def NodeId(self):
        r"""节点id
        :rtype: str
        """
        return self._NodeId

    @NodeId.setter
    def NodeId(self, NodeId):
        self._NodeId = NodeId

    @property
    def LogicDatabase(self):
        r"""逻辑库名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogicDatabase

    @LogicDatabase.setter
    def LogicDatabase(self, LogicDatabase):
        self._LogicDatabase = LogicDatabase

    @property
    def LogicTable(self):
        r"""逻辑表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogicTable

    @LogicTable.setter
    def LogicTable(self, LogicTable):
        self._LogicTable = LogicTable

    @property
    def LogicSchema(self):
        r"""逻辑schema名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogicSchema

    @LogicSchema.setter
    def LogicSchema(self, LogicSchema):
        self._LogicSchema = LogicSchema

    @property
    def TaskTableMetricInfos(self):
        r"""物理表信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskTableMetricInfo
        """
        return self._TaskTableMetricInfos

    @TaskTableMetricInfos.setter
    def TaskTableMetricInfos(self, TaskTableMetricInfos):
        self._TaskTableMetricInfos = TaskTableMetricInfos

    @property
    def SyncStatus(self):
        r"""同步状态，0-未知，1-正常， 2-异常
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SyncStatus

    @SyncStatus.setter
    def SyncStatus(self, SyncStatus):
        self._SyncStatus = SyncStatus

    @property
    def TargetDatabaseName(self):
        r"""Target数据库名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetDatabaseName

    @TargetDatabaseName.setter
    def TargetDatabaseName(self, TargetDatabaseName):
        self._TargetDatabaseName = TargetDatabaseName

    @property
    def TargetTableName(self):
        r"""Target表名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetTableName

    @TargetTableName.setter
    def TargetTableName(self, TargetTableName):
        self._TargetTableName = TargetTableName

    @property
    def WriteTotalRecordNum(self):
        r"""Write总记录数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._WriteTotalRecordNum

    @WriteTotalRecordNum.setter
    def WriteTotalRecordNum(self, WriteTotalRecordNum):
        self._WriteTotalRecordNum = WriteTotalRecordNum

    @property
    def WriteTotalRecordByteNum(self):
        r"""Write总字节数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WriteTotalRecordByteNum

    @WriteTotalRecordByteNum.setter
    def WriteTotalRecordByteNum(self, WriteTotalRecordByteNum):
        self._WriteTotalRecordByteNum = WriteTotalRecordByteNum

    @property
    def TargetSchemaName(self):
        r"""TargetSchema名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetSchemaName

    @TargetSchemaName.setter
    def TargetSchemaName(self, TargetSchemaName):
        self._TargetSchemaName = TargetSchemaName

    @property
    def TargetTopic(self):
        r"""Targettopic名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetTopic

    @TargetTopic.setter
    def TargetTopic(self, TargetTopic):
        self._TargetTopic = TargetTopic

    @property
    def TargetCollection(self):
        r"""TargetCollection名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetCollection

    @TargetCollection.setter
    def TargetCollection(self, TargetCollection):
        self._TargetCollection = TargetCollection

    @property
    def TargetDataSourceName(self):
        r"""数据源名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetDataSourceName

    @TargetDataSourceName.setter
    def TargetDataSourceName(self, TargetDataSourceName):
        self._TargetDataSourceName = TargetDataSourceName

    @property
    def TargetNodeId(self):
        r"""节点id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetNodeId

    @TargetNodeId.setter
    def TargetNodeId(self, TargetNodeId):
        self._TargetNodeId = TargetNodeId

    @property
    def TotalRecordSpeed(self):
        r"""读取条数的速度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TotalRecordSpeed

    @TotalRecordSpeed.setter
    def TotalRecordSpeed(self, TotalRecordSpeed):
        self._TotalRecordSpeed = TotalRecordSpeed

    @property
    def WriteTotalRecordSpeed(self):
        r"""写入条数的速度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._WriteTotalRecordSpeed

    @WriteTotalRecordSpeed.setter
    def WriteTotalRecordSpeed(self, WriteTotalRecordSpeed):
        self._WriteTotalRecordSpeed = WriteTotalRecordSpeed

    @property
    def ExceptionReason(self):
        r"""异常原因
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExceptionReason

    @ExceptionReason.setter
    def ExceptionReason(self, ExceptionReason):
        self._ExceptionReason = ExceptionReason


    def _deserialize(self, params):
        self._DatabaseName = params.get("DatabaseName")
        self._TableName = params.get("TableName")
        self._TotalRecordNum = params.get("TotalRecordNum")
        self._TotalRecordByteNum = params.get("TotalRecordByteNum")
        self._TotalDirtyRecordNum = params.get("TotalDirtyRecordNum")
        self._SchemaName = params.get("SchemaName")
        self._Topic = params.get("Topic")
        self._Collection = params.get("Collection")
        self._DataSourceName = params.get("DataSourceName")
        self._NodeId = params.get("NodeId")
        self._LogicDatabase = params.get("LogicDatabase")
        self._LogicTable = params.get("LogicTable")
        self._LogicSchema = params.get("LogicSchema")
        if params.get("TaskTableMetricInfos") is not None:
            self._TaskTableMetricInfos = []
            for item in params.get("TaskTableMetricInfos"):
                obj = TaskTableMetricInfo()
                obj._deserialize(item)
                self._TaskTableMetricInfos.append(obj)
        self._SyncStatus = params.get("SyncStatus")
        self._TargetDatabaseName = params.get("TargetDatabaseName")
        self._TargetTableName = params.get("TargetTableName")
        self._WriteTotalRecordNum = params.get("WriteTotalRecordNum")
        self._WriteTotalRecordByteNum = params.get("WriteTotalRecordByteNum")
        self._TargetSchemaName = params.get("TargetSchemaName")
        self._TargetTopic = params.get("TargetTopic")
        self._TargetCollection = params.get("TargetCollection")
        self._TargetDataSourceName = params.get("TargetDataSourceName")
        self._TargetNodeId = params.get("TargetNodeId")
        self._TotalRecordSpeed = params.get("TotalRecordSpeed")
        self._WriteTotalRecordSpeed = params.get("WriteTotalRecordSpeed")
        self._ExceptionReason = params.get("ExceptionReason")
        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 TaskTag(AbstractModel):
    r"""任务标签，可用于检索任务的条件

    """

    def __init__(self):
        r"""
        :param _TagName: 标签名称
        :type TagName: str
        :param _TagValues: 标签值列表
        :type TagValues: list of str
        """
        self._TagName = None
        self._TagValues = None

    @property
    def TagName(self):
        r"""标签名称
        :rtype: str
        """
        return self._TagName

    @TagName.setter
    def TagName(self, TagName):
        self._TagName = TagName

    @property
    def TagValues(self):
        r"""标签值列表
        :rtype: list of str
        """
        return self._TagValues

    @TagValues.setter
    def TagValues(self, TagValues):
        self._TagValues = TagValues


    def _deserialize(self, params):
        self._TagName = params.get("TagName")
        self._TagValues = params.get("TagValues")
        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 TaskTypeCnt(AbstractModel):
    r"""TaskTypeCnt

    """

    def __init__(self):
        r"""
        :param _Number: 统计值
注意：此字段可能返回 null，表示取不到有效值。
        :type Number: str
        :param _TaskType: 任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskType: str
        :param _TypeName: 类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeName: str
        """
        self._Number = None
        self._TaskType = None
        self._TypeName = None

    @property
    def Number(self):
        r"""统计值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Number

    @Number.setter
    def Number(self, Number):
        self._Number = Number

    @property
    def TaskType(self):
        r"""任务类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskType

    @TaskType.setter
    def TaskType(self, TaskType):
        self._TaskType = TaskType

    @property
    def TypeName(self):
        r"""类型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TypeName

    @TypeName.setter
    def TypeName(self, TypeName):
        self._TypeName = TypeName


    def _deserialize(self, params):
        self._Number = params.get("Number")
        self._TaskType = params.get("TaskType")
        self._TypeName = params.get("TypeName")
        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 TaskTypeDsVO(AbstractModel):
    r"""任务类型

    """

    def __init__(self):
        r"""
        :param _TypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeId: int
        :param _TypeDesc: TypeDesc描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeDesc: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _SourceServerType: 服务器类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SourceServerType: str
        :param _TargetServerType: 目标服务器类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TargetServerType: str
        :param _RunJarName: RunJarName名称
注意：此字段可能返回 null，表示取不到有效值。
        :type RunJarName: str
        :param _KillAble: Killable参数
注意：此字段可能返回 null，表示取不到有效值。
        :type KillAble: int
        :param _TypeSort: TypeSort类型
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeSort: str
        :param _InCharge: InCharge参数
注意：此字段可能返回 null，表示取不到有效值。
        :type InCharge: str
        :param _BrokerParallelism: 节点对应任务类型运行上限（暂时不考虑）
注意：此字段可能返回 null，表示取不到有效值。
        :type BrokerParallelism: int
        :param _TaskParallelism: 每个任务运行上限（暂时不考虑
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskParallelism: int
        :param _DoRedoParallelism: 补录和重跑上限
注意：此字段可能返回 null，表示取不到有效值。
        :type DoRedoParallelism: int
        :param _DowngradePriorityTries: 0 为不可创建任务; >0 可创建任务
注意：此字段可能返回 null，表示取不到有效值。
        :type DowngradePriorityTries: int
        :param _RetryWait: 重试等待时间
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryWait: int
        :param _RetryLimit: 重试次数（在任务属性配置中设置）
注意：此字段可能返回 null，表示取不到有效值。
        :type RetryLimit: int
        :param _DefaultAliveWait: DefaultAliveWait参数
注意：此字段可能返回 null，表示取不到有效值。
        :type DefaultAliveWait: int
        :param _PollingSeconds: PollingSeconds秒数
注意：此字段可能返回 null，表示取不到有效值。
        :type PollingSeconds: int
        :param _ParamList: 参数列表xml
注意：此字段可能返回 null，表示取不到有效值。
        :type ParamList: str
        :param _TaskTypeExtension: TaskTypeExts参数
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeExtension: list of TaskTypeExtParamDsVO
        :param _FileType: 对应文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type FileType: str
        :param _SelectFilePath: 是否选择脚本路径
注意：此字段可能返回 null，表示取不到有效值。
        :type SelectFilePath: bool
        :param _ExcludeCommonLib: classpath是否要排除掉common-lib，默认是0不排除
注意：此字段可能返回 null，表示取不到有效值。
        :type ExcludeCommonLib: bool
        :param _PostHooks: runner任务完成后需要触发的hook
注意：此字段可能返回 null，表示取不到有效值。
        :type PostHooks: str
        """
        self._TypeId = None
        self._TypeDesc = None
        self._CreateTime = None
        self._SourceServerType = None
        self._TargetServerType = None
        self._RunJarName = None
        self._KillAble = None
        self._TypeSort = None
        self._InCharge = None
        self._BrokerParallelism = None
        self._TaskParallelism = None
        self._DoRedoParallelism = None
        self._DowngradePriorityTries = None
        self._RetryWait = None
        self._RetryLimit = None
        self._DefaultAliveWait = None
        self._PollingSeconds = None
        self._ParamList = None
        self._TaskTypeExtension = None
        self._FileType = None
        self._SelectFilePath = None
        self._ExcludeCommonLib = None
        self._PostHooks = None

    @property
    def TypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TypeId

    @TypeId.setter
    def TypeId(self, TypeId):
        self._TypeId = TypeId

    @property
    def TypeDesc(self):
        r"""TypeDesc描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TypeDesc

    @TypeDesc.setter
    def TypeDesc(self, TypeDesc):
        self._TypeDesc = TypeDesc

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def SourceServerType(self):
        r"""服务器类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SourceServerType

    @SourceServerType.setter
    def SourceServerType(self, SourceServerType):
        self._SourceServerType = SourceServerType

    @property
    def TargetServerType(self):
        r"""目标服务器类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TargetServerType

    @TargetServerType.setter
    def TargetServerType(self, TargetServerType):
        self._TargetServerType = TargetServerType

    @property
    def RunJarName(self):
        r"""RunJarName名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RunJarName

    @RunJarName.setter
    def RunJarName(self, RunJarName):
        self._RunJarName = RunJarName

    @property
    def KillAble(self):
        r"""Killable参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._KillAble

    @KillAble.setter
    def KillAble(self, KillAble):
        self._KillAble = KillAble

    @property
    def TypeSort(self):
        r"""TypeSort类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TypeSort

    @TypeSort.setter
    def TypeSort(self, TypeSort):
        self._TypeSort = TypeSort

    @property
    def InCharge(self):
        r"""InCharge参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def BrokerParallelism(self):
        r"""节点对应任务类型运行上限（暂时不考虑）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._BrokerParallelism

    @BrokerParallelism.setter
    def BrokerParallelism(self, BrokerParallelism):
        self._BrokerParallelism = BrokerParallelism

    @property
    def TaskParallelism(self):
        r"""每个任务运行上限（暂时不考虑
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskParallelism

    @TaskParallelism.setter
    def TaskParallelism(self, TaskParallelism):
        self._TaskParallelism = TaskParallelism

    @property
    def DoRedoParallelism(self):
        r"""补录和重跑上限
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DoRedoParallelism

    @DoRedoParallelism.setter
    def DoRedoParallelism(self, DoRedoParallelism):
        self._DoRedoParallelism = DoRedoParallelism

    @property
    def DowngradePriorityTries(self):
        r"""0 为不可创建任务; >0 可创建任务
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DowngradePriorityTries

    @DowngradePriorityTries.setter
    def DowngradePriorityTries(self, DowngradePriorityTries):
        self._DowngradePriorityTries = DowngradePriorityTries

    @property
    def RetryWait(self):
        r"""重试等待时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryWait

    @RetryWait.setter
    def RetryWait(self, RetryWait):
        self._RetryWait = RetryWait

    @property
    def RetryLimit(self):
        r"""重试次数（在任务属性配置中设置）
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RetryLimit

    @RetryLimit.setter
    def RetryLimit(self, RetryLimit):
        self._RetryLimit = RetryLimit

    @property
    def DefaultAliveWait(self):
        r"""DefaultAliveWait参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DefaultAliveWait

    @DefaultAliveWait.setter
    def DefaultAliveWait(self, DefaultAliveWait):
        self._DefaultAliveWait = DefaultAliveWait

    @property
    def PollingSeconds(self):
        r"""PollingSeconds秒数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PollingSeconds

    @PollingSeconds.setter
    def PollingSeconds(self, PollingSeconds):
        self._PollingSeconds = PollingSeconds

    @property
    def ParamList(self):
        r"""参数列表xml
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ParamList

    @ParamList.setter
    def ParamList(self, ParamList):
        self._ParamList = ParamList

    @property
    def TaskTypeExtension(self):
        r"""TaskTypeExts参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskTypeExtParamDsVO
        """
        return self._TaskTypeExtension

    @TaskTypeExtension.setter
    def TaskTypeExtension(self, TaskTypeExtension):
        self._TaskTypeExtension = TaskTypeExtension

    @property
    def FileType(self):
        r"""对应文件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileType

    @FileType.setter
    def FileType(self, FileType):
        self._FileType = FileType

    @property
    def SelectFilePath(self):
        r"""是否选择脚本路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._SelectFilePath

    @SelectFilePath.setter
    def SelectFilePath(self, SelectFilePath):
        self._SelectFilePath = SelectFilePath

    @property
    def ExcludeCommonLib(self):
        r"""classpath是否要排除掉common-lib，默认是0不排除
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ExcludeCommonLib

    @ExcludeCommonLib.setter
    def ExcludeCommonLib(self, ExcludeCommonLib):
        self._ExcludeCommonLib = ExcludeCommonLib

    @property
    def PostHooks(self):
        r"""runner任务完成后需要触发的hook
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PostHooks

    @PostHooks.setter
    def PostHooks(self, PostHooks):
        self._PostHooks = PostHooks


    def _deserialize(self, params):
        self._TypeId = params.get("TypeId")
        self._TypeDesc = params.get("TypeDesc")
        self._CreateTime = params.get("CreateTime")
        self._SourceServerType = params.get("SourceServerType")
        self._TargetServerType = params.get("TargetServerType")
        self._RunJarName = params.get("RunJarName")
        self._KillAble = params.get("KillAble")
        self._TypeSort = params.get("TypeSort")
        self._InCharge = params.get("InCharge")
        self._BrokerParallelism = params.get("BrokerParallelism")
        self._TaskParallelism = params.get("TaskParallelism")
        self._DoRedoParallelism = params.get("DoRedoParallelism")
        self._DowngradePriorityTries = params.get("DowngradePriorityTries")
        self._RetryWait = params.get("RetryWait")
        self._RetryLimit = params.get("RetryLimit")
        self._DefaultAliveWait = params.get("DefaultAliveWait")
        self._PollingSeconds = params.get("PollingSeconds")
        self._ParamList = params.get("ParamList")
        if params.get("TaskTypeExtension") is not None:
            self._TaskTypeExtension = []
            for item in params.get("TaskTypeExtension"):
                obj = TaskTypeExtParamDsVO()
                obj._deserialize(item)
                self._TaskTypeExtension.append(obj)
        self._FileType = params.get("FileType")
        self._SelectFilePath = params.get("SelectFilePath")
        self._ExcludeCommonLib = params.get("ExcludeCommonLib")
        self._PostHooks = params.get("PostHooks")
        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 TaskTypeExtDsVO(AbstractModel):
    r"""属性类型扩展

    """

    def __init__(self):
        r"""
        :param _TypeId: 类型ID
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeId: int
        :param _PropName: 属性名
注意：此字段可能返回 null，表示取不到有效值。
        :type PropName: str
        :param _PropLabel: 属性标签(ui展示用)
注意：此字段可能返回 null，表示取不到有效值。
        :type PropLabel: str
        :param _DefaultFlag: 缺省标志
注意：此字段可能返回 null，表示取不到有效值。
        :type DefaultFlag: int
        :param _VisibleFlag: 可视标志
注意：此字段可能返回 null，表示取不到有效值。
        :type VisibleFlag: int
        :param _PropDesc: 属性描述
注意：此字段可能返回 null，表示取不到有效值。
        :type PropDesc: str
        :param _RankId: 排列id
注意：此字段可能返回 null，表示取不到有效值。
        :type RankId: int
        :param _InputType: 控件类型
注意：此字段可能返回 null，表示取不到有效值。
        :type InputType: str
        :param _ValueType: 值类型(integer，string)
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueType: str
        :param _DefaultValue: 缺省值
注意：此字段可能返回 null，表示取不到有效值。
        :type DefaultValue: str
        :param _CandidateValues: 候选值列表(，分隔)
注意：此字段可能返回 null，表示取不到有效值。
        :type CandidateValues: str
        :param _IsMandatory: 是否必填
注意：此字段可能返回 null，表示取不到有效值。
        :type IsMandatory: int
        :param _MaxValue: 最大值
注意：此字段可能返回 null，表示取不到有效值。
        :type MaxValue: int
        :param _MinValue: 最小值
注意：此字段可能返回 null，表示取不到有效值。
        :type MinValue: int
        :param _ConfLevel: 配置等级(1-普通，2-高级，3-管理员)
注意：此字段可能返回 null，表示取不到有效值。
        :type ConfLevel: int
        :param _CandidateTexts: 候选文本列表(，分隔)
注意：此字段可能返回 null，表示取不到有效值。
        :type CandidateTexts: str
        :param _CopyKey: 复制时是否需要修改
注意：此字段可能返回 null，表示取不到有效值。
        :type CopyKey: int
        :param _Regex: 字段正则表达式校验
注意：此字段可能返回 null，表示取不到有效值。
        :type Regex: str
        :param _Tip: 字段正则表达式校验证提示tip
注意：此字段可能返回 null，表示取不到有效值。
        :type Tip: str
        :param _Candidates: 可选值
注意：此字段可能返回 null，表示取不到有效值。
        :type Candidates: list of CandidateDsDTo
        """
        self._TypeId = None
        self._PropName = None
        self._PropLabel = None
        self._DefaultFlag = None
        self._VisibleFlag = None
        self._PropDesc = None
        self._RankId = None
        self._InputType = None
        self._ValueType = None
        self._DefaultValue = None
        self._CandidateValues = None
        self._IsMandatory = None
        self._MaxValue = None
        self._MinValue = None
        self._ConfLevel = None
        self._CandidateTexts = None
        self._CopyKey = None
        self._Regex = None
        self._Tip = None
        self._Candidates = None

    @property
    def TypeId(self):
        r"""类型ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TypeId

    @TypeId.setter
    def TypeId(self, TypeId):
        self._TypeId = TypeId

    @property
    def PropName(self):
        r"""属性名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PropName

    @PropName.setter
    def PropName(self, PropName):
        self._PropName = PropName

    @property
    def PropLabel(self):
        r"""属性标签(ui展示用)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PropLabel

    @PropLabel.setter
    def PropLabel(self, PropLabel):
        self._PropLabel = PropLabel

    @property
    def DefaultFlag(self):
        r"""缺省标志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DefaultFlag

    @DefaultFlag.setter
    def DefaultFlag(self, DefaultFlag):
        self._DefaultFlag = DefaultFlag

    @property
    def VisibleFlag(self):
        r"""可视标志
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._VisibleFlag

    @VisibleFlag.setter
    def VisibleFlag(self, VisibleFlag):
        self._VisibleFlag = VisibleFlag

    @property
    def PropDesc(self):
        r"""属性描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PropDesc

    @PropDesc.setter
    def PropDesc(self, PropDesc):
        self._PropDesc = PropDesc

    @property
    def RankId(self):
        r"""排列id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RankId

    @RankId.setter
    def RankId(self, RankId):
        self._RankId = RankId

    @property
    def InputType(self):
        r"""控件类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InputType

    @InputType.setter
    def InputType(self, InputType):
        self._InputType = InputType

    @property
    def ValueType(self):
        r"""值类型(integer，string)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ValueType

    @ValueType.setter
    def ValueType(self, ValueType):
        self._ValueType = ValueType

    @property
    def DefaultValue(self):
        r"""缺省值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DefaultValue

    @DefaultValue.setter
    def DefaultValue(self, DefaultValue):
        self._DefaultValue = DefaultValue

    @property
    def CandidateValues(self):
        r"""候选值列表(，分隔)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CandidateValues

    @CandidateValues.setter
    def CandidateValues(self, CandidateValues):
        self._CandidateValues = CandidateValues

    @property
    def IsMandatory(self):
        r"""是否必填
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._IsMandatory

    @IsMandatory.setter
    def IsMandatory(self, IsMandatory):
        self._IsMandatory = IsMandatory

    @property
    def MaxValue(self):
        r"""最大值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MaxValue

    @MaxValue.setter
    def MaxValue(self, MaxValue):
        self._MaxValue = MaxValue

    @property
    def MinValue(self):
        r"""最小值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._MinValue

    @MinValue.setter
    def MinValue(self, MinValue):
        self._MinValue = MinValue

    @property
    def ConfLevel(self):
        r"""配置等级(1-普通，2-高级，3-管理员)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ConfLevel

    @ConfLevel.setter
    def ConfLevel(self, ConfLevel):
        self._ConfLevel = ConfLevel

    @property
    def CandidateTexts(self):
        r"""候选文本列表(，分隔)
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CandidateTexts

    @CandidateTexts.setter
    def CandidateTexts(self, CandidateTexts):
        self._CandidateTexts = CandidateTexts

    @property
    def CopyKey(self):
        r"""复制时是否需要修改
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CopyKey

    @CopyKey.setter
    def CopyKey(self, CopyKey):
        self._CopyKey = CopyKey

    @property
    def Regex(self):
        r"""字段正则表达式校验
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Regex

    @Regex.setter
    def Regex(self, Regex):
        self._Regex = Regex

    @property
    def Tip(self):
        r"""字段正则表达式校验证提示tip
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Tip

    @Tip.setter
    def Tip(self, Tip):
        self._Tip = Tip

    @property
    def Candidates(self):
        r"""可选值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of CandidateDsDTo
        """
        return self._Candidates

    @Candidates.setter
    def Candidates(self, Candidates):
        self._Candidates = Candidates


    def _deserialize(self, params):
        self._TypeId = params.get("TypeId")
        self._PropName = params.get("PropName")
        self._PropLabel = params.get("PropLabel")
        self._DefaultFlag = params.get("DefaultFlag")
        self._VisibleFlag = params.get("VisibleFlag")
        self._PropDesc = params.get("PropDesc")
        self._RankId = params.get("RankId")
        self._InputType = params.get("InputType")
        self._ValueType = params.get("ValueType")
        self._DefaultValue = params.get("DefaultValue")
        self._CandidateValues = params.get("CandidateValues")
        self._IsMandatory = params.get("IsMandatory")
        self._MaxValue = params.get("MaxValue")
        self._MinValue = params.get("MinValue")
        self._ConfLevel = params.get("ConfLevel")
        self._CandidateTexts = params.get("CandidateTexts")
        self._CopyKey = params.get("CopyKey")
        self._Regex = params.get("Regex")
        self._Tip = params.get("Tip")
        if params.get("Candidates") is not None:
            self._Candidates = []
            for item in params.get("Candidates"):
                obj = CandidateDsDTo()
                obj._deserialize(item)
                self._Candidates.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 TaskTypeExtParamDsVO(AbstractModel):
    r"""TaskTypeExts参数

    """

    def __init__(self):
        r"""
        :param _TaskTypeExtKey: TaskTypeExts的Key
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeExtKey: str
        :param _TaskTypeExtValue: TaskTypeExts的Value
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskTypeExtValue: :class:`tencentcloud.wedata.v20210820.models.TaskTypeExtDsVO`
        """
        self._TaskTypeExtKey = None
        self._TaskTypeExtValue = None

    @property
    def TaskTypeExtKey(self):
        r"""TaskTypeExts的Key
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskTypeExtKey

    @TaskTypeExtKey.setter
    def TaskTypeExtKey(self, TaskTypeExtKey):
        self._TaskTypeExtKey = TaskTypeExtKey

    @property
    def TaskTypeExtValue(self):
        r"""TaskTypeExts的Value
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskTypeExtDsVO`
        """
        return self._TaskTypeExtValue

    @TaskTypeExtValue.setter
    def TaskTypeExtValue(self, TaskTypeExtValue):
        self._TaskTypeExtValue = TaskTypeExtValue


    def _deserialize(self, params):
        self._TaskTypeExtKey = params.get("TaskTypeExtKey")
        if params.get("TaskTypeExtValue") is not None:
            self._TaskTypeExtValue = TaskTypeExtDsVO()
            self._TaskTypeExtValue._deserialize(params.get("TaskTypeExtValue"))
        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 TaskTypeMap(AbstractModel):
    r"""任务类型map

    """

    def __init__(self):
        r"""
        :param _Key: key
        :type Key: int
        :param _Value: value
        :type Value: str
        """
        self._Key = None
        self._Value = None

    @property
    def Key(self):
        r"""key
        :rtype: int
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""value
        :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 TaskTypeOpsDto(AbstractModel):
    r"""任务类型基本信息

    """

    def __init__(self):
        r"""
        :param _TypeDesc: 任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeDesc: str
        :param _TypeId: 任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeId: int
        :param _TypeSort: 任务类型归类
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeSort: str
        """
        self._TypeDesc = None
        self._TypeId = None
        self._TypeSort = None

    @property
    def TypeDesc(self):
        r"""任务类型描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TypeDesc

    @TypeDesc.setter
    def TypeDesc(self, TypeDesc):
        self._TypeDesc = TypeDesc

    @property
    def TypeId(self):
        r"""任务类型id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TypeId

    @TypeId.setter
    def TypeId(self, TypeId):
        self._TypeId = TypeId

    @property
    def TypeSort(self):
        r"""任务类型归类
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TypeSort

    @TypeSort.setter
    def TypeSort(self, TypeSort):
        self._TypeSort = TypeSort


    def _deserialize(self, params):
        self._TypeDesc = params.get("TypeDesc")
        self._TypeId = params.get("TypeId")
        self._TypeSort = params.get("TypeSort")
        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 TaskVersionDsDTO(AbstractModel):
    r"""TaskVersionVO

    """

    def __init__(self):
        r"""
        :param _VersionId: 版本ID
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionId: str
        :param _TaskId: 任务id
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskId: str
        :param _VersionNum: 版本号
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionNum: str
        :param _VersionRemark: 版本备注
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionRemark: str
        :param _Creator: 版本创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _CreateTime: 版本创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 版本更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _LastSchedulerCommitTime: 最新调度计划变更时间 生产态存储
注意：此字段可能返回 null，表示取不到有效值。
        :type LastSchedulerCommitTime: str
        :param _UsedVersion: 版本是否正在使用
注意：此字段可能返回 null，表示取不到有效值。
        :type UsedVersion: int
        :param _TaskInfo: 任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskInfo: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        :param _TaskParaInfo: 任务参数信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskParaInfo: list of ParameterTaskDsDto
        :param _TaskInputParam: TaskInputParam输入参数
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskInputParam: list of ParameterTaskInDsDto
        :param _TaskOutputParam: TaskOutputParam输出参数
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskOutputParam: list of ParameterTaskOutDsDto
        :param _TaskLinkInfo: 任务上游依赖信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskLinkInfo: list of TaskLinkDsDTO
        :param _ApproveStatus: 审批状态
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveStatus: str
        :param _ApproveName: 审批人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveName: str
        :param _TaskEventPublisher: 任务事件绑定
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskEventPublisher: list of EventPublisherDTO
        :param _TaskRegisterOutputTable: 任务产出登记信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskRegisterOutputTable: list of TaskDataRegistryDTO
        :param _TaskCycleLinkInfo: 循环依赖信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCycleLinkInfo: list of TaskCycleLinkDTO
        :param _TaskEventListener: 事件监听信息
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskEventListener: list of EventListenerDTO
        :param _ApproveTime: 审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ApproveTime: str
        """
        self._VersionId = None
        self._TaskId = None
        self._VersionNum = None
        self._VersionRemark = None
        self._Creator = None
        self._CreateTime = None
        self._UpdateTime = None
        self._LastSchedulerCommitTime = None
        self._UsedVersion = None
        self._TaskInfo = None
        self._TaskParaInfo = None
        self._TaskInputParam = None
        self._TaskOutputParam = None
        self._TaskLinkInfo = None
        self._ApproveStatus = None
        self._ApproveName = None
        self._TaskEventPublisher = None
        self._TaskRegisterOutputTable = None
        self._TaskCycleLinkInfo = None
        self._TaskEventListener = None
        self._ApproveTime = None

    @property
    def VersionId(self):
        r"""版本ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionId

    @VersionId.setter
    def VersionId(self, VersionId):
        self._VersionId = VersionId

    @property
    def TaskId(self):
        r"""任务id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def VersionNum(self):
        r"""版本号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionNum

    @VersionNum.setter
    def VersionNum(self, VersionNum):
        self._VersionNum = VersionNum

    @property
    def VersionRemark(self):
        r"""版本备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionRemark

    @VersionRemark.setter
    def VersionRemark(self, VersionRemark):
        self._VersionRemark = VersionRemark

    @property
    def Creator(self):
        r"""版本创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def CreateTime(self):
        r"""版本创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""版本更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def LastSchedulerCommitTime(self):
        r"""最新调度计划变更时间 生产态存储
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LastSchedulerCommitTime

    @LastSchedulerCommitTime.setter
    def LastSchedulerCommitTime(self, LastSchedulerCommitTime):
        self._LastSchedulerCommitTime = LastSchedulerCommitTime

    @property
    def UsedVersion(self):
        r"""版本是否正在使用
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._UsedVersion

    @UsedVersion.setter
    def UsedVersion(self, UsedVersion):
        self._UsedVersion = UsedVersion

    @property
    def TaskInfo(self):
        r"""任务信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskDsDTO`
        """
        return self._TaskInfo

    @TaskInfo.setter
    def TaskInfo(self, TaskInfo):
        self._TaskInfo = TaskInfo

    @property
    def TaskParaInfo(self):
        r"""任务参数信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskDsDto
        """
        return self._TaskParaInfo

    @TaskParaInfo.setter
    def TaskParaInfo(self, TaskParaInfo):
        self._TaskParaInfo = TaskParaInfo

    @property
    def TaskInputParam(self):
        r"""TaskInputParam输入参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskInDsDto
        """
        return self._TaskInputParam

    @TaskInputParam.setter
    def TaskInputParam(self, TaskInputParam):
        self._TaskInputParam = TaskInputParam

    @property
    def TaskOutputParam(self):
        r"""TaskOutputParam输出参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskOutDsDto
        """
        return self._TaskOutputParam

    @TaskOutputParam.setter
    def TaskOutputParam(self, TaskOutputParam):
        self._TaskOutputParam = TaskOutputParam

    @property
    def TaskLinkInfo(self):
        r"""任务上游依赖信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskLinkDsDTO
        """
        return self._TaskLinkInfo

    @TaskLinkInfo.setter
    def TaskLinkInfo(self, TaskLinkInfo):
        self._TaskLinkInfo = TaskLinkInfo

    @property
    def ApproveStatus(self):
        r"""审批状态
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproveStatus

    @ApproveStatus.setter
    def ApproveStatus(self, ApproveStatus):
        self._ApproveStatus = ApproveStatus

    @property
    def ApproveName(self):
        r"""审批人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproveName

    @ApproveName.setter
    def ApproveName(self, ApproveName):
        self._ApproveName = ApproveName

    @property
    def TaskEventPublisher(self):
        r"""任务事件绑定
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventPublisherDTO
        """
        return self._TaskEventPublisher

    @TaskEventPublisher.setter
    def TaskEventPublisher(self, TaskEventPublisher):
        self._TaskEventPublisher = TaskEventPublisher

    @property
    def TaskRegisterOutputTable(self):
        r"""任务产出登记信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskDataRegistryDTO
        """
        return self._TaskRegisterOutputTable

    @TaskRegisterOutputTable.setter
    def TaskRegisterOutputTable(self, TaskRegisterOutputTable):
        self._TaskRegisterOutputTable = TaskRegisterOutputTable

    @property
    def TaskCycleLinkInfo(self):
        r"""循环依赖信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskCycleLinkDTO
        """
        return self._TaskCycleLinkInfo

    @TaskCycleLinkInfo.setter
    def TaskCycleLinkInfo(self, TaskCycleLinkInfo):
        self._TaskCycleLinkInfo = TaskCycleLinkInfo

    @property
    def TaskEventListener(self):
        r"""事件监听信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of EventListenerDTO
        """
        return self._TaskEventListener

    @TaskEventListener.setter
    def TaskEventListener(self, TaskEventListener):
        self._TaskEventListener = TaskEventListener

    @property
    def ApproveTime(self):
        r"""审批时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ApproveTime

    @ApproveTime.setter
    def ApproveTime(self, ApproveTime):
        self._ApproveTime = ApproveTime


    def _deserialize(self, params):
        self._VersionId = params.get("VersionId")
        self._TaskId = params.get("TaskId")
        self._VersionNum = params.get("VersionNum")
        self._VersionRemark = params.get("VersionRemark")
        self._Creator = params.get("Creator")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._LastSchedulerCommitTime = params.get("LastSchedulerCommitTime")
        self._UsedVersion = params.get("UsedVersion")
        if params.get("TaskInfo") is not None:
            self._TaskInfo = TaskDsDTO()
            self._TaskInfo._deserialize(params.get("TaskInfo"))
        if params.get("TaskParaInfo") is not None:
            self._TaskParaInfo = []
            for item in params.get("TaskParaInfo"):
                obj = ParameterTaskDsDto()
                obj._deserialize(item)
                self._TaskParaInfo.append(obj)
        if params.get("TaskInputParam") is not None:
            self._TaskInputParam = []
            for item in params.get("TaskInputParam"):
                obj = ParameterTaskInDsDto()
                obj._deserialize(item)
                self._TaskInputParam.append(obj)
        if params.get("TaskOutputParam") is not None:
            self._TaskOutputParam = []
            for item in params.get("TaskOutputParam"):
                obj = ParameterTaskOutDsDto()
                obj._deserialize(item)
                self._TaskOutputParam.append(obj)
        if params.get("TaskLinkInfo") is not None:
            self._TaskLinkInfo = []
            for item in params.get("TaskLinkInfo"):
                obj = TaskLinkDsDTO()
                obj._deserialize(item)
                self._TaskLinkInfo.append(obj)
        self._ApproveStatus = params.get("ApproveStatus")
        self._ApproveName = params.get("ApproveName")
        if params.get("TaskEventPublisher") is not None:
            self._TaskEventPublisher = []
            for item in params.get("TaskEventPublisher"):
                obj = EventPublisherDTO()
                obj._deserialize(item)
                self._TaskEventPublisher.append(obj)
        if params.get("TaskRegisterOutputTable") is not None:
            self._TaskRegisterOutputTable = []
            for item in params.get("TaskRegisterOutputTable"):
                obj = TaskDataRegistryDTO()
                obj._deserialize(item)
                self._TaskRegisterOutputTable.append(obj)
        if params.get("TaskCycleLinkInfo") is not None:
            self._TaskCycleLinkInfo = []
            for item in params.get("TaskCycleLinkInfo"):
                obj = TaskCycleLinkDTO()
                obj._deserialize(item)
                self._TaskCycleLinkInfo.append(obj)
        if params.get("TaskEventListener") is not None:
            self._TaskEventListener = []
            for item in params.get("TaskEventListener"):
                obj = EventListenerDTO()
                obj._deserialize(item)
                self._TaskEventListener.append(obj)
        self._ApproveTime = params.get("ApproveTime")
        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 TaskVersionInstance(AbstractModel):
    r"""任务实例基本信息

    """

    def __init__(self):
        r"""
        :param _InstanceVersion: 实例版本号
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceVersion: int
        :param _VersionDesc: 实例描述
注意：此字段可能返回 null，表示取不到有效值。
        :type VersionDesc: str
        :param _ChangeType: 0, "新增"，1, "修改"
注意：此字段可能返回 null，表示取不到有效值。
        :type ChangeType: int
        :param _SubmitterUin: 版本提交人UIN
注意：此字段可能返回 null，表示取不到有效值。
        :type SubmitterUin: str
        :param _InstanceDate: 提交日期
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceDate: str
        :param _InstanceStatus: 0, "未启用"，1, "启用(生产态)"
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceStatus: int
        """
        self._InstanceVersion = None
        self._VersionDesc = None
        self._ChangeType = None
        self._SubmitterUin = None
        self._InstanceDate = None
        self._InstanceStatus = None

    @property
    def InstanceVersion(self):
        r"""实例版本号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceVersion

    @InstanceVersion.setter
    def InstanceVersion(self, InstanceVersion):
        self._InstanceVersion = InstanceVersion

    @property
    def VersionDesc(self):
        r"""实例描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._VersionDesc

    @VersionDesc.setter
    def VersionDesc(self, VersionDesc):
        self._VersionDesc = VersionDesc

    @property
    def ChangeType(self):
        r"""0, "新增"，1, "修改"
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ChangeType

    @ChangeType.setter
    def ChangeType(self, ChangeType):
        self._ChangeType = ChangeType

    @property
    def SubmitterUin(self):
        r"""版本提交人UIN
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubmitterUin

    @SubmitterUin.setter
    def SubmitterUin(self, SubmitterUin):
        self._SubmitterUin = SubmitterUin

    @property
    def InstanceDate(self):
        r"""提交日期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceDate

    @InstanceDate.setter
    def InstanceDate(self, InstanceDate):
        self._InstanceDate = InstanceDate

    @property
    def InstanceStatus(self):
        r"""0, "未启用"，1, "启用(生产态)"
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._InstanceStatus

    @InstanceStatus.setter
    def InstanceStatus(self, InstanceStatus):
        self._InstanceStatus = InstanceStatus


    def _deserialize(self, params):
        self._InstanceVersion = params.get("InstanceVersion")
        self._VersionDesc = params.get("VersionDesc")
        self._ChangeType = params.get("ChangeType")
        self._SubmitterUin = params.get("SubmitterUin")
        self._InstanceDate = params.get("InstanceDate")
        self._InstanceStatus = params.get("InstanceStatus")
        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 TestRunningRecord(AbstractModel):
    r"""编排空间试运行记录
    查询执行日志 可调用DownloadLogByLine接口

    """

    def __init__(self):
        r"""
        :param _StartTime: <p>开始时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: <p>结束时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _UpdateTime: <p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _RecordId: <p>试运行记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecordId: int
        :param _JobId: <p>开发侧提交的jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type JobId: int
        :param _ExecutionJobId: <p>执行平台jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        :param _RecordName: <p>试运行记录名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecordName: str
        :param _ScriptContent: <p>脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContent: str
        :param _Status: <p>状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _TimeCost: <p>耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeCost: int
        :param _UserUin: <p>用户uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UserUin: str
        :param _OwnerUin: <p>主账户uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerUin: str
        :param _SubRecordList: <p>子记录信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SubRecordList: list of TestRunningSubRecord
        :param _Region: <p>结果或日志地域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _BucketName: <p>结果或日志桶名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type BucketName: str
        :param _ErrorMessage: <p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ErrorMessage: str
        :param _ScriptContentTruncated: <p>脚本内容是否被截断</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContentTruncated: bool
        """
        self._StartTime = None
        self._EndTime = None
        self._UpdateTime = None
        self._RecordId = None
        self._JobId = None
        self._ExecutionJobId = None
        self._RecordName = None
        self._ScriptContent = None
        self._Status = None
        self._TimeCost = None
        self._UserUin = None
        self._OwnerUin = None
        self._SubRecordList = None
        self._Region = None
        self._BucketName = None
        self._ErrorMessage = None
        self._ScriptContentTruncated = None

    @property
    def StartTime(self):
        r"""<p>开始时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""<p>结束时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def UpdateTime(self):
        r"""<p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def RecordId(self):
        r"""<p>试运行记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def JobId(self):
        r"""<p>开发侧提交的jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def ExecutionJobId(self):
        r"""<p>执行平台jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def RecordName(self):
        r"""<p>试运行记录名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RecordName

    @RecordName.setter
    def RecordName(self, RecordName):
        self._RecordName = RecordName

    @property
    def ScriptContent(self):
        r"""<p>脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def Status(self):
        r"""<p>状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TimeCost(self):
        r"""<p>耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TimeCost

    @TimeCost.setter
    def TimeCost(self, TimeCost):
        self._TimeCost = TimeCost

    @property
    def UserUin(self):
        r"""<p>用户uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserUin

    @UserUin.setter
    def UserUin(self, UserUin):
        self._UserUin = UserUin

    @property
    def OwnerUin(self):
        r"""<p>主账户uin</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerUin

    @OwnerUin.setter
    def OwnerUin(self, OwnerUin):
        self._OwnerUin = OwnerUin

    @property
    def SubRecordList(self):
        r"""<p>子记录信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TestRunningSubRecord
        """
        return self._SubRecordList

    @SubRecordList.setter
    def SubRecordList(self, SubRecordList):
        self._SubRecordList = SubRecordList

    @property
    def Region(self):
        r"""<p>结果或日志地域</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def BucketName(self):
        r"""<p>结果或日志桶名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BucketName

    @BucketName.setter
    def BucketName(self, BucketName):
        self._BucketName = BucketName

    @property
    def ErrorMessage(self):
        r"""<p>错误信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ErrorMessage

    @ErrorMessage.setter
    def ErrorMessage(self, ErrorMessage):
        self._ErrorMessage = ErrorMessage

    @property
    def ScriptContentTruncated(self):
        r"""<p>脚本内容是否被截断</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ScriptContentTruncated

    @ScriptContentTruncated.setter
    def ScriptContentTruncated(self, ScriptContentTruncated):
        self._ScriptContentTruncated = ScriptContentTruncated


    def _deserialize(self, params):
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._UpdateTime = params.get("UpdateTime")
        self._RecordId = params.get("RecordId")
        self._JobId = params.get("JobId")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._RecordName = params.get("RecordName")
        self._ScriptContent = params.get("ScriptContent")
        self._Status = params.get("Status")
        self._TimeCost = params.get("TimeCost")
        self._UserUin = params.get("UserUin")
        self._OwnerUin = params.get("OwnerUin")
        if params.get("SubRecordList") is not None:
            self._SubRecordList = []
            for item in params.get("SubRecordList"):
                obj = TestRunningSubRecord()
                obj._deserialize(item)
                self._SubRecordList.append(obj)
        self._Region = params.get("Region")
        self._BucketName = params.get("BucketName")
        self._ErrorMessage = params.get("ErrorMessage")
        self._ScriptContentTruncated = params.get("ScriptContentTruncated")
        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 TestRunningSubRecord(AbstractModel):
    r"""试运行子记录

    """

    def __init__(self):
        r"""
        :param _StartTime: <p>开发时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: <p>结束时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _ExecutionJobId: <p>执行平台执行id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionJobId: str
        :param _ExecutionSubJobId: <p>执行平台子执行jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionSubJobId: str
        :param _JobId: <p>开发侧提交的jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type JobId: str
        :param _DetailId: <p>子记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type DetailId: int
        :param _RecordId: <p>试运行记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type RecordId: int
        :param _ScriptContent: <p>脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContent: str
        :param _Status: <p>状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _TimeCost: <p>耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TimeCost: int
        :param _ResultTotalCount: <p>结果总行数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultTotalCount: int
        :param _ResultPreviewCount: <p>预览结果行数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultPreviewCount: int
        :param _ResultFilePath: <p>结果文件路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultFilePath: str
        :param _ResultPreviewFilePath: <p>预览结果文件路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ResultPreviewFilePath: str
        :param _UpdateTime: <p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Sequence: <p>序号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Sequence: str
        :param _LogFilePath: <p>日志路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type LogFilePath: str
        :param _HasSubResultSet: <p>是否包含子结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type HasSubResultSet: bool
        :param _ScriptContentTruncated: <p>脚本内容是否被截断</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptContentTruncated: bool
        :param _SchemaInfoFilePath: <p>结果集表字符信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type SchemaInfoFilePath: str
        """
        self._StartTime = None
        self._EndTime = None
        self._ExecutionJobId = None
        self._ExecutionSubJobId = None
        self._JobId = None
        self._DetailId = None
        self._RecordId = None
        self._ScriptContent = None
        self._Status = None
        self._TimeCost = None
        self._ResultTotalCount = None
        self._ResultPreviewCount = None
        self._ResultFilePath = None
        self._ResultPreviewFilePath = None
        self._UpdateTime = None
        self._Sequence = None
        self._LogFilePath = None
        self._HasSubResultSet = None
        self._ScriptContentTruncated = None
        self._SchemaInfoFilePath = None

    @property
    def StartTime(self):
        r"""<p>开发时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""<p>结束时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def ExecutionJobId(self):
        r"""<p>执行平台执行id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionJobId

    @ExecutionJobId.setter
    def ExecutionJobId(self, ExecutionJobId):
        self._ExecutionJobId = ExecutionJobId

    @property
    def ExecutionSubJobId(self):
        r"""<p>执行平台子执行jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionSubJobId

    @ExecutionSubJobId.setter
    def ExecutionSubJobId(self, ExecutionSubJobId):
        self._ExecutionSubJobId = ExecutionSubJobId

    @property
    def JobId(self):
        r"""<p>开发侧提交的jobid</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._JobId

    @JobId.setter
    def JobId(self, JobId):
        self._JobId = JobId

    @property
    def DetailId(self):
        r"""<p>子记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DetailId

    @DetailId.setter
    def DetailId(self, DetailId):
        self._DetailId = DetailId

    @property
    def RecordId(self):
        r"""<p>试运行记录id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._RecordId

    @RecordId.setter
    def RecordId(self, RecordId):
        self._RecordId = RecordId

    @property
    def ScriptContent(self):
        r"""<p>脚本内容</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScriptContent

    @ScriptContent.setter
    def ScriptContent(self, ScriptContent):
        self._ScriptContent = ScriptContent

    @property
    def Status(self):
        r"""<p>状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def TimeCost(self):
        r"""<p>耗时</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TimeCost

    @TimeCost.setter
    def TimeCost(self, TimeCost):
        self._TimeCost = TimeCost

    @property
    def ResultTotalCount(self):
        r"""<p>结果总行数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ResultTotalCount

    @ResultTotalCount.setter
    def ResultTotalCount(self, ResultTotalCount):
        self._ResultTotalCount = ResultTotalCount

    @property
    def ResultPreviewCount(self):
        r"""<p>预览结果行数</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ResultPreviewCount

    @ResultPreviewCount.setter
    def ResultPreviewCount(self, ResultPreviewCount):
        self._ResultPreviewCount = ResultPreviewCount

    @property
    def ResultFilePath(self):
        r"""<p>结果文件路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResultFilePath

    @ResultFilePath.setter
    def ResultFilePath(self, ResultFilePath):
        self._ResultFilePath = ResultFilePath

    @property
    def ResultPreviewFilePath(self):
        r"""<p>预览结果文件路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResultPreviewFilePath

    @ResultPreviewFilePath.setter
    def ResultPreviewFilePath(self, ResultPreviewFilePath):
        self._ResultPreviewFilePath = ResultPreviewFilePath

    @property
    def UpdateTime(self):
        r"""<p>更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Sequence(self):
        r"""<p>序号</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Sequence

    @Sequence.setter
    def Sequence(self, Sequence):
        self._Sequence = Sequence

    @property
    def LogFilePath(self):
        r"""<p>日志路径</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LogFilePath

    @LogFilePath.setter
    def LogFilePath(self, LogFilePath):
        self._LogFilePath = LogFilePath

    @property
    def HasSubResultSet(self):
        r"""<p>是否包含子结果</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._HasSubResultSet

    @HasSubResultSet.setter
    def HasSubResultSet(self, HasSubResultSet):
        self._HasSubResultSet = HasSubResultSet

    @property
    def ScriptContentTruncated(self):
        r"""<p>脚本内容是否被截断</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._ScriptContentTruncated

    @ScriptContentTruncated.setter
    def ScriptContentTruncated(self, ScriptContentTruncated):
        self._ScriptContentTruncated = ScriptContentTruncated

    @property
    def SchemaInfoFilePath(self):
        r"""<p>结果集表字符信息</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchemaInfoFilePath

    @SchemaInfoFilePath.setter
    def SchemaInfoFilePath(self, SchemaInfoFilePath):
        self._SchemaInfoFilePath = SchemaInfoFilePath


    def _deserialize(self, params):
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._ExecutionJobId = params.get("ExecutionJobId")
        self._ExecutionSubJobId = params.get("ExecutionSubJobId")
        self._JobId = params.get("JobId")
        self._DetailId = params.get("DetailId")
        self._RecordId = params.get("RecordId")
        self._ScriptContent = params.get("ScriptContent")
        self._Status = params.get("Status")
        self._TimeCost = params.get("TimeCost")
        self._ResultTotalCount = params.get("ResultTotalCount")
        self._ResultPreviewCount = params.get("ResultPreviewCount")
        self._ResultFilePath = params.get("ResultFilePath")
        self._ResultPreviewFilePath = params.get("ResultPreviewFilePath")
        self._UpdateTime = params.get("UpdateTime")
        self._Sequence = params.get("Sequence")
        self._LogFilePath = params.get("LogFilePath")
        self._HasSubResultSet = params.get("HasSubResultSet")
        self._ScriptContentTruncated = params.get("ScriptContentTruncated")
        self._SchemaInfoFilePath = params.get("SchemaInfoFilePath")
        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 ThresholdValue(AbstractModel):
    r"""数据质量阈值

    """

    def __init__(self):
        r"""
        :param _ValueType: 阈值类型  1.低阈值  2.高阈值   3.普通阈值  4.枚举值
注意：此字段可能返回 null，表示取不到有效值。
        :type ValueType: int
        :param _Value: 阈值
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._ValueType = None
        self._Value = None

    @property
    def ValueType(self):
        r"""阈值类型  1.低阈值  2.高阈值   3.普通阈值  4.枚举值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._ValueType

    @ValueType.setter
    def ValueType(self, ValueType):
        self._ValueType = ValueType

    @property
    def Value(self):
        r"""阈值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._ValueType = params.get("ValueType")
        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 TopTableStat(AbstractModel):
    r"""质量概览表排行结果

    """

    def __init__(self):
        r"""
        :param _AlarmTables: 告警表列表
        :type AlarmTables: list of TopTableStatItem
        :param _PipelineTables: 阻塞表列表
        :type PipelineTables: list of TopTableStatItem
        """
        self._AlarmTables = None
        self._PipelineTables = None

    @property
    def AlarmTables(self):
        r"""告警表列表
        :rtype: list of TopTableStatItem
        """
        return self._AlarmTables

    @AlarmTables.setter
    def AlarmTables(self, AlarmTables):
        self._AlarmTables = AlarmTables

    @property
    def PipelineTables(self):
        r"""阻塞表列表
        :rtype: list of TopTableStatItem
        """
        return self._PipelineTables

    @PipelineTables.setter
    def PipelineTables(self, PipelineTables):
        self._PipelineTables = PipelineTables


    def _deserialize(self, params):
        if params.get("AlarmTables") is not None:
            self._AlarmTables = []
            for item in params.get("AlarmTables"):
                obj = TopTableStatItem()
                obj._deserialize(item)
                self._AlarmTables.append(obj)
        if params.get("PipelineTables") is not None:
            self._PipelineTables = []
            for item in params.get("PipelineTables"):
                obj = TopTableStatItem()
                obj._deserialize(item)
                self._PipelineTables.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 TopTableStatItem(AbstractModel):
    r"""质量概览表排行元素

    """

    def __init__(self):
        r"""
        :param _TableId: 表Id
        :type TableId: str
        :param _TableName: 表名
注意：此字段可能返回 null，表示取不到有效值。
        :type TableName: str
        :param _Cnt: 数
        :type Cnt: int
        """
        self._TableId = None
        self._TableName = None
        self._Cnt = None

    @property
    def TableId(self):
        r"""表Id
        :rtype: str
        """
        return self._TableId

    @TableId.setter
    def TableId(self, TableId):
        self._TableId = TableId

    @property
    def TableName(self):
        r"""表名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TableName

    @TableName.setter
    def TableName(self, TableName):
        self._TableName = TableName

    @property
    def Cnt(self):
        r"""数
        :rtype: int
        """
        return self._Cnt

    @Cnt.setter
    def Cnt(self, Cnt):
        self._Cnt = Cnt


    def _deserialize(self, params):
        self._TableId = params.get("TableId")
        self._TableName = params.get("TableName")
        self._Cnt = params.get("Cnt")
        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 TriggerDsEventRequest(AbstractModel):
    r"""TriggerDsEvent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _EventCaseList: 事件实例信息
        :type EventCaseList: list of EventCaseDTO
        :param _EventBatchCaseList: 事件实例信息(连续时间)
        :type EventBatchCaseList: list of EventBatchCaseDTO
        :param _ScheduleTimeZone: 触发时区
        :type ScheduleTimeZone: str
        """
        self._ProjectId = None
        self._EventCaseList = None
        self._EventBatchCaseList = None
        self._ScheduleTimeZone = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def EventCaseList(self):
        r"""事件实例信息
        :rtype: list of EventCaseDTO
        """
        return self._EventCaseList

    @EventCaseList.setter
    def EventCaseList(self, EventCaseList):
        self._EventCaseList = EventCaseList

    @property
    def EventBatchCaseList(self):
        r"""事件实例信息(连续时间)
        :rtype: list of EventBatchCaseDTO
        """
        return self._EventBatchCaseList

    @EventBatchCaseList.setter
    def EventBatchCaseList(self, EventBatchCaseList):
        self._EventBatchCaseList = EventBatchCaseList

    @property
    def ScheduleTimeZone(self):
        r"""触发时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        if params.get("EventCaseList") is not None:
            self._EventCaseList = []
            for item in params.get("EventCaseList"):
                obj = EventCaseDTO()
                obj._deserialize(item)
                self._EventCaseList.append(obj)
        if params.get("EventBatchCaseList") is not None:
            self._EventBatchCaseList = []
            for item in params.get("EventBatchCaseList"):
                obj = EventBatchCaseDTO()
                obj._deserialize(item)
                self._EventBatchCaseList.append(obj)
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        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 TriggerDsEventResponse(AbstractModel):
    r"""TriggerDsEvent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOpsDTO`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOpsDTO`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOpsDTO()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class TriggerEventRequest(AbstractModel):
    r"""TriggerEvent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _Name: 案例名称
        :type Name: str
        :param _Dimension: 时间格式：如果选择触发时间：2022年6月21，则设置为20220621
        :type Dimension: str
        :param _Description: 描述信息
        :type Description: str
        """
        self._ProjectId = None
        self._Name = None
        self._Dimension = None
        self._Description = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Name(self):
        r"""案例名称
        :rtype: str
        """
        return self._Name

    @Name.setter
    def Name(self, Name):
        self._Name = Name

    @property
    def Dimension(self):
        r"""时间格式：如果选择触发时间：2022年6月21，则设置为20220621
        :rtype: str
        """
        return self._Dimension

    @Dimension.setter
    def Dimension(self, Dimension):
        self._Dimension = Dimension

    @property
    def Description(self):
        r"""描述信息
        :rtype: str
        """
        return self._Description

    @Description.setter
    def Description(self, Description):
        self._Description = Description


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._Name = params.get("Name")
        self._Dimension = params.get("Dimension")
        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 TriggerEventResponse(AbstractModel):
    r"""TriggerEvent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""成功或者失败
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchReturn`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchReturn()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class TriggerManualTasksRequest(AbstractModel):
    r"""TriggerManualTasks请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
        :type ProjectId: str
        :param _TriggerName: 触发运行名称
        :type TriggerName: str
        :param _TriggerScope: 运行范围 ENTIRE_WORKFLOW or SPECIFIED_TASK
        :type TriggerScope: str
        :param _DataTimeList: 运行数据时间列表
        :type DataTimeList: list of str
        :param _WorkflowId: 手动工作流ID
        :type WorkflowId: str
        :param _Remark: 备注
        :type Remark: str
        :param _TaskIds: 需要运行的手动工作流任务列表TriggerScope=ENTIRE_WORKFLOW 时无需传此参数，TriggerScope=SPECIFIED_TASK此参数必传
        :type TaskIds: list of str
        :param _SchedulerResourceGroup: 用户提交运行时指定的调度资源组，未指定时使用任务配置的调度资源组
        :type SchedulerResourceGroup: str
        :param _IntegrationResourceGroup: 用户提交运行时指定的集成资源组，未指定时使用任务配置的集成资源组
        :type IntegrationResourceGroup: str
        :param _ExecOrder: 执行顺序 ASC、RAND、DESC
        :type ExecOrder: str
        :param _CustomParams: 自定义参数，最高优先级
        :type CustomParams: list of KVPair
        :param _ExtraParams: 页面反显使用，无业务含义
        :type ExtraParams: str
        :param _ScheduleTimeZone: 实例时间的时区
        :type ScheduleTimeZone: str
        :param _TimeType: 时间类型，DATA_TIME：数据时间、SCHEDULE_TIME：计划调度时间, 为空时会被当成DATA_TIME处理
        :type TimeType: str
        """
        self._ProjectId = None
        self._TriggerName = None
        self._TriggerScope = None
        self._DataTimeList = None
        self._WorkflowId = None
        self._Remark = None
        self._TaskIds = None
        self._SchedulerResourceGroup = None
        self._IntegrationResourceGroup = None
        self._ExecOrder = None
        self._CustomParams = None
        self._ExtraParams = None
        self._ScheduleTimeZone = None
        self._TimeType = None

    @property
    def ProjectId(self):
        r"""项目ID
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def TriggerName(self):
        r"""触发运行名称
        :rtype: str
        """
        return self._TriggerName

    @TriggerName.setter
    def TriggerName(self, TriggerName):
        self._TriggerName = TriggerName

    @property
    def TriggerScope(self):
        r"""运行范围 ENTIRE_WORKFLOW or SPECIFIED_TASK
        :rtype: str
        """
        return self._TriggerScope

    @TriggerScope.setter
    def TriggerScope(self, TriggerScope):
        self._TriggerScope = TriggerScope

    @property
    def DataTimeList(self):
        r"""运行数据时间列表
        :rtype: list of str
        """
        return self._DataTimeList

    @DataTimeList.setter
    def DataTimeList(self, DataTimeList):
        self._DataTimeList = DataTimeList

    @property
    def WorkflowId(self):
        r"""手动工作流ID
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Remark(self):
        r"""备注
        :rtype: str
        """
        return self._Remark

    @Remark.setter
    def Remark(self, Remark):
        self._Remark = Remark

    @property
    def TaskIds(self):
        r"""需要运行的手动工作流任务列表TriggerScope=ENTIRE_WORKFLOW 时无需传此参数，TriggerScope=SPECIFIED_TASK此参数必传
        :rtype: list of str
        """
        return self._TaskIds

    @TaskIds.setter
    def TaskIds(self, TaskIds):
        self._TaskIds = TaskIds

    @property
    def SchedulerResourceGroup(self):
        r"""用户提交运行时指定的调度资源组，未指定时使用任务配置的调度资源组
        :rtype: str
        """
        return self._SchedulerResourceGroup

    @SchedulerResourceGroup.setter
    def SchedulerResourceGroup(self, SchedulerResourceGroup):
        self._SchedulerResourceGroup = SchedulerResourceGroup

    @property
    def IntegrationResourceGroup(self):
        r"""用户提交运行时指定的集成资源组，未指定时使用任务配置的集成资源组
        :rtype: str
        """
        return self._IntegrationResourceGroup

    @IntegrationResourceGroup.setter
    def IntegrationResourceGroup(self, IntegrationResourceGroup):
        self._IntegrationResourceGroup = IntegrationResourceGroup

    @property
    def ExecOrder(self):
        r"""执行顺序 ASC、RAND、DESC
        :rtype: str
        """
        return self._ExecOrder

    @ExecOrder.setter
    def ExecOrder(self, ExecOrder):
        self._ExecOrder = ExecOrder

    @property
    def CustomParams(self):
        r"""自定义参数，最高优先级
        :rtype: list of KVPair
        """
        return self._CustomParams

    @CustomParams.setter
    def CustomParams(self, CustomParams):
        self._CustomParams = CustomParams

    @property
    def ExtraParams(self):
        r"""页面反显使用，无业务含义
        :rtype: str
        """
        return self._ExtraParams

    @ExtraParams.setter
    def ExtraParams(self, ExtraParams):
        self._ExtraParams = ExtraParams

    @property
    def ScheduleTimeZone(self):
        r"""实例时间的时区
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone

    @property
    def TimeType(self):
        r"""时间类型，DATA_TIME：数据时间、SCHEDULE_TIME：计划调度时间, 为空时会被当成DATA_TIME处理
        :rtype: str
        """
        return self._TimeType

    @TimeType.setter
    def TimeType(self, TimeType):
        self._TimeType = TimeType


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._TriggerName = params.get("TriggerName")
        self._TriggerScope = params.get("TriggerScope")
        self._DataTimeList = params.get("DataTimeList")
        self._WorkflowId = params.get("WorkflowId")
        self._Remark = params.get("Remark")
        self._TaskIds = params.get("TaskIds")
        self._SchedulerResourceGroup = params.get("SchedulerResourceGroup")
        self._IntegrationResourceGroup = params.get("IntegrationResourceGroup")
        self._ExecOrder = params.get("ExecOrder")
        if params.get("CustomParams") is not None:
            self._CustomParams = []
            for item in params.get("CustomParams"):
                obj = KVPair()
                obj._deserialize(item)
                self._CustomParams.append(obj)
        self._ExtraParams = params.get("ExtraParams")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        self._TimeType = params.get("TimeType")
        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 TriggerManualTasksResponse(AbstractModel):
    r"""TriggerManualTasks返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :type RequestFromSource: str
        :param _Data: 详情结果
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.ManualTriggerRecordOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestFromSource = None
        self._Data = None
        self._RequestId = None

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def Data(self):
        r"""详情结果
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ManualTriggerRecordOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._RequestFromSource = params.get("RequestFromSource")
        if params.get("Data") is not None:
            self._Data = ManualTriggerRecordOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class UnboundProjectExecutorResourceRequest(AbstractModel):
    r"""UnboundProjectExecutorResource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ExecutorGroupId: 执行资源组id
        :type ExecutorGroupId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdList: 可选: 需要绑定的多个项目id, 若申明将带上ProjectId一起绑定
        :type ProjectIdList: list of str
        :param _ExecutorResourcePackageIds: 需要绑定项目的资源包id集合，为空则绑定整个资源组
        :type ExecutorResourcePackageIds: list of str
        """
        self._ExecutorGroupId = None
        self._ProjectId = None
        self._ProjectIdList = None
        self._ExecutorResourcePackageIds = None

    @property
    def ExecutorGroupId(self):
        r"""执行资源组id
        :rtype: str
        """
        return self._ExecutorGroupId

    @ExecutorGroupId.setter
    def ExecutorGroupId(self, ExecutorGroupId):
        self._ExecutorGroupId = ExecutorGroupId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdList(self):
        r"""可选: 需要绑定的多个项目id, 若申明将带上ProjectId一起绑定
        :rtype: list of str
        """
        return self._ProjectIdList

    @ProjectIdList.setter
    def ProjectIdList(self, ProjectIdList):
        self._ProjectIdList = ProjectIdList

    @property
    def ExecutorResourcePackageIds(self):
        r"""需要绑定项目的资源包id集合，为空则绑定整个资源组
        :rtype: list of str
        """
        return self._ExecutorResourcePackageIds

    @ExecutorResourcePackageIds.setter
    def ExecutorResourcePackageIds(self, ExecutorResourcePackageIds):
        self._ExecutorResourcePackageIds = ExecutorResourcePackageIds


    def _deserialize(self, params):
        self._ExecutorGroupId = params.get("ExecutorGroupId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdList = params.get("ProjectIdList")
        self._ExecutorResourcePackageIds = params.get("ExecutorResourcePackageIds")
        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 UnboundProjectExecutorResourceResponse(AbstractModel):
    r"""UnboundProjectExecutorResource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 是否绑定成功，失败返回异常
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""是否绑定成功，失败返回异常
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class UnlockIntegrationTaskRequest(AbstractModel):
    r"""UnlockIntegrationTask请求参数结构体

    """

    def __init__(self):
        r"""
        :param _TaskId: 任务id
        :type TaskId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._TaskId = None
        self._ProjectId = None

    @property
    def TaskId(self):
        r"""任务id
        :rtype: str
        """
        return self._TaskId

    @TaskId.setter
    def TaskId(self, TaskId):
        self._TaskId = TaskId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        self._TaskId = params.get("TaskId")
        self._ProjectId = params.get("ProjectId")
        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 UnlockIntegrationTaskResponse(AbstractModel):
    r"""UnlockIntegrationTask返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 操作成功与否标识
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""操作成功与否标识
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class UpdateCodeTemplateRequest(AbstractModel):
    r"""UpdateCodeTemplate请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _CodeTemplateId: 模版id
        :type CodeTemplateId: str
        :param _CodeTemplateName: 模版名	
        :type CodeTemplateName: str
        :param _InChargeId: 责任人列表
        :type InChargeId: str
        :param _InCharge: 责任人名称
        :type InCharge: str
        :param _Ext: 扩展属性
        :type Ext: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        :param _BrokerIp: 执行机ip
        :type BrokerIp: str
        :param _ResourceGroup: 资源组id
        :type ResourceGroup: str
        :param _CodeTemplateDesc: 模版描述	
        :type CodeTemplateDesc: str
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _ScriptChange: 脚本是否发生变化
        :type ScriptChange: bool
        :param _Content: 转Base64的代码内容
        :type Content: str
        """
        self._ProjectId = None
        self._CodeTemplateId = None
        self._CodeTemplateName = None
        self._InChargeId = None
        self._InCharge = None
        self._Ext = None
        self._BrokerIp = None
        self._ResourceGroup = None
        self._CodeTemplateDesc = None
        self._RequestFromSource = None
        self._ScriptChange = None
        self._Content = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def CodeTemplateId(self):
        r"""模版id
        :rtype: str
        """
        return self._CodeTemplateId

    @CodeTemplateId.setter
    def CodeTemplateId(self, CodeTemplateId):
        self._CodeTemplateId = CodeTemplateId

    @property
    def CodeTemplateName(self):
        r"""模版名	
        :rtype: str
        """
        return self._CodeTemplateName

    @CodeTemplateName.setter
    def CodeTemplateName(self, CodeTemplateName):
        self._CodeTemplateName = CodeTemplateName

    @property
    def InChargeId(self):
        r"""责任人列表
        :rtype: str
        """
        return self._InChargeId

    @InChargeId.setter
    def InChargeId(self, InChargeId):
        self._InChargeId = InChargeId

    @property
    def InCharge(self):
        r"""责任人名称
        :rtype: str
        """
        return self._InCharge

    @InCharge.setter
    def InCharge(self, InCharge):
        self._InCharge = InCharge

    @property
    def Ext(self):
        r"""扩展属性
        :rtype: :class:`tencentcloud.wedata.v20210820.models.TaskExtDsVO`
        """
        return self._Ext

    @Ext.setter
    def Ext(self, Ext):
        self._Ext = Ext

    @property
    def BrokerIp(self):
        r"""执行机ip
        :rtype: str
        """
        return self._BrokerIp

    @BrokerIp.setter
    def BrokerIp(self, BrokerIp):
        self._BrokerIp = BrokerIp

    @property
    def ResourceGroup(self):
        r"""资源组id
        :rtype: str
        """
        return self._ResourceGroup

    @ResourceGroup.setter
    def ResourceGroup(self, ResourceGroup):
        self._ResourceGroup = ResourceGroup

    @property
    def CodeTemplateDesc(self):
        r"""模版描述	
        :rtype: str
        """
        return self._CodeTemplateDesc

    @CodeTemplateDesc.setter
    def CodeTemplateDesc(self, CodeTemplateDesc):
        self._CodeTemplateDesc = CodeTemplateDesc

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def ScriptChange(self):
        r"""脚本是否发生变化
        :rtype: bool
        """
        return self._ScriptChange

    @ScriptChange.setter
    def ScriptChange(self, ScriptChange):
        self._ScriptChange = ScriptChange

    @property
    def Content(self):
        r"""转Base64的代码内容
        :rtype: str
        """
        return self._Content

    @Content.setter
    def Content(self, Content):
        self._Content = Content


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._CodeTemplateId = params.get("CodeTemplateId")
        self._CodeTemplateName = params.get("CodeTemplateName")
        self._InChargeId = params.get("InChargeId")
        self._InCharge = params.get("InCharge")
        if params.get("Ext") is not None:
            self._Ext = TaskExtDsVO()
            self._Ext._deserialize(params.get("Ext"))
        self._BrokerIp = params.get("BrokerIp")
        self._ResourceGroup = params.get("ResourceGroup")
        self._CodeTemplateDesc = params.get("CodeTemplateDesc")
        self._RequestFromSource = params.get("RequestFromSource")
        self._ScriptChange = params.get("ScriptChange")
        self._Content = params.get("Content")
        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 UpdateCodeTemplateResponse(AbstractModel):
    r"""UpdateCodeTemplate返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 详情
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""详情
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class UpdateDataModelRegistryInfoRequest(AbstractModel):
    r"""UpdateDataModelRegistryInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _CloudappId: 云应用的实例id
        :type CloudappId: str
        :param _AppCamRole: 数语的CAM角色
        :type AppCamRole: str
        :param _Ip: 数语的公网访问ip
        :type Ip: str
        :param _Port: 数语的公网访问端口
        :type Port: int
        :param _AppCamRoleId: 数语的CAM角色id
        :type AppCamRoleId: str
        :param _Provider: 服务提供方
        :type Provider: str
        :param _TenantId: 租户id
        :type TenantId: str
        :param _OwnId: 主账号id
        :type OwnId: str
        :param _VpcId: VpcId
        :type VpcId: str
        :param _VpcRegion: Vpc地域
        :type VpcRegion: str
        :param _Pip: 数语的内网访问ip
        :type Pip: str
        :param _Pport: 数语的内网访问端口
        :type Pport: int
        :param _IsPublic: 是否开放公网访问数语, 1:是，0:否，默认1开放
        :type IsPublic: int
        """
        self._CloudappId = None
        self._AppCamRole = None
        self._Ip = None
        self._Port = None
        self._AppCamRoleId = None
        self._Provider = None
        self._TenantId = None
        self._OwnId = None
        self._VpcId = None
        self._VpcRegion = None
        self._Pip = None
        self._Pport = None
        self._IsPublic = None

    @property
    def CloudappId(self):
        r"""云应用的实例id
        :rtype: str
        """
        return self._CloudappId

    @CloudappId.setter
    def CloudappId(self, CloudappId):
        self._CloudappId = CloudappId

    @property
    def AppCamRole(self):
        r"""数语的CAM角色
        :rtype: str
        """
        return self._AppCamRole

    @AppCamRole.setter
    def AppCamRole(self, AppCamRole):
        self._AppCamRole = AppCamRole

    @property
    def Ip(self):
        r"""数语的公网访问ip
        :rtype: str
        """
        return self._Ip

    @Ip.setter
    def Ip(self, Ip):
        self._Ip = Ip

    @property
    def Port(self):
        r"""数语的公网访问端口
        :rtype: int
        """
        return self._Port

    @Port.setter
    def Port(self, Port):
        self._Port = Port

    @property
    def AppCamRoleId(self):
        r"""数语的CAM角色id
        :rtype: str
        """
        return self._AppCamRoleId

    @AppCamRoleId.setter
    def AppCamRoleId(self, AppCamRoleId):
        self._AppCamRoleId = AppCamRoleId

    @property
    def Provider(self):
        r"""服务提供方
        :rtype: str
        """
        return self._Provider

    @Provider.setter
    def Provider(self, Provider):
        self._Provider = Provider

    @property
    def TenantId(self):
        r"""租户id
        :rtype: str
        """
        return self._TenantId

    @TenantId.setter
    def TenantId(self, TenantId):
        self._TenantId = TenantId

    @property
    def OwnId(self):
        r"""主账号id
        :rtype: str
        """
        return self._OwnId

    @OwnId.setter
    def OwnId(self, OwnId):
        self._OwnId = OwnId

    @property
    def VpcId(self):
        r"""VpcId
        :rtype: str
        """
        return self._VpcId

    @VpcId.setter
    def VpcId(self, VpcId):
        self._VpcId = VpcId

    @property
    def VpcRegion(self):
        r"""Vpc地域
        :rtype: str
        """
        return self._VpcRegion

    @VpcRegion.setter
    def VpcRegion(self, VpcRegion):
        self._VpcRegion = VpcRegion

    @property
    def Pip(self):
        r"""数语的内网访问ip
        :rtype: str
        """
        return self._Pip

    @Pip.setter
    def Pip(self, Pip):
        self._Pip = Pip

    @property
    def Pport(self):
        r"""数语的内网访问端口
        :rtype: int
        """
        return self._Pport

    @Pport.setter
    def Pport(self, Pport):
        self._Pport = Pport

    @property
    def IsPublic(self):
        r"""是否开放公网访问数语, 1:是，0:否，默认1开放
        :rtype: int
        """
        return self._IsPublic

    @IsPublic.setter
    def IsPublic(self, IsPublic):
        self._IsPublic = IsPublic


    def _deserialize(self, params):
        self._CloudappId = params.get("CloudappId")
        self._AppCamRole = params.get("AppCamRole")
        self._Ip = params.get("Ip")
        self._Port = params.get("Port")
        self._AppCamRoleId = params.get("AppCamRoleId")
        self._Provider = params.get("Provider")
        self._TenantId = params.get("TenantId")
        self._OwnId = params.get("OwnId")
        self._VpcId = params.get("VpcId")
        self._VpcRegion = params.get("VpcRegion")
        self._Pip = params.get("Pip")
        self._Pport = params.get("Pport")
        self._IsPublic = params.get("IsPublic")
        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 UpdateDataModelRegistryInfoResponse(AbstractModel):
    r"""UpdateDataModelRegistryInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 数语向wedata注册成功
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""数语向wedata注册成功
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class UpdateProjectUserRoleRequest(AbstractModel):
    r"""UpdateProjectUserRole请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _UserIds: 用户id
        :type UserIds: list of str
        :param _RoleIds: 角色id
        :type RoleIds: list of str
        """
        self._ProjectId = None
        self._UserIds = None
        self._RoleIds = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def UserIds(self):
        r"""用户id
        :rtype: list of str
        """
        return self._UserIds

    @UserIds.setter
    def UserIds(self, UserIds):
        self._UserIds = UserIds

    @property
    def RoleIds(self):
        r"""角色id
        :rtype: list of str
        """
        return self._RoleIds

    @RoleIds.setter
    def RoleIds(self, RoleIds):
        self._RoleIds = RoleIds


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._UserIds = params.get("UserIds")
        self._RoleIds = params.get("RoleIds")
        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 UpdateProjectUserRoleResponse(AbstractModel):
    r"""UpdateProjectUserRole返回参数结构体

    """

    def __init__(self):
        r"""
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._RequestId = None

    @property
    def RequestId(self):
        r"""唯一请求 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 UpdateWorkflowInfoRequest(AbstractModel):
    r"""UpdateWorkflowInfo请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _OperatorName: 操作者名称
        :type OperatorName: str
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _Owner: 责任人
        :type Owner: str
        :param _OwnerId: 责任人id
        :type OwnerId: str
        :param _WorkflowDesc: 备注
        :type WorkflowDesc: str
        :param _WorkflowName: 工作流名称
        :type WorkflowName: str
        :param _FolderId: 所属文件夹id
        :type FolderId: str
        :param _UserGroupId: 工作流所属用户分组id  若有多个,分号隔开: a;b;c
        :type UserGroupId: str
        :param _UserGroupName: 工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        :type UserGroupName: str
        :param _WorkflowParams: 工作流参数列表
        :type WorkflowParams: list of ParamInfo
        :param _GeneralTaskParams: 用于配置优化参数（线程、内存、CPU核数等），仅作用于Spark SQL节点。多个参数用英文分号分隔。
        :type GeneralTaskParams: list of GeneralTaskParam
        :param _DependencyWorkflow: 工作流依赖，yes/no。开启后表示当前任务依赖本工作流上个周期的所有任务。仅支持当前任务所在工作流的任务全部为同周期的情况，如果非同周期则不生效，请在工作流-统一调度上进行配置。
        :type DependencyWorkflow: str
        """
        self._ProjectId = None
        self._OperatorName = None
        self._WorkflowId = None
        self._Owner = None
        self._OwnerId = None
        self._WorkflowDesc = None
        self._WorkflowName = None
        self._FolderId = None
        self._UserGroupId = None
        self._UserGroupName = None
        self._WorkflowParams = None
        self._GeneralTaskParams = None
        self._DependencyWorkflow = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def OperatorName(self):
        r"""操作者名称
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Owner(self):
        r"""责任人
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人id
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def WorkflowDesc(self):
        r"""备注
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowName(self):
        r"""工作流名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""所属文件夹id
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def UserGroupId(self):
        r"""工作流所属用户分组id  若有多个,分号隔开: a;b;c
        :rtype: str
        """
        return self._UserGroupId

    @UserGroupId.setter
    def UserGroupId(self, UserGroupId):
        self._UserGroupId = UserGroupId

    @property
    def UserGroupName(self):
        r"""工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        :rtype: str
        """
        return self._UserGroupName

    @UserGroupName.setter
    def UserGroupName(self, UserGroupName):
        self._UserGroupName = UserGroupName

    @property
    def WorkflowParams(self):
        r"""工作流参数列表
        :rtype: list of ParamInfo
        """
        return self._WorkflowParams

    @WorkflowParams.setter
    def WorkflowParams(self, WorkflowParams):
        self._WorkflowParams = WorkflowParams

    @property
    def GeneralTaskParams(self):
        r"""用于配置优化参数（线程、内存、CPU核数等），仅作用于Spark SQL节点。多个参数用英文分号分隔。
        :rtype: list of GeneralTaskParam
        """
        return self._GeneralTaskParams

    @GeneralTaskParams.setter
    def GeneralTaskParams(self, GeneralTaskParams):
        self._GeneralTaskParams = GeneralTaskParams

    @property
    def DependencyWorkflow(self):
        r"""工作流依赖，yes/no。开启后表示当前任务依赖本工作流上个周期的所有任务。仅支持当前任务所在工作流的任务全部为同周期的情况，如果非同周期则不生效，请在工作流-统一调度上进行配置。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._OperatorName = params.get("OperatorName")
        self._WorkflowId = params.get("WorkflowId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._UserGroupId = params.get("UserGroupId")
        self._UserGroupName = params.get("UserGroupName")
        if params.get("WorkflowParams") is not None:
            self._WorkflowParams = []
            for item in params.get("WorkflowParams"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._WorkflowParams.append(obj)
        if params.get("GeneralTaskParams") is not None:
            self._GeneralTaskParams = []
            for item in params.get("GeneralTaskParams"):
                obj = GeneralTaskParam()
                obj._deserialize(item)
                self._GeneralTaskParams.append(obj)
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        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 UpdateWorkflowInfoResponse(AbstractModel):
    r"""UpdateWorkflowInfo返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: true代表成功，false代表失败
        :type Data: bool
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""true代表成功，false代表失败
        :rtype: bool
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        self._Data = params.get("Data")
        self._RequestId = params.get("RequestId")


class UpdateWorkflowOwnerRequest(AbstractModel):
    r"""UpdateWorkflowOwner请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目Id
        :type ProjectId: str
        :param _WorkflowIds: 工作流Ids
        :type WorkflowIds: list of str
        :param _Owner: 责任人，多个以';'号分割
        :type Owner: str
        :param _OwnerId: 责任人UserId，多个以';'号分割
        :type OwnerId: str
        """
        self._ProjectId = None
        self._WorkflowIds = None
        self._Owner = None
        self._OwnerId = None

    @property
    def ProjectId(self):
        r"""项目Id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowIds(self):
        r"""工作流Ids
        :rtype: list of str
        """
        return self._WorkflowIds

    @WorkflowIds.setter
    def WorkflowIds(self, WorkflowIds):
        self._WorkflowIds = WorkflowIds

    @property
    def Owner(self):
        r"""责任人，多个以';'号分割
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人UserId，多个以';'号分割
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowIds = params.get("WorkflowIds")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        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 UpdateWorkflowOwnerResponse(AbstractModel):
    r"""UpdateWorkflowOwner返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :type Data: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""响应数据
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.BatchOperationOpsDto`
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = BatchOperationOpsDto()
            self._Data._deserialize(params.get("Data"))
        self._RequestId = params.get("RequestId")


class UploadContentRequest(AbstractModel):
    r"""UploadContent请求参数结构体

    """

    def __init__(self):
        r"""
        :param _ScriptRequestInfo: 脚本上传信息
        :type ScriptRequestInfo: :class:`tencentcloud.wedata.v20210820.models.ScriptRequestInfo`
        :param _RequestFromSource: 请求来源，WEB 前端；CLIENT 客户端
        :type RequestFromSource: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._ScriptRequestInfo = None
        self._RequestFromSource = None
        self._ProjectId = None

    @property
    def ScriptRequestInfo(self):
        r"""脚本上传信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ScriptRequestInfo`
        """
        return self._ScriptRequestInfo

    @ScriptRequestInfo.setter
    def ScriptRequestInfo(self, ScriptRequestInfo):
        self._ScriptRequestInfo = ScriptRequestInfo

    @property
    def RequestFromSource(self):
        r"""请求来源，WEB 前端；CLIENT 客户端
        :rtype: str
        """
        return self._RequestFromSource

    @RequestFromSource.setter
    def RequestFromSource(self, RequestFromSource):
        self._RequestFromSource = RequestFromSource

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("ScriptRequestInfo") is not None:
            self._ScriptRequestInfo = ScriptRequestInfo()
            self._ScriptRequestInfo._deserialize(params.get("ScriptRequestInfo"))
        self._RequestFromSource = params.get("RequestFromSource")
        self._ProjectId = params.get("ProjectId")
        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 UploadContentResponse(AbstractModel):
    r"""UploadContent返回参数结构体

    """

    def __init__(self):
        r"""
        :param _ScriptInfo: 脚本信息响应
注意：此字段可能返回 null，表示取不到有效值。
        :type ScriptInfo: :class:`tencentcloud.wedata.v20210820.models.ScriptInfoResponse`
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._ScriptInfo = None
        self._RequestId = None

    @property
    def ScriptInfo(self):
        r"""脚本信息响应
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: :class:`tencentcloud.wedata.v20210820.models.ScriptInfoResponse`
        """
        return self._ScriptInfo

    @ScriptInfo.setter
    def ScriptInfo(self, ScriptInfo):
        self._ScriptInfo = ScriptInfo

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("ScriptInfo") is not None:
            self._ScriptInfo = ScriptInfoResponse()
            self._ScriptInfo._deserialize(params.get("ScriptInfo"))
        self._RequestId = params.get("RequestId")


class UploadResourceRequest(AbstractModel):
    r"""UploadResource请求参数结构体

    """

    def __init__(self):
        r"""
        :param _UploadResourceRequestInfo: 资源上传请求信息
        :type UploadResourceRequestInfo: :class:`tencentcloud.wedata.v20210820.models.UploadResourceRequestInfo`
        :param _ProjectId: 项目id
        :type ProjectId: str
        """
        self._UploadResourceRequestInfo = None
        self._ProjectId = None

    @property
    def UploadResourceRequestInfo(self):
        r"""资源上传请求信息
        :rtype: :class:`tencentcloud.wedata.v20210820.models.UploadResourceRequestInfo`
        """
        return self._UploadResourceRequestInfo

    @UploadResourceRequestInfo.setter
    def UploadResourceRequestInfo(self, UploadResourceRequestInfo):
        self._UploadResourceRequestInfo = UploadResourceRequestInfo

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId


    def _deserialize(self, params):
        if params.get("UploadResourceRequestInfo") is not None:
            self._UploadResourceRequestInfo = UploadResourceRequestInfo()
            self._UploadResourceRequestInfo._deserialize(params.get("UploadResourceRequestInfo"))
        self._ProjectId = params.get("ProjectId")
        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 UploadResourceRequestInfo(AbstractModel):
    r"""资源管理-上传资源请求

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _FilePath: 资源路径
        :type FilePath: str
        :param _BucketName: 桶名称
        :type BucketName: str
        :param _Region: 所属地区
        :type Region: str
        :param _NewFile: 是否为新资源
        :type NewFile: bool
        :param _FileList: 资源列表
        :type FileList: list of str
        :param _FileSizeList: 资源大小列表
        :type FileSizeList: list of str
        :param _FileMd5: File Md5（适配私有化，公有云可以不传）
        :type FileMd5: str
        :param _RemotePath: 资源在对象存储上的实际路径
        :type RemotePath: str
        """
        self._ProjectId = None
        self._FilePath = None
        self._BucketName = None
        self._Region = None
        self._NewFile = None
        self._FileList = None
        self._FileSizeList = None
        self._FileMd5 = None
        self._RemotePath = None

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def FilePath(self):
        r"""资源路径
        :rtype: str
        """
        return self._FilePath

    @FilePath.setter
    def FilePath(self, FilePath):
        self._FilePath = FilePath

    @property
    def BucketName(self):
        r"""桶名称
        :rtype: str
        """
        return self._BucketName

    @BucketName.setter
    def BucketName(self, BucketName):
        self._BucketName = BucketName

    @property
    def Region(self):
        r"""所属地区
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def NewFile(self):
        r"""是否为新资源
        :rtype: bool
        """
        return self._NewFile

    @NewFile.setter
    def NewFile(self, NewFile):
        self._NewFile = NewFile

    @property
    def FileList(self):
        r"""资源列表
        :rtype: list of str
        """
        return self._FileList

    @FileList.setter
    def FileList(self, FileList):
        self._FileList = FileList

    @property
    def FileSizeList(self):
        r"""资源大小列表
        :rtype: list of str
        """
        return self._FileSizeList

    @FileSizeList.setter
    def FileSizeList(self, FileSizeList):
        self._FileSizeList = FileSizeList

    @property
    def FileMd5(self):
        r"""File Md5（适配私有化，公有云可以不传）
        :rtype: str
        """
        return self._FileMd5

    @FileMd5.setter
    def FileMd5(self, FileMd5):
        self._FileMd5 = FileMd5

    @property
    def RemotePath(self):
        r"""资源在对象存储上的实际路径
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._FilePath = params.get("FilePath")
        self._BucketName = params.get("BucketName")
        self._Region = params.get("Region")
        self._NewFile = params.get("NewFile")
        self._FileList = params.get("FileList")
        self._FileSizeList = params.get("FileSizeList")
        self._FileMd5 = params.get("FileMd5")
        self._RemotePath = params.get("RemotePath")
        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 UploadResourceResponse(AbstractModel):
    r"""UploadResource返回参数结构体

    """

    def __init__(self):
        r"""
        :param _Data: 资源文件信息列表
        :type Data: list of UserFileDTONew
        :param _RequestId: 唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :type RequestId: str
        """
        self._Data = None
        self._RequestId = None

    @property
    def Data(self):
        r"""资源文件信息列表
        :rtype: list of UserFileDTONew
        """
        return self._Data

    @Data.setter
    def Data(self, Data):
        self._Data = Data

    @property
    def RequestId(self):
        r"""唯一请求 ID，由服务端生成，每次请求都会返回（若请求因其他原因未能抵达服务端，则该次请求不会获得 RequestId）。定位问题时需要提供该次请求的 RequestId。
        :rtype: str
        """
        return self._RequestId

    @RequestId.setter
    def RequestId(self, RequestId):
        self._RequestId = RequestId


    def _deserialize(self, params):
        if params.get("Data") is not None:
            self._Data = []
            for item in params.get("Data"):
                obj = UserFileDTONew()
                obj._deserialize(item)
                self._Data.append(obj)
        self._RequestId = params.get("RequestId")


class UserFileDTONew(AbstractModel):
    r"""用户文件信息

    """

    def __init__(self):
        r"""
        :param _ResourceId: 资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceId: str
        :param _FileName: 文件名
注意：此字段可能返回 null，表示取不到有效值。
        :type FileName: str
        :param _FileExtensionType: 文件类型，如 jar zip 等
注意：此字段可能返回 null，表示取不到有效值。
        :type FileExtensionType: str
        :param _Type: 文件上传类型，资源管理为 resource
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Md5Value: 文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :type Md5Value: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Size: 文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :type Size: int
        :param _LocalPath: 本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalPath: str
        :param _LocalTempPath: 本地临时路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalTempPath: str
        :param _RemotePath: 远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :type RemotePath: str
        :param _OwnerName: 文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _Owner: 文件拥有者uin
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _PathDepth: 文件深度
注意：此字段可能返回 null，表示取不到有效值。
        :type PathDepth: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ExtraInfo: 附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraInfo: str
        :param _ZipPath: 本地临时压缩文件绝对路径
注意：此字段可能返回 null，表示取不到有效值。
        :type ZipPath: str
        :param _Bucket: 文件所属存储桶
注意：此字段可能返回 null，表示取不到有效值。
        :type Bucket: str
        :param _Region: 文件所属存储桶的地域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _DeleteName: 删除用户名称
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteName: str
        :param _DeleteOwner: 删除用户id
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteOwner: str
        :param _Operator: 操作者id
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _OperatorName: 操作者名称
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorName: str
        :param _FullPath: 全路径
注意：此字段可能返回 null，表示取不到有效值。
        :type FullPath: str
        """
        self._ResourceId = None
        self._FileName = None
        self._FileExtensionType = None
        self._Type = None
        self._Md5Value = None
        self._CreateTime = None
        self._UpdateTime = None
        self._Size = None
        self._LocalPath = None
        self._LocalTempPath = None
        self._RemotePath = None
        self._OwnerName = None
        self._Owner = None
        self._PathDepth = None
        self._ProjectId = None
        self._ExtraInfo = None
        self._ZipPath = None
        self._Bucket = None
        self._Region = None
        self._DeleteName = None
        self._DeleteOwner = None
        self._Operator = None
        self._OperatorName = None
        self._FullPath = None

    @property
    def ResourceId(self):
        r"""资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def FileName(self):
        r"""文件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileName

    @FileName.setter
    def FileName(self, FileName):
        self._FileName = FileName

    @property
    def FileExtensionType(self):
        r"""文件类型，如 jar zip 等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileExtensionType

    @FileExtensionType.setter
    def FileExtensionType(self, FileExtensionType):
        self._FileExtensionType = FileExtensionType

    @property
    def Type(self):
        r"""文件上传类型，资源管理为 resource
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Md5Value(self):
        r"""文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Md5Value

    @Md5Value.setter
    def Md5Value(self, Md5Value):
        self._Md5Value = Md5Value

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Size(self):
        r"""文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def LocalPath(self):
        r"""本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalPath

    @LocalPath.setter
    def LocalPath(self, LocalPath):
        self._LocalPath = LocalPath

    @property
    def LocalTempPath(self):
        r"""本地临时路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalTempPath

    @LocalTempPath.setter
    def LocalTempPath(self, LocalTempPath):
        self._LocalTempPath = LocalTempPath

    @property
    def RemotePath(self):
        r"""远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath

    @property
    def OwnerName(self):
        r"""文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def Owner(self):
        r"""文件拥有者uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def PathDepth(self):
        r"""文件深度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._PathDepth

    @PathDepth.setter
    def PathDepth(self, PathDepth):
        self._PathDepth = PathDepth

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ExtraInfo(self):
        r"""附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo

    @property
    def ZipPath(self):
        r"""本地临时压缩文件绝对路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ZipPath

    @ZipPath.setter
    def ZipPath(self, ZipPath):
        self._ZipPath = ZipPath

    @property
    def Bucket(self):
        r"""文件所属存储桶
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Bucket

    @Bucket.setter
    def Bucket(self, Bucket):
        self._Bucket = Bucket

    @property
    def Region(self):
        r"""文件所属存储桶的地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def DeleteName(self):
        r"""删除用户名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DeleteName

    @DeleteName.setter
    def DeleteName(self, DeleteName):
        self._DeleteName = DeleteName

    @property
    def DeleteOwner(self):
        r"""删除用户id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DeleteOwner

    @DeleteOwner.setter
    def DeleteOwner(self, DeleteOwner):
        self._DeleteOwner = DeleteOwner

    @property
    def Operator(self):
        r"""操作者id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def OperatorName(self):
        r"""操作者名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def FullPath(self):
        r"""全路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FullPath

    @FullPath.setter
    def FullPath(self, FullPath):
        self._FullPath = FullPath


    def _deserialize(self, params):
        self._ResourceId = params.get("ResourceId")
        self._FileName = params.get("FileName")
        self._FileExtensionType = params.get("FileExtensionType")
        self._Type = params.get("Type")
        self._Md5Value = params.get("Md5Value")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._Size = params.get("Size")
        self._LocalPath = params.get("LocalPath")
        self._LocalTempPath = params.get("LocalTempPath")
        self._RemotePath = params.get("RemotePath")
        self._OwnerName = params.get("OwnerName")
        self._Owner = params.get("Owner")
        self._PathDepth = params.get("PathDepth")
        self._ProjectId = params.get("ProjectId")
        self._ExtraInfo = params.get("ExtraInfo")
        self._ZipPath = params.get("ZipPath")
        self._Bucket = params.get("Bucket")
        self._Region = params.get("Region")
        self._DeleteName = params.get("DeleteName")
        self._DeleteOwner = params.get("DeleteOwner")
        self._Operator = params.get("Operator")
        self._OperatorName = params.get("OperatorName")
        self._FullPath = params.get("FullPath")
        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 UserFileInfo(AbstractModel):
    r"""开发空间-获取数据开发脚本信息响应体

    """

    def __init__(self):
        r"""
        :param _ResourceId: 资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ResourceId: str
        :param _FileName: 文件名
注意：此字段可能返回 null，表示取不到有效值。
        :type FileName: str
        :param _FileExtensionType: 文件类型，如 jar zip 等
注意：此字段可能返回 null，表示取不到有效值。
        :type FileExtensionType: str
        :param _Type: 文件上传类型，资源管理为 resource
注意：此字段可能返回 null，表示取不到有效值。
        :type Type: str
        :param _Md5Value: 文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :type Md5Value: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _UpdateTime: 更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateTime: str
        :param _Size: 文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :type Size: int
        :param _LocalPath: 本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalPath: str
        :param _LocalTempPath: 本地临时路径
注意：此字段可能返回 null，表示取不到有效值。
        :type LocalTempPath: str
        :param _RemotePath: 远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :type RemotePath: str
        :param _OwnerName: 文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerName: str
        :param _Owner: 文件拥有者uin
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _PathDepth: 文件深度
注意：此字段可能返回 null，表示取不到有效值。
        :type PathDepth: int
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ExtraInfo: 附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :type ExtraInfo: list of ParamInfo
        :param _ZipPath: 本地临时压缩文件绝对路径
注意：此字段可能返回 null，表示取不到有效值。
        :type ZipPath: str
        :param _Bucket: 文件所属存储桶
注意：此字段可能返回 null，表示取不到有效值。
        :type Bucket: str
        :param _Region: 文件所属存储桶的地域
注意：此字段可能返回 null，表示取不到有效值。
        :type Region: str
        :param _DeleteName: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteName: str
        :param _DeleteOwner: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type DeleteOwner: str
        :param _Operator: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type Operator: str
        :param _OperatorName: 无
注意：此字段可能返回 null，表示取不到有效值。
        :type OperatorName: str
        :param _EncodeExtraInfo: 附加信息 base64编码
注意：此字段可能返回 null，表示取不到有效值。
        :type EncodeExtraInfo: str
        """
        self._ResourceId = None
        self._FileName = None
        self._FileExtensionType = None
        self._Type = None
        self._Md5Value = None
        self._CreateTime = None
        self._UpdateTime = None
        self._Size = None
        self._LocalPath = None
        self._LocalTempPath = None
        self._RemotePath = None
        self._OwnerName = None
        self._Owner = None
        self._PathDepth = None
        self._ProjectId = None
        self._ExtraInfo = None
        self._ZipPath = None
        self._Bucket = None
        self._Region = None
        self._DeleteName = None
        self._DeleteOwner = None
        self._Operator = None
        self._OperatorName = None
        self._EncodeExtraInfo = None

    @property
    def ResourceId(self):
        r"""资源ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ResourceId

    @ResourceId.setter
    def ResourceId(self, ResourceId):
        self._ResourceId = ResourceId

    @property
    def FileName(self):
        r"""文件名
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileName

    @FileName.setter
    def FileName(self, FileName):
        self._FileName = FileName

    @property
    def FileExtensionType(self):
        r"""文件类型，如 jar zip 等
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FileExtensionType

    @FileExtensionType.setter
    def FileExtensionType(self, FileExtensionType):
        self._FileExtensionType = FileExtensionType

    @property
    def Type(self):
        r"""文件上传类型，资源管理为 resource
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Type

    @Type.setter
    def Type(self, Type):
        self._Type = Type

    @property
    def Md5Value(self):
        r"""文件MD5值
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Md5Value

    @Md5Value.setter
    def Md5Value(self, Md5Value):
        self._Md5Value = Md5Value

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def UpdateTime(self):
        r"""更新时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateTime

    @UpdateTime.setter
    def UpdateTime(self, UpdateTime):
        self._UpdateTime = UpdateTime

    @property
    def Size(self):
        r"""文件大小，单位为字节
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Size

    @Size.setter
    def Size(self, Size):
        self._Size = Size

    @property
    def LocalPath(self):
        r"""本地路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalPath

    @LocalPath.setter
    def LocalPath(self, LocalPath):
        self._LocalPath = LocalPath

    @property
    def LocalTempPath(self):
        r"""本地临时路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LocalTempPath

    @LocalTempPath.setter
    def LocalTempPath(self, LocalTempPath):
        self._LocalTempPath = LocalTempPath

    @property
    def RemotePath(self):
        r"""远程路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._RemotePath

    @RemotePath.setter
    def RemotePath(self, RemotePath):
        self._RemotePath = RemotePath

    @property
    def OwnerName(self):
        r"""文件拥有者名字
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerName

    @OwnerName.setter
    def OwnerName(self, OwnerName):
        self._OwnerName = OwnerName

    @property
    def Owner(self):
        r"""文件拥有者uin
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def PathDepth(self):
        r"""文件深度
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PathDepth

    @PathDepth.setter
    def PathDepth(self, PathDepth):
        self._PathDepth = PathDepth

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ExtraInfo(self):
        r"""附加信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParamInfo
        """
        return self._ExtraInfo

    @ExtraInfo.setter
    def ExtraInfo(self, ExtraInfo):
        self._ExtraInfo = ExtraInfo

    @property
    def ZipPath(self):
        r"""本地临时压缩文件绝对路径
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ZipPath

    @ZipPath.setter
    def ZipPath(self, ZipPath):
        self._ZipPath = ZipPath

    @property
    def Bucket(self):
        r"""文件所属存储桶
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Bucket

    @Bucket.setter
    def Bucket(self, Bucket):
        self._Bucket = Bucket

    @property
    def Region(self):
        r"""文件所属存储桶的地域
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Region

    @Region.setter
    def Region(self, Region):
        self._Region = Region

    @property
    def DeleteName(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DeleteName

    @DeleteName.setter
    def DeleteName(self, DeleteName):
        self._DeleteName = DeleteName

    @property
    def DeleteOwner(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DeleteOwner

    @DeleteOwner.setter
    def DeleteOwner(self, DeleteOwner):
        self._DeleteOwner = DeleteOwner

    @property
    def Operator(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Operator

    @Operator.setter
    def Operator(self, Operator):
        self._Operator = Operator

    @property
    def OperatorName(self):
        r"""无
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OperatorName

    @OperatorName.setter
    def OperatorName(self, OperatorName):
        self._OperatorName = OperatorName

    @property
    def EncodeExtraInfo(self):
        r"""附加信息 base64编码
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EncodeExtraInfo

    @EncodeExtraInfo.setter
    def EncodeExtraInfo(self, EncodeExtraInfo):
        self._EncodeExtraInfo = EncodeExtraInfo


    def _deserialize(self, params):
        self._ResourceId = params.get("ResourceId")
        self._FileName = params.get("FileName")
        self._FileExtensionType = params.get("FileExtensionType")
        self._Type = params.get("Type")
        self._Md5Value = params.get("Md5Value")
        self._CreateTime = params.get("CreateTime")
        self._UpdateTime = params.get("UpdateTime")
        self._Size = params.get("Size")
        self._LocalPath = params.get("LocalPath")
        self._LocalTempPath = params.get("LocalTempPath")
        self._RemotePath = params.get("RemotePath")
        self._OwnerName = params.get("OwnerName")
        self._Owner = params.get("Owner")
        self._PathDepth = params.get("PathDepth")
        self._ProjectId = params.get("ProjectId")
        if params.get("ExtraInfo") is not None:
            self._ExtraInfo = []
            for item in params.get("ExtraInfo"):
                obj = ParamInfo()
                obj._deserialize(item)
                self._ExtraInfo.append(obj)
        self._ZipPath = params.get("ZipPath")
        self._Bucket = params.get("Bucket")
        self._Region = params.get("Region")
        self._DeleteName = params.get("DeleteName")
        self._DeleteOwner = params.get("DeleteOwner")
        self._Operator = params.get("Operator")
        self._OperatorName = params.get("OperatorName")
        self._EncodeExtraInfo = params.get("EncodeExtraInfo")
        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 WeightInfo(AbstractModel):
    r"""权重信息

    """

    def __init__(self):
        r"""
        :param _Weight: 权重
        :type Weight: int
        :param _QualityDim: 维度类型 1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :type QualityDim: int
        """
        self._Weight = None
        self._QualityDim = None

    @property
    def Weight(self):
        r"""权重
        :rtype: int
        """
        return self._Weight

    @Weight.setter
    def Weight(self, Weight):
        self._Weight = Weight

    @property
    def QualityDim(self):
        r"""维度类型 1：准确性，2：唯一性，3：完整性，4：一致性，5：及时性，6：有效性
        :rtype: int
        """
        return self._QualityDim

    @QualityDim.setter
    def QualityDim(self, QualityDim):
        self._QualityDim = QualityDim


    def _deserialize(self, params):
        self._Weight = params.get("Weight")
        self._QualityDim = params.get("QualityDim")
        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 WorkFlowExecuteDto(AbstractModel):
    r"""工作流运行信息

    """

    def __init__(self):
        r"""
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _Status: 工作流运行状态 0：等待运行、1：运行中、2：运行完成、3：运行出错
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: int
        """
        self._StartTime = None
        self._EndTime = None
        self._Status = None

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def Status(self):
        r"""工作流运行状态 0：等待运行、1：运行中、2：运行完成、3：运行出错
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status


    def _deserialize(self, params):
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        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 WorkFlowExecuteDtoByPage(AbstractModel):
    r"""分页查询工作流画布运行起止时间

    """

    def __init__(self):
        r"""
        :param _TotalCount: 总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: data
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of WorkFlowExecuteDto
        :param _PageSize: 分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :type PageSize: int
        """
        self._TotalCount = None
        self._Items = None
        self._PageSize = None

    @property
    def TotalCount(self):
        r"""总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""data
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkFlowExecuteDto
        """
        return self._Items

    @Items.setter
    def Items(self, Items):
        self._Items = Items

    @property
    def PageSize(self):
        r"""分页大小
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageSize

    @PageSize.setter
    def PageSize(self, PageSize):
        self._PageSize = PageSize


    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 = WorkFlowExecuteDto()
                obj._deserialize(item)
                self._Items.append(obj)
        self._PageSize = params.get("PageSize")
        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 Workflow(AbstractModel):
    r"""工作流信息

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流id
        :type WorkflowId: str
        :param _Owner: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _OwnerId: 责任人Id
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _ProjectId: 项目id
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
        :type ProjectName: str
        :param _WorkflowDesc: 备注
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowDesc: str
        :param _WorkflowName: 工作流名称
        :type WorkflowName: str
        :param _FolderId: 所属文件夹id
        :type FolderId: str
        :param _UserGroupId: 工作流所属用户分组id 若有多个,分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :type UserGroupId: str
        :param _UserGroupName: 工作流所属用户分组名称  若有多个,分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :type UserGroupName: str
        """
        self._WorkflowId = None
        self._Owner = None
        self._OwnerId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._WorkflowDesc = None
        self._WorkflowName = None
        self._FolderId = None
        self._UserGroupId = None
        self._UserGroupName = None

    @property
    def WorkflowId(self):
        r"""工作流id
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Owner(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人Id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def ProjectId(self):
        r"""项目id
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def WorkflowDesc(self):
        r"""备注
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowName(self):
        r"""工作流名称
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""所属文件夹id
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def UserGroupId(self):
        r"""工作流所属用户分组id 若有多个,分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserGroupId

    @UserGroupId.setter
    def UserGroupId(self, UserGroupId):
        self._UserGroupId = UserGroupId

    @property
    def UserGroupName(self):
        r"""工作流所属用户分组名称  若有多个,分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserGroupName

    @UserGroupName.setter
    def UserGroupName(self, UserGroupName):
        self._UserGroupName = UserGroupName


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._UserGroupId = params.get("UserGroupId")
        self._UserGroupName = params.get("UserGroupName")
        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 WorkflowCanvasOpsDto(AbstractModel):
    r"""工作流画布详情

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _WorkflowDesc: 工作流详情描述
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowDesc: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _FolderId: 所属文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _FolderIds: 所属文件夹ids
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderIds: list of str
        :param _Tasks: 任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of TaskOpsDto
        :param _Links: 任务依赖边列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Links: list of LinkOpsDto
        :param _UserGroupId: 工作流所属用户分组id,若有多个分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :type UserGroupId: str
        :param _UserGroupName: 工作流所属用户分组名称,若有多个分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :type UserGroupName: str
        :param _ProjectId: 项目id
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _Owner: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _OwnerId: 责任人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _WorkflowType: 工作流类型，周期cycle，手动manual
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowType: str
        """
        self._WorkflowId = None
        self._WorkflowDesc = None
        self._WorkflowName = None
        self._FolderId = None
        self._FolderIds = None
        self._Tasks = None
        self._Links = None
        self._UserGroupId = None
        self._UserGroupName = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._Owner = None
        self._OwnerId = None
        self._WorkflowType = None

    @property
    def WorkflowId(self):
        r"""工作流id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def WorkflowDesc(self):
        r"""工作流详情描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""所属文件夹id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def FolderIds(self):
        r"""所属文件夹ids
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._FolderIds

    @FolderIds.setter
    def FolderIds(self, FolderIds):
        self._FolderIds = FolderIds

    @property
    def Tasks(self):
        r"""任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskOpsDto
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def Links(self):
        r"""任务依赖边列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of LinkOpsDto
        """
        return self._Links

    @Links.setter
    def Links(self, Links):
        self._Links = Links

    @property
    def UserGroupId(self):
        r"""工作流所属用户分组id,若有多个分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserGroupId

    @UserGroupId.setter
    def UserGroupId(self, UserGroupId):
        self._UserGroupId = UserGroupId

    @property
    def UserGroupName(self):
        r"""工作流所属用户分组名称,若有多个分号隔开: a;b;c
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UserGroupName

    @UserGroupName.setter
    def UserGroupName(self, UserGroupName):
        self._UserGroupName = UserGroupName

    @property
    def ProjectId(self):
        r"""项目id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def Owner(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人UserId
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def WorkflowType(self):
        r"""工作流类型，周期cycle，手动manual
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._FolderIds = params.get("FolderIds")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = TaskOpsDto()
                obj._deserialize(item)
                self._Tasks.append(obj)
        if params.get("Links") is not None:
            self._Links = []
            for item in params.get("Links"):
                obj = LinkOpsDto()
                obj._deserialize(item)
                self._Links.append(obj)
        self._UserGroupId = params.get("UserGroupId")
        self._UserGroupName = params.get("UserGroupName")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._WorkflowType = params.get("WorkflowType")
        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 WorkflowDsDTO(AbstractModel):
    r"""工作流信息

    """

    def __init__(self):
        r"""
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _Owner: 责任人
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _OwnerId: 责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: 项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: 项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _WorkflowDesc: 工作流描述
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowDesc: str
        :param _WorkflowName: 工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowName: str
        :param _FolderId: 文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _SparkParams: SparkSQL参数
注意：此字段可能返回 null，表示取不到有效值。
        :type SparkParams: str
        :param _Tasks: 任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Tasks: list of TaskDsDTO
        :param _Links: 任务链接列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Links: list of TaskLinkDsDTO
        :param _Params: 参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Params: list of ParameterTaskDsDto
        :param _WorkflowType: 工作流类型, 取值示例

- cycle 周期工作流
- manual 手动工作流
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowType: str
        :param _UpdateUser: 最近更新人名称
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUser: str
        :param _UpdateUserId: 最近更新人id
注意：此字段可能返回 null，表示取不到有效值。
        :type UpdateUserId: str
        :param _BundleId: BundleId CI/CD工程生成的bundle唯一标识	
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleId: str
        :param _BundleInfo: BundleId信息
注意：此字段可能返回 null，表示取不到有效值。
        :type BundleInfo: str
        """
        self._WorkflowId = None
        self._Owner = None
        self._OwnerId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._WorkflowDesc = None
        self._WorkflowName = None
        self._FolderId = None
        self._SparkParams = None
        self._Tasks = None
        self._Links = None
        self._Params = None
        self._WorkflowType = None
        self._UpdateUser = None
        self._UpdateUserId = None
        self._BundleId = None
        self._BundleInfo = None

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def Owner(self):
        r"""责任人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""责任人ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""项目标识
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""项目名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def WorkflowDesc(self):
        r"""工作流描述
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowDesc

    @WorkflowDesc.setter
    def WorkflowDesc(self, WorkflowDesc):
        self._WorkflowDesc = WorkflowDesc

    @property
    def WorkflowName(self):
        r"""工作流名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowName

    @WorkflowName.setter
    def WorkflowName(self, WorkflowName):
        self._WorkflowName = WorkflowName

    @property
    def FolderId(self):
        r"""文件夹ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def SparkParams(self):
        r"""SparkSQL参数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SparkParams

    @SparkParams.setter
    def SparkParams(self, SparkParams):
        self._SparkParams = SparkParams

    @property
    def Tasks(self):
        r"""任务列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskDsDTO
        """
        return self._Tasks

    @Tasks.setter
    def Tasks(self, Tasks):
        self._Tasks = Tasks

    @property
    def Links(self):
        r"""任务链接列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of TaskLinkDsDTO
        """
        return self._Links

    @Links.setter
    def Links(self, Links):
        self._Links = Links

    @property
    def Params(self):
        r"""参数列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of ParameterTaskDsDto
        """
        return self._Params

    @Params.setter
    def Params(self, Params):
        self._Params = Params

    @property
    def WorkflowType(self):
        r"""工作流类型, 取值示例

- cycle 周期工作流
- manual 手动工作流
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType

    @property
    def UpdateUser(self):
        r"""最近更新人名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUser

    @UpdateUser.setter
    def UpdateUser(self, UpdateUser):
        self._UpdateUser = UpdateUser

    @property
    def UpdateUserId(self):
        r"""最近更新人id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UpdateUserId

    @UpdateUserId.setter
    def UpdateUserId(self, UpdateUserId):
        self._UpdateUserId = UpdateUserId

    @property
    def BundleId(self):
        r"""BundleId CI/CD工程生成的bundle唯一标识	
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleId

    @BundleId.setter
    def BundleId(self, BundleId):
        self._BundleId = BundleId

    @property
    def BundleInfo(self):
        r"""BundleId信息
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._BundleInfo

    @BundleInfo.setter
    def BundleInfo(self, BundleInfo):
        self._BundleInfo = BundleInfo


    def _deserialize(self, params):
        self._WorkflowId = params.get("WorkflowId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._WorkflowDesc = params.get("WorkflowDesc")
        self._WorkflowName = params.get("WorkflowName")
        self._FolderId = params.get("FolderId")
        self._SparkParams = params.get("SparkParams")
        if params.get("Tasks") is not None:
            self._Tasks = []
            for item in params.get("Tasks"):
                obj = TaskDsDTO()
                obj._deserialize(item)
                self._Tasks.append(obj)
        if params.get("Links") is not None:
            self._Links = []
            for item in params.get("Links"):
                obj = TaskLinkDsDTO()
                obj._deserialize(item)
                self._Links.append(obj)
        if params.get("Params") is not None:
            self._Params = []
            for item in params.get("Params"):
                obj = ParameterTaskDsDto()
                obj._deserialize(item)
                self._Params.append(obj)
        self._WorkflowType = params.get("WorkflowType")
        self._UpdateUser = params.get("UpdateUser")
        self._UpdateUserId = params.get("UpdateUserId")
        self._BundleId = params.get("BundleId")
        self._BundleInfo = params.get("BundleInfo")
        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 WorkflowExtOpsDto(AbstractModel):
    r"""工作流

    """

    def __init__(self):
        r"""
        :param _TaskCount: <p>任务数量count</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskCount: int
        :param _FolderName: <p>文件名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderName: str
        :param _WorkFlowId: <p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowId: str
        :param _Owner: <p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Owner: str
        :param _OwnerId: <p>责任人userId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type OwnerId: str
        :param _ProjectId: <p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _ProjectIdent: <p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectIdent: str
        :param _ProjectName: <p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectName: str
        :param _WorkFlowDesc: <p>工作流描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowDesc: str
        :param _WorkFlowName: <p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkFlowName: str
        :param _FolderId: <p>工作流文件id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type FolderId: str
        :param _Status: <p>工作流状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type Status: str
        :param _CreateTime: <p>工作流创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _ModifyTime: <p>最近更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _ModifyUser: <p>最近更新人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyUser: str
        :param _WorkflowType: <p>工作流类型，周期cycle，手动manual</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowType: str
        :param _BundleId: <p>bundle客户端绑定唯一id</p>
        :type BundleId: str
        :param _BundleInfo: <p>bundle客户端扩展信息，json格式</p>
        :type BundleInfo: str
        :param _NestedBySpTaskIds: <p>引用该手动工作流的嵌套工作流任务ID列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :type NestedBySpTaskIds: list of str
        """
        self._TaskCount = None
        self._FolderName = None
        self._WorkFlowId = None
        self._Owner = None
        self._OwnerId = None
        self._ProjectId = None
        self._ProjectIdent = None
        self._ProjectName = None
        self._WorkFlowDesc = None
        self._WorkFlowName = None
        self._FolderId = None
        self._Status = None
        self._CreateTime = None
        self._ModifyTime = None
        self._ModifyUser = None
        self._WorkflowType = None
        self._BundleId = None
        self._BundleInfo = None
        self._NestedBySpTaskIds = None

    @property
    def TaskCount(self):
        r"""<p>任务数量count</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TaskCount

    @TaskCount.setter
    def TaskCount(self, TaskCount):
        self._TaskCount = TaskCount

    @property
    def FolderName(self):
        r"""<p>文件名</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderName

    @FolderName.setter
    def FolderName(self, FolderName):
        self._FolderName = FolderName

    @property
    def WorkFlowId(self):
        r"""<p>工作流id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowId

    @WorkFlowId.setter
    def WorkFlowId(self, WorkFlowId):
        self._WorkFlowId = WorkFlowId

    @property
    def Owner(self):
        r"""<p>责任人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Owner

    @Owner.setter
    def Owner(self, Owner):
        self._Owner = Owner

    @property
    def OwnerId(self):
        r"""<p>责任人userId</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._OwnerId

    @OwnerId.setter
    def OwnerId(self, OwnerId):
        self._OwnerId = OwnerId

    @property
    def ProjectId(self):
        r"""<p>项目id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def ProjectIdent(self):
        r"""<p>项目标识</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectIdent

    @ProjectIdent.setter
    def ProjectIdent(self, ProjectIdent):
        self._ProjectIdent = ProjectIdent

    @property
    def ProjectName(self):
        r"""<p>项目名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectName

    @ProjectName.setter
    def ProjectName(self, ProjectName):
        self._ProjectName = ProjectName

    @property
    def WorkFlowDesc(self):
        r"""<p>工作流描述</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowDesc

    @WorkFlowDesc.setter
    def WorkFlowDesc(self, WorkFlowDesc):
        self._WorkFlowDesc = WorkFlowDesc

    @property
    def WorkFlowName(self):
        r"""<p>工作流名称</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkFlowName

    @WorkFlowName.setter
    def WorkFlowName(self, WorkFlowName):
        self._WorkFlowName = WorkFlowName

    @property
    def FolderId(self):
        r"""<p>工作流文件id</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FolderId

    @FolderId.setter
    def FolderId(self, FolderId):
        self._FolderId = FolderId

    @property
    def Status(self):
        r"""<p>工作流状态</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Status

    @Status.setter
    def Status(self, Status):
        self._Status = Status

    @property
    def CreateTime(self):
        r"""<p>工作流创建时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def ModifyTime(self):
        r"""<p>最近更新时间</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def ModifyUser(self):
        r"""<p>最近更新人</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyUser

    @ModifyUser.setter
    def ModifyUser(self, ModifyUser):
        self._ModifyUser = ModifyUser

    @property
    def WorkflowType(self):
        r"""<p>工作流类型，周期cycle，手动manual</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowType

    @WorkflowType.setter
    def WorkflowType(self, WorkflowType):
        self._WorkflowType = WorkflowType

    @property
    def BundleId(self):
        r"""<p>bundle客户端绑定唯一id</p>
        :rtype: str
        """
        return self._BundleId

    @BundleId.setter
    def BundleId(self, BundleId):
        self._BundleId = BundleId

    @property
    def BundleInfo(self):
        r"""<p>bundle客户端扩展信息，json格式</p>
        :rtype: str
        """
        return self._BundleInfo

    @BundleInfo.setter
    def BundleInfo(self, BundleInfo):
        self._BundleInfo = BundleInfo

    @property
    def NestedBySpTaskIds(self):
        r"""<p>引用该手动工作流的嵌套工作流任务ID列表</p>
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of str
        """
        return self._NestedBySpTaskIds

    @NestedBySpTaskIds.setter
    def NestedBySpTaskIds(self, NestedBySpTaskIds):
        self._NestedBySpTaskIds = NestedBySpTaskIds


    def _deserialize(self, params):
        self._TaskCount = params.get("TaskCount")
        self._FolderName = params.get("FolderName")
        self._WorkFlowId = params.get("WorkFlowId")
        self._Owner = params.get("Owner")
        self._OwnerId = params.get("OwnerId")
        self._ProjectId = params.get("ProjectId")
        self._ProjectIdent = params.get("ProjectIdent")
        self._ProjectName = params.get("ProjectName")
        self._WorkFlowDesc = params.get("WorkFlowDesc")
        self._WorkFlowName = params.get("WorkFlowName")
        self._FolderId = params.get("FolderId")
        self._Status = params.get("Status")
        self._CreateTime = params.get("CreateTime")
        self._ModifyTime = params.get("ModifyTime")
        self._ModifyUser = params.get("ModifyUser")
        self._WorkflowType = params.get("WorkflowType")
        self._BundleId = params.get("BundleId")
        self._BundleInfo = params.get("BundleInfo")
        self._NestedBySpTaskIds = params.get("NestedBySpTaskIds")
        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 WorkflowExtOpsDtoPage(AbstractModel):
    r"""用户生产工作流列表分页

    """

    def __init__(self):
        r"""
        :param _TotalCount: 记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :type TotalCount: int
        :param _Items: 记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :type Items: list of WorkflowExtOpsDto
        """
        self._TotalCount = None
        self._Items = None

    @property
    def TotalCount(self):
        r"""记录总数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._TotalCount

    @TotalCount.setter
    def TotalCount(self, TotalCount):
        self._TotalCount = TotalCount

    @property
    def Items(self):
        r"""记录列表
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of WorkflowExtOpsDto
        """
        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 = WorkflowExtOpsDto()
                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 WorkflowScheduleDtoDs(AbstractModel):
    r"""工作流调度信息

    """

    def __init__(self):
        r"""
        :param _ProjectId: 项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Creater: 创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creater: str
        :param _ModifyTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _DelayTime: 延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _StartupTime: 启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartupTime: int
        :param _SelfDepend: 任务依赖
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfDepend: str
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _TaskAction: 指定运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _CycleType: 调度周期时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CycleStep: 调度周期
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _CrontabExpression: Cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type CrontabExpression: str
        :param _ExecutionStartTime: 执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _InstanceInitStrategy: 实例初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceInitStrategy: str
        :param _DependencyWorkflow: 工作流依赖
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyWorkflow: str
        :param _SchedulerDesc: 调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _FirstSubmitTime: 工作流首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstSubmitTime: str
        :param _LatestSubmitTime: 工作流最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestSubmitTime: str
        :param _CalendarOpen: 日历调度是否开启
注意：此字段可能返回 null，表示取不到有效值。
        :type CalendarOpen: str
        :param _CalendarName: 日历调度名称
注意：此字段可能返回 null，表示取不到有效值。
        :type CalendarName: str
        :param _CalendarId: 日历调度id
注意：此字段可能返回 null，表示取不到有效值。
        :type CalendarId: str
        :param _ScheduleTimeZone: 时区配置
注意：此字段可能返回 null，表示取不到有效值。
        :type ScheduleTimeZone: str
        """
        self._ProjectId = None
        self._WorkflowId = None
        self._CreateTime = None
        self._Creater = None
        self._ModifyTime = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._InstanceInitStrategy = None
        self._DependencyWorkflow = None
        self._SchedulerDesc = None
        self._FirstSubmitTime = None
        self._LatestSubmitTime = None
        self._CalendarOpen = None
        self._CalendarName = None
        self._CalendarId = None
        self._ScheduleTimeZone = None

    @property
    def ProjectId(self):
        r"""项目ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Creater(self):
        r"""创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creater

    @Creater.setter
    def Creater(self, Creater):
        self._Creater = Creater

    @property
    def ModifyTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def DelayTime(self):
        r"""延迟时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""任务依赖
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""指定运行时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CycleType(self):
        r"""调度周期时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""调度周期
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""Cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def InstanceInitStrategy(self):
        r"""实例初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def DependencyWorkflow(self):
        r"""工作流依赖
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def SchedulerDesc(self):
        r"""调度计划
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def FirstSubmitTime(self):
        r"""工作流首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstSubmitTime

    @FirstSubmitTime.setter
    def FirstSubmitTime(self, FirstSubmitTime):
        self._FirstSubmitTime = FirstSubmitTime

    @property
    def LatestSubmitTime(self):
        r"""工作流最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestSubmitTime

    @LatestSubmitTime.setter
    def LatestSubmitTime(self, LatestSubmitTime):
        self._LatestSubmitTime = LatestSubmitTime

    @property
    def CalendarOpen(self):
        r"""日历调度是否开启
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CalendarOpen

    @CalendarOpen.setter
    def CalendarOpen(self, CalendarOpen):
        self._CalendarOpen = CalendarOpen

    @property
    def CalendarName(self):
        r"""日历调度名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CalendarName

    @CalendarName.setter
    def CalendarName(self, CalendarName):
        self._CalendarName = CalendarName

    @property
    def CalendarId(self):
        r"""日历调度id
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CalendarId

    @CalendarId.setter
    def CalendarId(self, CalendarId):
        self._CalendarId = CalendarId

    @property
    def ScheduleTimeZone(self):
        r"""时区配置
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ScheduleTimeZone

    @ScheduleTimeZone.setter
    def ScheduleTimeZone(self, ScheduleTimeZone):
        self._ScheduleTimeZone = ScheduleTimeZone


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        self._WorkflowId = params.get("WorkflowId")
        self._CreateTime = params.get("CreateTime")
        self._Creater = params.get("Creater")
        self._ModifyTime = params.get("ModifyTime")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._FirstSubmitTime = params.get("FirstSubmitTime")
        self._LatestSubmitTime = params.get("LatestSubmitTime")
        self._CalendarOpen = params.get("CalendarOpen")
        self._CalendarName = params.get("CalendarName")
        self._CalendarId = params.get("CalendarId")
        self._ScheduleTimeZone = params.get("ScheduleTimeZone")
        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 WorkflowSchedulerOpsDto(AbstractModel):
    r"""工作流调度详情

    """

    def __init__(self):
        r"""
        :param _CreateTime: 创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :type CreateTime: str
        :param _Creator: 创建人
注意：此字段可能返回 null，表示取不到有效值。
        :type Creator: str
        :param _ModifyTime: 修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :type ModifyTime: str
        :param _DelayTime: 延迟时间, unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :type DelayTime: int
        :param _StartupTime: 启动时间,unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :type StartupTime: int
        :param _SelfDepend: 任务自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :type SelfDepend: str
        :param _StartTime: 开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :type StartTime: str
        :param _EndTime: 结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :type EndTime: str
        :param _TaskAction: 指定运行时间, 指定时间：如周一：1
注意：此字段可能返回 null，表示取不到有效值。
        :type TaskAction: str
        :param _CycleType: 调度周期类型，时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleType: str
        :param _CycleStep: 调度周期，间隔步长 unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleStep: int
        :param _CrontabExpression: 调度cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :type CrontabExpression: str
        :param _ExecutionStartTime: 执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionStartTime: str
        :param _ExecutionEndTime: 执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :type ExecutionEndTime: str
        :param _InstanceInitStrategy: 任务实例初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :type InstanceInitStrategy: str
        :param _WorkflowId: 工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :type WorkflowId: str
        :param _DependencyWorkflow: 工作流自依赖
注意：此字段可能返回 null，表示取不到有效值。
        :type DependencyWorkflow: str
        :param _SchedulerDesc: 调度计划释义
注意：此字段可能返回 null，表示取不到有效值。
        :type SchedulerDesc: str
        :param _FirstSubmitTime: 工作流首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type FirstSubmitTime: str
        :param _LatestSubmitTime: 工作流最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :type LatestSubmitTime: str
        """
        self._CreateTime = None
        self._Creator = None
        self._ModifyTime = None
        self._DelayTime = None
        self._StartupTime = None
        self._SelfDepend = None
        self._StartTime = None
        self._EndTime = None
        self._TaskAction = None
        self._CycleType = None
        self._CycleStep = None
        self._CrontabExpression = None
        self._ExecutionStartTime = None
        self._ExecutionEndTime = None
        self._InstanceInitStrategy = None
        self._WorkflowId = None
        self._DependencyWorkflow = None
        self._SchedulerDesc = None
        self._FirstSubmitTime = None
        self._LatestSubmitTime = None

    @property
    def CreateTime(self):
        r"""创建时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CreateTime

    @CreateTime.setter
    def CreateTime(self, CreateTime):
        self._CreateTime = CreateTime

    @property
    def Creator(self):
        r"""创建人
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Creator

    @Creator.setter
    def Creator(self, Creator):
        self._Creator = Creator

    @property
    def ModifyTime(self):
        r"""修改时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModifyTime

    @ModifyTime.setter
    def ModifyTime(self, ModifyTime):
        self._ModifyTime = ModifyTime

    @property
    def DelayTime(self):
        r"""延迟时间, unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._DelayTime

    @DelayTime.setter
    def DelayTime(self, DelayTime):
        self._DelayTime = DelayTime

    @property
    def StartupTime(self):
        r"""启动时间,unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._StartupTime

    @StartupTime.setter
    def StartupTime(self, StartupTime):
        self._StartupTime = StartupTime

    @property
    def SelfDepend(self):
        r"""任务自依赖类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SelfDepend

    @SelfDepend.setter
    def SelfDepend(self, SelfDepend):
        self._SelfDepend = SelfDepend

    @property
    def StartTime(self):
        r"""开始时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._StartTime

    @StartTime.setter
    def StartTime(self, StartTime):
        self._StartTime = StartTime

    @property
    def EndTime(self):
        r"""结束时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._EndTime

    @EndTime.setter
    def EndTime(self, EndTime):
        self._EndTime = EndTime

    @property
    def TaskAction(self):
        r"""指定运行时间, 指定时间：如周一：1
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._TaskAction

    @TaskAction.setter
    def TaskAction(self, TaskAction):
        self._TaskAction = TaskAction

    @property
    def CycleType(self):
        r"""调度周期类型，时间单位
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CycleType

    @CycleType.setter
    def CycleType(self, CycleType):
        self._CycleType = CycleType

    @property
    def CycleStep(self):
        r"""调度周期，间隔步长 unit=minute
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._CycleStep

    @CycleStep.setter
    def CycleStep(self, CycleStep):
        self._CycleStep = CycleStep

    @property
    def CrontabExpression(self):
        r"""调度cron表达式
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CrontabExpression

    @CrontabExpression.setter
    def CrontabExpression(self, CrontabExpression):
        self._CrontabExpression = CrontabExpression

    @property
    def ExecutionStartTime(self):
        r"""执行时间左闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionStartTime

    @ExecutionStartTime.setter
    def ExecutionStartTime(self, ExecutionStartTime):
        self._ExecutionStartTime = ExecutionStartTime

    @property
    def ExecutionEndTime(self):
        r"""执行时间右闭区间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ExecutionEndTime

    @ExecutionEndTime.setter
    def ExecutionEndTime(self, ExecutionEndTime):
        self._ExecutionEndTime = ExecutionEndTime

    @property
    def InstanceInitStrategy(self):
        r"""任务实例初始化策略
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._InstanceInitStrategy

    @InstanceInitStrategy.setter
    def InstanceInitStrategy(self, InstanceInitStrategy):
        self._InstanceInitStrategy = InstanceInitStrategy

    @property
    def WorkflowId(self):
        r"""工作流ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._WorkflowId

    @WorkflowId.setter
    def WorkflowId(self, WorkflowId):
        self._WorkflowId = WorkflowId

    @property
    def DependencyWorkflow(self):
        r"""工作流自依赖
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._DependencyWorkflow

    @DependencyWorkflow.setter
    def DependencyWorkflow(self, DependencyWorkflow):
        self._DependencyWorkflow = DependencyWorkflow

    @property
    def SchedulerDesc(self):
        r"""调度计划释义
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SchedulerDesc

    @SchedulerDesc.setter
    def SchedulerDesc(self, SchedulerDesc):
        self._SchedulerDesc = SchedulerDesc

    @property
    def FirstSubmitTime(self):
        r"""工作流首次提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._FirstSubmitTime

    @FirstSubmitTime.setter
    def FirstSubmitTime(self, FirstSubmitTime):
        self._FirstSubmitTime = FirstSubmitTime

    @property
    def LatestSubmitTime(self):
        r"""工作流最近提交时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._LatestSubmitTime

    @LatestSubmitTime.setter
    def LatestSubmitTime(self, LatestSubmitTime):
        self._LatestSubmitTime = LatestSubmitTime


    def _deserialize(self, params):
        self._CreateTime = params.get("CreateTime")
        self._Creator = params.get("Creator")
        self._ModifyTime = params.get("ModifyTime")
        self._DelayTime = params.get("DelayTime")
        self._StartupTime = params.get("StartupTime")
        self._SelfDepend = params.get("SelfDepend")
        self._StartTime = params.get("StartTime")
        self._EndTime = params.get("EndTime")
        self._TaskAction = params.get("TaskAction")
        self._CycleType = params.get("CycleType")
        self._CycleStep = params.get("CycleStep")
        self._CrontabExpression = params.get("CrontabExpression")
        self._ExecutionStartTime = params.get("ExecutionStartTime")
        self._ExecutionEndTime = params.get("ExecutionEndTime")
        self._InstanceInitStrategy = params.get("InstanceInitStrategy")
        self._WorkflowId = params.get("WorkflowId")
        self._DependencyWorkflow = params.get("DependencyWorkflow")
        self._SchedulerDesc = params.get("SchedulerDesc")
        self._FirstSubmitTime = params.get("FirstSubmitTime")
        self._LatestSubmitTime = params.get("LatestSubmitTime")
        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 WorkflowTaskCountOpsDto(AbstractModel):
    r"""工作流任务统计

    """

    def __init__(self):
        r"""
        :param _Count: 工作流任务数
注意：此字段可能返回 null，表示取不到有效值。
        :type Count: int
        :param _TypeCount: 任务类型维度统计
注意：此字段可能返回 null，表示取不到有效值。
        :type TypeCount: list of PairDto
        :param _CycleCount: 任务周期类型维度统计
注意：此字段可能返回 null，表示取不到有效值。
        :type CycleCount: list of PairDto
        """
        self._Count = None
        self._TypeCount = None
        self._CycleCount = None

    @property
    def Count(self):
        r"""工作流任务数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._Count

    @Count.setter
    def Count(self, Count):
        self._Count = Count

    @property
    def TypeCount(self):
        r"""任务类型维度统计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of PairDto
        """
        return self._TypeCount

    @TypeCount.setter
    def TypeCount(self, TypeCount):
        self._TypeCount = TypeCount

    @property
    def CycleCount(self):
        r"""任务周期类型维度统计
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: list of PairDto
        """
        return self._CycleCount

    @CycleCount.setter
    def CycleCount(self, CycleCount):
        self._CycleCount = CycleCount


    def _deserialize(self, params):
        self._Count = params.get("Count")
        if params.get("TypeCount") is not None:
            self._TypeCount = []
            for item in params.get("TypeCount"):
                obj = PairDto()
                obj._deserialize(item)
                self._TypeCount.append(obj)
        if params.get("CycleCount") is not None:
            self._CycleCount = []
            for item in params.get("CycleCount"):
                obj = PairDto()
                obj._deserialize(item)
                self._CycleCount.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 WorkspaceExt(AbstractModel):
    r"""项目扩展信息

    """

    def __init__(self):
        r"""
        :param _ProjectId: 2670965482618679296
注意：此字段可能返回 null，表示取不到有效值。
        :type ProjectId: str
        :param _Key: metrics
注意：此字段可能返回 null，表示取不到有效值。
        :type Key: str
        :param _Value: json
注意：此字段可能返回 null，表示取不到有效值。
        :type Value: str
        """
        self._ProjectId = None
        self._Key = None
        self._Value = None

    @property
    def ProjectId(self):
        r"""2670965482618679296
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ProjectId

    @ProjectId.setter
    def ProjectId(self, ProjectId):
        self._ProjectId = ProjectId

    @property
    def Key(self):
        r"""metrics
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Key

    @Key.setter
    def Key(self, Key):
        self._Key = Key

    @property
    def Value(self):
        r"""json
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Value

    @Value.setter
    def Value(self, Value):
        self._Value = Value


    def _deserialize(self, params):
        self._ProjectId = params.get("ProjectId")
        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))
        