# frozen_string_literal: true

# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

module TencentCloud
  module Wedata
    module V20210820
      # 子任务记录
      class AdhocDetail < TencentCloud::Common::AbstractModel
        # @param Id: 子任务记录Id
        # @type Id: Integer
        # @param ScriptContent: 脚本内容
        # @type ScriptContent: String
        # @param StartTime: 任务启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 任务结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param Status: 当前任务状态
        # @type Status: String
        # @param RecordId: 提交任务id
        # @type RecordId: Integer

        attr_accessor :Id, :ScriptContent, :StartTime, :EndTime, :Status, :RecordId

        def initialize(id=nil, scriptcontent=nil, starttime=nil, endtime=nil, status=nil, recordid=nil)
          @Id = id
          @ScriptContent = scriptcontent
          @StartTime = starttime
          @EndTime = endtime
          @Status = status
          @RecordId = recordid
        end

        def deserialize(params)
          @Id = params['Id']
          @ScriptContent = params['ScriptContent']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @Status = params['Status']
          @RecordId = params['RecordId']
        end
      end

      # 任务提交记录
      class AdhocRecord < TencentCloud::Common::AbstractModel
        # @param Id: 任务提交记录id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: Integer
        # @param ScriptContent: 脚本内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScriptContent: String
        # @param CreateTime: 任务提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param Status: 任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param InstanceId: 实例id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String

        attr_accessor :Id, :ScriptContent, :CreateTime, :Status, :InstanceId

        def initialize(id=nil, scriptcontent=nil, createtime=nil, status=nil, instanceid=nil)
          @Id = id
          @ScriptContent = scriptcontent
          @CreateTime = createtime
          @Status = status
          @InstanceId = instanceid
        end

        def deserialize(params)
          @Id = params['Id']
          @ScriptContent = params['ScriptContent']
          @CreateTime = params['CreateTime']
          @Status = params['Status']
          @InstanceId = params['InstanceId']
        end
      end

      # Agent采集器状态统计
      class AgentStatus < TencentCloud::Common::AbstractModel
        # @param Running: 运行中的数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Running: Integer
        # @param Abnormal: 异常的数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Abnormal: Integer
        # @param InOperation: 操作中的数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InOperation: Integer

        attr_accessor :Running, :Abnormal, :InOperation

        def initialize(running=nil, abnormal=nil, inoperation=nil)
          @Running = running
          @Abnormal = abnormal
          @InOperation = inoperation
        end

        def deserialize(params)
          @Running = params['Running']
          @Abnormal = params['Abnormal']
          @InOperation = params['InOperation']
        end
      end

      # 监听事件
      class AiOpsEventListenerDTO < TencentCloud::Common::AbstractModel
        # @param EventName: 事件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventName: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ProjectDisplayName: 项目展示名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectDisplayName: String
        # @param EventSubType: 事件周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventSubType: String
        # @param ProjectId: 事件项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param PropertiesList: 扩展名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PropertiesList: Array
        # @param EventBroadcastType: 事件广播类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventBroadcastType: String

        attr_accessor :EventName, :CreateTime, :ProjectDisplayName, :EventSubType, :ProjectId, :PropertiesList, :EventBroadcastType

        def initialize(eventname=nil, createtime=nil, projectdisplayname=nil, eventsubtype=nil, projectid=nil, propertieslist=nil, eventbroadcasttype=nil)
          @EventName = eventname
          @CreateTime = createtime
          @ProjectDisplayName = projectdisplayname
          @EventSubType = eventsubtype
          @ProjectId = projectid
          @PropertiesList = propertieslist
          @EventBroadcastType = eventbroadcasttype
        end

        def deserialize(params)
          @EventName = params['EventName']
          @CreateTime = params['CreateTime']
          @ProjectDisplayName = params['ProjectDisplayName']
          @EventSubType = params['EventSubType']
          @ProjectId = params['ProjectId']
          unless params['PropertiesList'].nil?
            @PropertiesList = []
            params['PropertiesList'].each do |i|
              paraminfods_tmp = ParamInfoDs.new
              paraminfods_tmp.deserialize(i)
              @PropertiesList << paraminfods_tmp
            end
          end
          @EventBroadcastType = params['EventBroadcastType']
        end
      end

      # DLC资源配置信息
      class AiopsDLCResourceConfigDto < TencentCloud::Common::AbstractModel
        # @param DriverSize: Driver资源
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DriverSize: String
        # @param ExecutorSize: Executor资源
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorSize: String
        # @param ExecutorNumbers: Executor数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorNumbers: String
        # @param IsInherit: 资源配置方式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsInherit: String

        attr_accessor :DriverSize, :ExecutorSize, :ExecutorNumbers, :IsInherit

        def initialize(driversize=nil, executorsize=nil, executornumbers=nil, isinherit=nil)
          @DriverSize = driversize
          @ExecutorSize = executorsize
          @ExecutorNumbers = executornumbers
          @IsInherit = isinherit
        end

        def deserialize(params)
          @DriverSize = params['DriverSize']
          @ExecutorSize = params['ExecutorSize']
          @ExecutorNumbers = params['ExecutorNumbers']
          @IsInherit = params['IsInherit']
        end
      end

      # 数据运维脚本信息
      class AiopsScriptInfo < TencentCloud::Common::AbstractModel
        # @param ScriptContent: 脚本内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScriptContent: String
        # @param CosPath: 脚本所在COS的路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CosPath: String
        # @param CosRegion: 脚本所在COS的地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CosRegion: String
        # @param CosBucketName: 脚本所在COS的桶名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CosBucketName: String

        attr_accessor :ScriptContent, :CosPath, :CosRegion, :CosBucketName

        def initialize(scriptcontent=nil, cospath=nil, cosregion=nil, cosbucketname=nil)
          @ScriptContent = scriptcontent
          @CosPath = cospath
          @CosRegion = cosregion
          @CosBucketName = cosbucketname
        end

        def deserialize(params)
          @ScriptContent = params['ScriptContent']
          @CosPath = params['CosPath']
          @CosRegion = params['CosRegion']
          @CosBucketName = params['CosBucketName']
        end
      end

      # 父任务simple信息
      class AiopsSimpleTaskDto < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param Status: 任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param CycleType: 周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param Creator: 任务创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creator: String
        # @param WorkflowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param WorkflowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param ConfigType: 配置策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConfigType: String
        # @param TimeDimension: 时间维度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TimeDimension: String
        # @param InstanceScope: 实例范围
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceScope: String
        # @param ExectuorPolicy: 执行策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExectuorPolicy: String

        attr_accessor :TaskId, :TaskName, :Status, :CycleType, :Creator, :WorkflowId, :WorkflowName, :ProjectId, :ProjectIdent, :ProjectName, :ConfigType, :TimeDimension, :InstanceScope, :ExectuorPolicy

        def initialize(taskid=nil, taskname=nil, status=nil, cycletype=nil, creator=nil, workflowid=nil, workflowname=nil, projectid=nil, projectident=nil, projectname=nil, configtype=nil, timedimension=nil, instancescope=nil, exectuorpolicy=nil)
          @TaskId = taskid
          @TaskName = taskname
          @Status = status
          @CycleType = cycletype
          @Creator = creator
          @WorkflowId = workflowid
          @WorkflowName = workflowname
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @ConfigType = configtype
          @TimeDimension = timedimension
          @InstanceScope = instancescope
          @ExectuorPolicy = exectuorpolicy
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @Status = params['Status']
          @CycleType = params['CycleType']
          @Creator = params['Creator']
          @WorkflowId = params['WorkflowId']
          @WorkflowName = params['WorkflowName']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @ConfigType = params['ConfigType']
          @TimeDimension = params['TimeDimension']
          @InstanceScope = params['InstanceScope']
          @ExectuorPolicy = params['ExectuorPolicy']
        end
      end

      # 告警事件详情
      class AlarmEventInfo < TencentCloud::Common::AbstractModel
        # @param AlarmId: 告警ID
        # @type AlarmId: String
        # @param AlarmTime: 告警时间
        # @type AlarmTime: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param RegularName: 规则名称
        # @type RegularName: String
        # @param AlarmLevel: 告警级别,0表示普通,1表示重要,2表示紧急
        # @type AlarmLevel: Integer
        # @param AlarmWay: 告警方式,多个用逗号隔开(1:邮件,2:短信,3:微信,4:语音,5:代表企业微信,6:http)
        # @type AlarmWay: Integer
        # @param AlarmRecipientId: 告警接收人Id,多个用逗号隔开
        # @type AlarmRecipientId: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param AlarmIndicator: 告警指标,0表示任务失败,1表示任务运行超时,2表示任务停止,3表示任务暂停
        # @type AlarmIndicator: Integer
        # @param AlarmIndicatorDesc: 告警指标描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmIndicatorDesc: String
        # @param TriggerType: 指标阈值,1表示离线任务第一次运行失败,2表示离线任务所有重试完成后失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerType: Integer
        # @param EstimatedTime: 预计的超时时间,分钟级别
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EstimatedTime: Integer
        # @param InstanceId: 实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param IsSendSuccess: 0:部分成功,1:全部成功,2:全部失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsSendSuccess: Integer
        # @param InQuitePeriods: 是否在免打扰时间内,0:否, 1:是
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InQuitePeriods: Integer
        # @param RecordId: 告警记录id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RecordId: Integer
        # @param MessageId: 消息ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MessageId: String
        # @param Operator: 阈值计算算子,1 : 大于 2 :小于
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: Integer
        # @param RegularId: 告警规则ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RegularId: String
        # @param AlarmRecipientName: 告警接收人昵称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmRecipientName: String
        # @param TaskType: 告警任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskType: Integer
        # @param SendResult: 发送结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SendResult: String
        # @param MonitorObjectId: 监控对象id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorObjectId: String
        # @param MonitorObjectName: 监控对象名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorObjectName: String
        # @param Threshold: 指标阈值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Threshold: Float
        # @param AlarmReason: 告警原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmReason: String

        attr_accessor :AlarmId, :AlarmTime, :TaskId, :RegularName, :AlarmLevel, :AlarmWay, :AlarmRecipientId, :ProjectId, :AlarmIndicator, :AlarmIndicatorDesc, :TriggerType, :EstimatedTime, :InstanceId, :TaskName, :IsSendSuccess, :InQuitePeriods, :RecordId, :MessageId, :Operator, :RegularId, :AlarmRecipientName, :TaskType, :SendResult, :MonitorObjectId, :MonitorObjectName, :Threshold, :AlarmReason

        def initialize(alarmid=nil, alarmtime=nil, taskid=nil, regularname=nil, alarmlevel=nil, alarmway=nil, alarmrecipientid=nil, projectid=nil, alarmindicator=nil, alarmindicatordesc=nil, triggertype=nil, estimatedtime=nil, instanceid=nil, taskname=nil, issendsuccess=nil, inquiteperiods=nil, recordid=nil, messageid=nil, operator=nil, regularid=nil, alarmrecipientname=nil, tasktype=nil, sendresult=nil, monitorobjectid=nil, monitorobjectname=nil, threshold=nil, alarmreason=nil)
          @AlarmId = alarmid
          @AlarmTime = alarmtime
          @TaskId = taskid
          @RegularName = regularname
          @AlarmLevel = alarmlevel
          @AlarmWay = alarmway
          @AlarmRecipientId = alarmrecipientid
          @ProjectId = projectid
          @AlarmIndicator = alarmindicator
          @AlarmIndicatorDesc = alarmindicatordesc
          @TriggerType = triggertype
          @EstimatedTime = estimatedtime
          @InstanceId = instanceid
          @TaskName = taskname
          @IsSendSuccess = issendsuccess
          @InQuitePeriods = inquiteperiods
          @RecordId = recordid
          @MessageId = messageid
          @Operator = operator
          @RegularId = regularid
          @AlarmRecipientName = alarmrecipientname
          @TaskType = tasktype
          @SendResult = sendresult
          @MonitorObjectId = monitorobjectid
          @MonitorObjectName = monitorobjectname
          @Threshold = threshold
          @AlarmReason = alarmreason
        end

        def deserialize(params)
          @AlarmId = params['AlarmId']
          @AlarmTime = params['AlarmTime']
          @TaskId = params['TaskId']
          @RegularName = params['RegularName']
          @AlarmLevel = params['AlarmLevel']
          @AlarmWay = params['AlarmWay']
          @AlarmRecipientId = params['AlarmRecipientId']
          @ProjectId = params['ProjectId']
          @AlarmIndicator = params['AlarmIndicator']
          @AlarmIndicatorDesc = params['AlarmIndicatorDesc']
          @TriggerType = params['TriggerType']
          @EstimatedTime = params['EstimatedTime']
          @InstanceId = params['InstanceId']
          @TaskName = params['TaskName']
          @IsSendSuccess = params['IsSendSuccess']
          @InQuitePeriods = params['InQuitePeriods']
          @RecordId = params['RecordId']
          @MessageId = params['MessageId']
          @Operator = params['Operator']
          @RegularId = params['RegularId']
          @AlarmRecipientName = params['AlarmRecipientName']
          @TaskType = params['TaskType']
          @SendResult = params['SendResult']
          @MonitorObjectId = params['MonitorObjectId']
          @MonitorObjectName = params['MonitorObjectName']
          @Threshold = params['Threshold']
          @AlarmReason = params['AlarmReason']
        end
      end

      # 告警指标
      class AlarmIndicatorInfo < TencentCloud::Common::AbstractModel
        # @param Id: 指标id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @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: Integer
        # @param AlarmIndicatorDesc: 告警指标描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmIndicatorDesc: String
        # @param TriggerType: 指标阈值,1表示离线任务第一次运行失败,2表示离线任务所有重试完成后失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerType: Integer
        # @param EstimatedTime: 预计的超时时间,分钟级别
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EstimatedTime: Integer
        # @param Operator: 告警阈值的算子,1 大于,2 小于
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: Integer
        # @param AlarmIndicatorUnit: 告警指标阈值单位:ms(毫秒)、s(秒)、min(分钟)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmIndicatorUnit: String
        # @param Duration: 告警周期
        # @type Duration: Integer
        # @param DurationUnit: 告警周期单位:hour,minute,day
        # @type DurationUnit: String
        # @param MaxTimes: 周期内最多告警次数
        # @type MaxTimes: Integer
        # @param Threshold: 指标阈值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Threshold: Float

        attr_accessor :Id, :AlarmIndicator, :AlarmIndicatorDesc, :TriggerType, :EstimatedTime, :Operator, :AlarmIndicatorUnit, :Duration, :DurationUnit, :MaxTimes, :Threshold

        def initialize(id=nil, alarmindicator=nil, alarmindicatordesc=nil, triggertype=nil, estimatedtime=nil, operator=nil, alarmindicatorunit=nil, duration=nil, durationunit=nil, maxtimes=nil, threshold=nil)
          @Id = id
          @AlarmIndicator = alarmindicator
          @AlarmIndicatorDesc = alarmindicatordesc
          @TriggerType = triggertype
          @EstimatedTime = estimatedtime
          @Operator = operator
          @AlarmIndicatorUnit = alarmindicatorunit
          @Duration = duration
          @DurationUnit = durationunit
          @MaxTimes = maxtimes
          @Threshold = threshold
        end

        def deserialize(params)
          @Id = params['Id']
          @AlarmIndicator = params['AlarmIndicator']
          @AlarmIndicatorDesc = params['AlarmIndicatorDesc']
          @TriggerType = params['TriggerType']
          @EstimatedTime = params['EstimatedTime']
          @Operator = params['Operator']
          @AlarmIndicatorUnit = params['AlarmIndicatorUnit']
          @Duration = params['Duration']
          @DurationUnit = params['DurationUnit']
          @MaxTimes = params['MaxTimes']
          @Threshold = params['Threshold']
        end
      end

      # 任务告警信息
      class AlarmInfo < TencentCloud::Common::AbstractModel
        # @param TaskIds: 关联任务id
        # @type TaskIds: String
        # @param AlarmType: 告警类别;failure表示失败告警;overtime表示超时告警
        # @type AlarmType: String
        # @param AlarmWay: 告警方式;SMS表示短信;Email表示邮件;HTTP 表示接口方式;Wechat表示微信方式
        # @type AlarmWay: String
        # @param AlarmRecipient: 告警接收人,多个告警接收人以;分割
        # @type AlarmRecipient: String
        # @param AlarmRecipientId: 告警接收人id,多个告警接收人id以;分割
        # @type AlarmRecipientId: String
        # @param Hours: 预计运行的小时,取值范围0-23
        # @type Hours: Integer
        # @param Minutes: 预计运行分钟,取值范围0-59
        # @type Minutes: Integer
        # @param TriggerType: 告警出发时机;1表示第一次运行失败;2表示所有重试完成后失败;
        # @type TriggerType: Integer
        # @param AlarmId: 告警信息id
        # @type AlarmId: String
        # @param Status: 告警状态设置;1表示可用;0表示不可用,默认可用
        # @type Status: Integer

        attr_accessor :TaskIds, :AlarmType, :AlarmWay, :AlarmRecipient, :AlarmRecipientId, :Hours, :Minutes, :TriggerType, :AlarmId, :Status

        def initialize(taskids=nil, alarmtype=nil, alarmway=nil, alarmrecipient=nil, alarmrecipientid=nil, hours=nil, minutes=nil, triggertype=nil, alarmid=nil, status=nil)
          @TaskIds = taskids
          @AlarmType = alarmtype
          @AlarmWay = alarmway
          @AlarmRecipient = alarmrecipient
          @AlarmRecipientId = alarmrecipientid
          @Hours = hours
          @Minutes = minutes
          @TriggerType = triggertype
          @AlarmId = alarmid
          @Status = status
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @AlarmType = params['AlarmType']
          @AlarmWay = params['AlarmWay']
          @AlarmRecipient = params['AlarmRecipient']
          @AlarmRecipientId = params['AlarmRecipientId']
          @Hours = params['Hours']
          @Minutes = params['Minutes']
          @TriggerType = params['TriggerType']
          @AlarmId = params['AlarmId']
          @Status = params['Status']
        end
      end

      # 告警接收人详情
      class AlarmReceiverInfo < TencentCloud::Common::AbstractModel
        # @param AlarmId: 告警ID
        # @type AlarmId: String
        # @param AlarmReceiver: 告警接收人ID
        # @type AlarmReceiver: String
        # @param Email: 邮件,0:未设置,1:成功,2:失败
        # @type Email: Integer
        # @param Sms: 短信,0:未设置,1:成功,2:失败
        # @type Sms: Integer
        # @param Wechat: 微信,0:未设置,1:成功,2:失败
        # @type Wechat: Integer
        # @param Voice: 电话,0:未设置,1:成功,2:失败
        # @type Voice: Integer
        # @param Wecom: 企业微信,0:未设置,1:成功,2:失败
        # @type Wecom: Integer
        # @param Http: http,0:未设置,1:成功,2:失败
        # @type Http: Integer
        # @param WecomGroup: 企业微信群,0:未设置,1:成功,2:失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WecomGroup: Integer
        # @param LarkGroup: 飞书群,0:未设置,1:成功,2:失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LarkGroup: Integer

        attr_accessor :AlarmId, :AlarmReceiver, :Email, :Sms, :Wechat, :Voice, :Wecom, :Http, :WecomGroup, :LarkGroup

        def initialize(alarmid=nil, alarmreceiver=nil, email=nil, sms=nil, wechat=nil, voice=nil, wecom=nil, http=nil, wecomgroup=nil, larkgroup=nil)
          @AlarmId = alarmid
          @AlarmReceiver = alarmreceiver
          @Email = email
          @Sms = sms
          @Wechat = wechat
          @Voice = voice
          @Wecom = wecom
          @Http = http
          @WecomGroup = wecomgroup
          @LarkGroup = larkgroup
        end

        def deserialize(params)
          @AlarmId = params['AlarmId']
          @AlarmReceiver = params['AlarmReceiver']
          @Email = params['Email']
          @Sms = params['Sms']
          @Wechat = params['Wechat']
          @Voice = params['Voice']
          @Wecom = params['Wecom']
          @Http = params['Http']
          @WecomGroup = params['WecomGroup']
          @LarkGroup = params['LarkGroup']
        end
      end

      # 审批列表信息
      class Apply < TencentCloud::Common::AbstractModel
        # @param ApplicantId: 申请人id
        # @type ApplicantId: String
        # @param ApplicantName: 申请人名称
        # @type ApplicantName: String
        # @param Remark: 审批备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Remark: String
        # @param ApproveClassification: 审批分类key
        # @type ApproveClassification: String
        # @param ApproveId: 审批单id
        # @type ApproveId: String
        # @param ApproveType: 审批类型key
        # @type ApproveType: String
        # @param Reason: 申请原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Reason: String
        # @param CreateTime: 创建时间
        # @type CreateTime: String
        # @param ApproveTime: 审批时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApproveTime: String
        # @param ApproveClassificationName: 审批分类名称
        # @type ApproveClassificationName: String
        # @param Status: 状态
        # @type Status: String
        # @param ApproveTypeName: 审批类型名称
        # @type ApproveTypeName: String
        # @param ErrorMessage: 审批异常或者失败信息
        # @type ErrorMessage: String
        # @param ApplyName: 申请名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApplyName: String
        # @param ApproverId: 审批人id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApproverId: String
        # @param ApproverName: 审批人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApproverName: String
        # @param ApproveProjectName: 审批所属项目
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApproveProjectName: String
        # @param ApplyId: 审批id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ApplyId: String

        attr_accessor :ApplicantId, :ApplicantName, :Remark, :ApproveClassification, :ApproveId, :ApproveType, :Reason, :CreateTime, :ApproveTime, :ApproveClassificationName, :Status, :ApproveTypeName, :ErrorMessage, :ApplyName, :ApproverId, :ApproverName, :ApproveProjectName, :ApplyId

        def initialize(applicantid=nil, applicantname=nil, remark=nil, approveclassification=nil, approveid=nil, approvetype=nil, reason=nil, createtime=nil, approvetime=nil, approveclassificationname=nil, status=nil, approvetypename=nil, errormessage=nil, applyname=nil, approverid=nil, approvername=nil, approveprojectname=nil, applyid=nil)
          @ApplicantId = applicantid
          @ApplicantName = applicantname
          @Remark = remark
          @ApproveClassification = approveclassification
          @ApproveId = approveid
          @ApproveType = approvetype
          @Reason = reason
          @CreateTime = createtime
          @ApproveTime = approvetime
          @ApproveClassificationName = approveclassificationname
          @Status = status
          @ApproveTypeName = approvetypename
          @ErrorMessage = errormessage
          @ApplyName = applyname
          @ApproverId = approverid
          @ApproverName = approvername
          @ApproveProjectName = approveprojectname
          @ApplyId = applyid
        end

        def deserialize(params)
          @ApplicantId = params['ApplicantId']
          @ApplicantName = params['ApplicantName']
          @Remark = params['Remark']
          @ApproveClassification = params['ApproveClassification']
          @ApproveId = params['ApproveId']
          @ApproveType = params['ApproveType']
          @Reason = params['Reason']
          @CreateTime = params['CreateTime']
          @ApproveTime = params['ApproveTime']
          @ApproveClassificationName = params['ApproveClassificationName']
          @Status = params['Status']
          @ApproveTypeName = params['ApproveTypeName']
          @ErrorMessage = params['ErrorMessage']
          @ApplyName = params['ApplyName']
          @ApproverId = params['ApproverId']
          @ApproverName = params['ApproverName']
          @ApproveProjectName = params['ApproveProjectName']
          @ApplyId = params['ApplyId']
        end
      end

      # 修改审批单状态
      class ApproveModify < TencentCloud::Common::AbstractModel
        # @param ApproveId: 审批单id
        # @type ApproveId: String
        # @param Success: 是否修改成功
        # @type Success: Boolean

        attr_accessor :ApproveId, :Success

        def initialize(approveid=nil, success=nil)
          @ApproveId = approveid
          @Success = success
        end

        def deserialize(params)
          @ApproveId = params['ApproveId']
          @Success = params['Success']
        end
      end

      # 审批分类
      class ApproveType < TencentCloud::Common::AbstractModel
        # @param Type: 申请分类key
        # @type Type: String
        # @param TypeName: 类型名称
        # @type TypeName: String
        # @param Classification: 申请类型key
        # @type Classification: String

        attr_accessor :Type, :TypeName, :Classification

        def initialize(type=nil, typename=nil, classification=nil)
          @Type = type
          @TypeName = typename
          @Classification = classification
        end

        def deserialize(params)
          @Type = params['Type']
          @TypeName = params['TypeName']
          @Classification = params['Classification']
        end
      end

      # aiops基础信息
      class AttributeItemDTO < TencentCloud::Common::AbstractModel
        # @param Key: key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Key: String
        # @param Value: value
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String
        # @param Description: 描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String

        attr_accessor :Key, :Value, :Description

        def initialize(key=nil, value=nil, description=nil)
          @Key = key
          @Value = value
          @Description = description
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
          @Description = params['Description']
        end
      end

      # 集群基础信息
      class BaseClusterInfo < TencentCloud::Common::AbstractModel
        # @param ClusterId: 集群id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterId: String
        # @param ClusterType: 集群类型,EMR/CDW等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterType: String
        # @param ClusterName: 集群名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterName: String
        # @param RegionCn: 地域中文
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RegionCn: String
        # @param RegionEn: 地域英文
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RegionEn: String
        # @param RegionArea: 地区
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RegionArea: String
        # @param Used: 集群是否使用
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Used: Boolean
        # @param Status: 集群状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer
        # @param StatusInfo: 集群状态信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatusInfo: String
        # @param StorageType: 集群存储类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageType: String
        # @param ComputeType: 集群计算类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ComputeType: String
        # @param ClusterResource: 集群资源量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterResource: String
        # @param ChargeType: 集群付费方式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChargeType: String
        # @param CreateTime: 集群创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ExtraConf: 额外配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtraConf: String
        # @param RangerUserName: ranger账号名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RangerUserName: String
        # @param CdwUserName: cdw账号(用于展示)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CdwUserName: String

        attr_accessor :ClusterId, :ClusterType, :ClusterName, :RegionCn, :RegionEn, :RegionArea, :Used, :Status, :StatusInfo, :StorageType, :ComputeType, :ClusterResource, :ChargeType, :CreateTime, :ExtraConf, :RangerUserName, :CdwUserName

        def initialize(clusterid=nil, clustertype=nil, clustername=nil, regioncn=nil, regionen=nil, regionarea=nil, used=nil, status=nil, statusinfo=nil, storagetype=nil, computetype=nil, clusterresource=nil, chargetype=nil, createtime=nil, extraconf=nil, rangerusername=nil, cdwusername=nil)
          @ClusterId = clusterid
          @ClusterType = clustertype
          @ClusterName = clustername
          @RegionCn = regioncn
          @RegionEn = regionen
          @RegionArea = regionarea
          @Used = used
          @Status = status
          @StatusInfo = statusinfo
          @StorageType = storagetype
          @ComputeType = computetype
          @ClusterResource = clusterresource
          @ChargeType = chargetype
          @CreateTime = createtime
          @ExtraConf = extraconf
          @RangerUserName = rangerusername
          @CdwUserName = cdwusername
        end

        def deserialize(params)
          @ClusterId = params['ClusterId']
          @ClusterType = params['ClusterType']
          @ClusterName = params['ClusterName']
          @RegionCn = params['RegionCn']
          @RegionEn = params['RegionEn']
          @RegionArea = params['RegionArea']
          @Used = params['Used']
          @Status = params['Status']
          @StatusInfo = params['StatusInfo']
          @StorageType = params['StorageType']
          @ComputeType = params['ComputeType']
          @ClusterResource = params['ClusterResource']
          @ChargeType = params['ChargeType']
          @CreateTime = params['CreateTime']
          @ExtraConf = params['ExtraConf']
          @RangerUserName = params['RangerUserName']
          @CdwUserName = params['CdwUserName']
        end
      end

      # 租户基础信息
      class BaseTenant < TencentCloud::Common::AbstractModel
        # @param TenantId: 租户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantId: String
        # @param TenantName: 租户标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantName: String
        # @param DisplayName: 租户显示名称,一般是中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DisplayName: String
        # @param Description: 备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param OwnerUserId: 租户主账号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserId: String
        # @param Params: 租户的额外配置参数, json格式字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String

        attr_accessor :TenantId, :TenantName, :DisplayName, :Description, :OwnerUserId, :Params

        def initialize(tenantid=nil, tenantname=nil, displayname=nil, description=nil, owneruserid=nil, params=nil)
          @TenantId = tenantid
          @TenantName = tenantname
          @DisplayName = displayname
          @Description = description
          @OwnerUserId = owneruserid
          @Params = params
        end

        def deserialize(params)
          @TenantId = params['TenantId']
          @TenantName = params['TenantName']
          @DisplayName = params['DisplayName']
          @Description = params['Description']
          @OwnerUserId = params['OwnerUserId']
          @Params = params['Params']
        end
      end

      # 基础用户信息
      class BaseUser < TencentCloud::Common::AbstractModel
        # @param UserId: 有云的UIN,全局唯一
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: String
        # @param UserName: 用户全局唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserName: String
        # @param DisplayName: 用户显示名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DisplayName: String
        # @param PhoneNum: 电话号码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PhoneNum: String
        # @param Email: 邮箱
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Email: String

        attr_accessor :UserId, :UserName, :DisplayName, :PhoneNum, :Email

        def initialize(userid=nil, username=nil, displayname=nil, phonenum=nil, email=nil)
          @UserId = userid
          @UserName = username
          @DisplayName = displayname
          @PhoneNum = phonenum
          @Email = email
        end

        def deserialize(params)
          @UserId = params['UserId']
          @UserName = params['UserName']
          @DisplayName = params['DisplayName']
          @PhoneNum = params['PhoneNum']
          @Email = params['Email']
        end
      end

      # BatchCreateIntegrationTaskAlarms请求参数结构体
      class BatchCreateIntegrationTaskAlarmsRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskAlarmInfo: 告警配置信息
        # @type TaskAlarmInfo: :class:`Tencentcloud::Wedata.v20210820.models.TaskAlarmInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskIds, :TaskAlarmInfo, :ProjectId

        def initialize(taskids=nil, taskalarminfo=nil, projectid=nil)
          @TaskIds = taskids
          @TaskAlarmInfo = taskalarminfo
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          unless params['TaskAlarmInfo'].nil?
            @TaskAlarmInfo = TaskAlarmInfo.new
            @TaskAlarmInfo.deserialize(params['TaskAlarmInfo'])
          end
          @ProjectId = params['ProjectId']
        end
      end

      # BatchCreateIntegrationTaskAlarms返回参数结构体
      class BatchCreateIntegrationTaskAlarmsResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # BatchCreateTaskVersionAsync请求参数结构体
      class BatchCreateTaskVersionAsyncRequest < TencentCloud::Common::AbstractModel
        # @param Tasks: 任务信息
        # @type Tasks: Array
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param AutoRun: 是否自动运行
        # @type AutoRun: Boolean
        # @param AlarmWays: 告警方式:email-邮件;sms-短信;wecom-企业微信
        # @type AlarmWays: String
        # @param AlarmRecipientTypes: 告警对象:1-项目管理员,2-任务责任人
        # @type AlarmRecipientTypes: String
        # @param NeedCheckParentSubmitted: 是否需要校验父任务已经提交到调度
        # @type NeedCheckParentSubmitted: Boolean

        attr_accessor :Tasks, :ProjectId, :AutoRun, :AlarmWays, :AlarmRecipientTypes, :NeedCheckParentSubmitted

        def initialize(tasks=nil, projectid=nil, autorun=nil, alarmways=nil, alarmrecipienttypes=nil, needcheckparentsubmitted=nil)
          @Tasks = tasks
          @ProjectId = projectid
          @AutoRun = autorun
          @AlarmWays = alarmways
          @AlarmRecipientTypes = alarmrecipienttypes
          @NeedCheckParentSubmitted = needcheckparentsubmitted
        end

        def deserialize(params)
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              batchcreatetaskversiondto_tmp = BatchCreateTaskVersionDTO.new
              batchcreatetaskversiondto_tmp.deserialize(i)
              @Tasks << batchcreatetaskversiondto_tmp
            end
          end
          @ProjectId = params['ProjectId']
          @AutoRun = params['AutoRun']
          @AlarmWays = params['AlarmWays']
          @AlarmRecipientTypes = params['AlarmRecipientTypes']
          @NeedCheckParentSubmitted = params['NeedCheckParentSubmitted']
        end
      end

      # BatchCreateTaskVersionAsync返回参数结构体
      class BatchCreateTaskVersionAsyncResponse < TencentCloud::Common::AbstractModel
        # @param Data: 批量操作返回
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchTaskOperateNew`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchTaskOperateNew.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # BatchCreateTaskVersion使用,描述任务信息
      class BatchCreateTaskVersionDTO < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param VersionRemark: VersionRemark
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VersionRemark: String
        # @param FolderId: 文件夹ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String

        attr_accessor :TaskId, :VersionRemark, :FolderId

        def initialize(taskid=nil, versionremark=nil, folderid=nil)
          @TaskId = taskid
          @VersionRemark = versionremark
          @FolderId = folderid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @VersionRemark = params['VersionRemark']
          @FolderId = params['FolderId']
        end
      end

      # BatchDeleteIntegrationTasks请求参数结构体
      class BatchDeleteIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DeleteKFFlag: 是否删除开发态任务。默认不删除开发态,为 0 不删除 , 为 1 删除
        # @type DeleteKFFlag: Integer
        # @param Name: 操作名称
        # @type Name: String
        # @param TaskNames: 本次批量操作涉及任务,用于审计
        # @type TaskNames: Array

        attr_accessor :TaskIds, :TaskType, :ProjectId, :DeleteKFFlag, :Name, :TaskNames

        def initialize(taskids=nil, tasktype=nil, projectid=nil, deletekfflag=nil, name=nil, tasknames=nil)
          @TaskIds = taskids
          @TaskType = tasktype
          @ProjectId = projectid
          @DeleteKFFlag = deletekfflag
          @Name = name
          @TaskNames = tasknames
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @DeleteKFFlag = params['DeleteKFFlag']
          @Name = params['Name']
          @TaskNames = params['TaskNames']
        end
      end

      # BatchDeleteIntegrationTasks返回参数结构体
      class BatchDeleteIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # BatchDeleteOpsTasks请求参数结构体
      class BatchDeleteOpsTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIdList: 批量删除的任务TaskId
        # @type TaskIdList: Array
        # @param DeleteMode: true : 删除后下游任务可正常运行
        # false:删除后下游任务不可运行
        # @type DeleteMode: Boolean
        # @param EnableNotify: true:通知下游任务责任人
        # false:  不通知下游任务责任人
        # @type EnableNotify: Boolean
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :TaskIdList, :DeleteMode, :EnableNotify, :ProjectId

        def initialize(taskidlist=nil, deletemode=nil, enablenotify=nil, projectid=nil)
          @TaskIdList = taskidlist
          @DeleteMode = deletemode
          @EnableNotify = enablenotify
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIdList = params['TaskIdList']
          @DeleteMode = params['DeleteMode']
          @EnableNotify = params['EnableNotify']
          @ProjectId = params['ProjectId']
        end
      end

      # BatchDeleteOpsTasks返回参数结构体
      class BatchDeleteOpsTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回批量操作成功个数、失败个数、操作总数
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # BatchForceSuccessIntegrationTaskInstances请求参数结构体
      class BatchForceSuccessIntegrationTaskInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例信息
        # @type Instances: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :Instances, :ProjectId

        def initialize(instances=nil, projectid=nil)
          @Instances = instances
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              schedulertaskinstanceinfo_tmp = SchedulerTaskInstanceInfo.new
              schedulertaskinstanceinfo_tmp.deserialize(i)
              @Instances << schedulertaskinstanceinfo_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # BatchForceSuccessIntegrationTaskInstances返回参数结构体
      class BatchForceSuccessIntegrationTaskInstancesResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # BatchKillIntegrationTaskInstances请求参数结构体
      class BatchKillIntegrationTaskInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例信息
        # @type Instances: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :Instances, :ProjectId

        def initialize(instances=nil, projectid=nil)
          @Instances = instances
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              schedulertaskinstanceinfo_tmp = SchedulerTaskInstanceInfo.new
              schedulertaskinstanceinfo_tmp.deserialize(i)
              @Instances << schedulertaskinstanceinfo_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # BatchKillIntegrationTaskInstances返回参数结构体
      class BatchKillIntegrationTaskInstancesResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param TaskNames: 实际传的为taskId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskNames: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :TaskNames, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, tasknames=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @TaskNames = tasknames
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @TaskNames = params['TaskNames']
          @RequestId = params['RequestId']
        end
      end

      # BatchMakeUpIntegrationTasks请求参数结构体
      class BatchMakeUpIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param StartTime: 补数据开始时间
        # @type StartTime: String
        # @param EndTime: 补数据结束时间
        # @type EndTime: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskIds, :TaskType, :StartTime, :EndTime, :ProjectId

        def initialize(taskids=nil, tasktype=nil, starttime=nil, endtime=nil, projectid=nil)
          @TaskIds = taskids
          @TaskType = tasktype
          @StartTime = starttime
          @EndTime = endtime
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @TaskType = params['TaskType']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @ProjectId = params['ProjectId']
        end
      end

      # BatchMakeUpIntegrationTasks返回参数结构体
      class BatchMakeUpIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # BatchModifyOpsOwners请求参数结构体
      class BatchModifyOpsOwnersRequest < TencentCloud::Common::AbstractModel
        # @param TaskIdList: 需要更新责任人的TaskId数组
        # @type TaskIdList: Array
        # @param Owners: 需要更新的责任人userId信息,多个责任人用;连接
        # @type Owners: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :TaskIdList, :Owners, :ProjectId

        def initialize(taskidlist=nil, owners=nil, projectid=nil)
          @TaskIdList = taskidlist
          @Owners = owners
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIdList = params['TaskIdList']
          @Owners = params['Owners']
          @ProjectId = params['ProjectId']
        end
      end

      # BatchModifyOpsOwners返回参数结构体
      class BatchModifyOpsOwnersResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回批量操作成功个数、失败个数、操作总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 批量操作的结果返回
      class BatchOperateResult < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 批量操作成功数
        # @type SuccessCount: Integer
        # @param FailedCount: 批量操作失败数
        # @type FailedCount: Integer
        # @param TotalCount: 批量操作的总数
        # @type TotalCount: Integer

        attr_accessor :SuccessCount, :FailedCount, :TotalCount

        def initialize(successcount=nil, failedcount=nil, totalcount=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
        end
      end

      # 实例批量操作结果类
      class BatchOperateResultOpsDto < TencentCloud::Common::AbstractModel
        # @param Result: 结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Result: Boolean
        # @param ErrorId: 错误id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorId: String
        # @param ErrorDesc: 错误说明
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String

        attr_accessor :Result, :ErrorId, :ErrorDesc

        def initialize(result=nil, errorid=nil, errordesc=nil)
          @Result = result
          @ErrorId = errorid
          @ErrorDesc = errordesc
        end

        def deserialize(params)
          @Result = params['Result']
          @ErrorId = params['ErrorId']
          @ErrorDesc = params['ErrorDesc']
        end
      end

      # 批量操作的结果返回
      class BatchOperationOpsDto < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 批量操作成功数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessCount: Integer
        # @param FailedCount: 批量操作失败数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailedCount: Integer
        # @param TotalCount: 批量操作的总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer

        attr_accessor :SuccessCount, :FailedCount, :TotalCount

        def initialize(successcount=nil, failedcount=nil, totalcount=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
        end
      end

      # 批量操作结果,带失败原因
      class BatchOpsDTO < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param SuccessCount: 成功数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessCount: Integer
        # @param FailCount: 失败数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailCount: Integer
        # @param FailMessageList: 失败原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailMessageList: Array

        attr_accessor :TotalCount, :SuccessCount, :FailCount, :FailMessageList

        def initialize(totalcount=nil, successcount=nil, failcount=nil, failmessagelist=nil)
          @TotalCount = totalcount
          @SuccessCount = successcount
          @FailCount = failcount
          @FailMessageList = failmessagelist
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @SuccessCount = params['SuccessCount']
          @FailCount = params['FailCount']
          unless params['FailMessageList'].nil?
            @FailMessageList = []
            params['FailMessageList'].each do |i|
              failmessage_tmp = FailMessage.new
              failmessage_tmp.deserialize(i)
              @FailMessageList << failmessage_tmp
            end
          end
        end
      end

      # BatchRerunIntegrationTaskInstances请求参数结构体
      class BatchRerunIntegrationTaskInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例信息
        # @type Instances: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :Instances, :ProjectId

        def initialize(instances=nil, projectid=nil)
          @Instances = instances
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              schedulertaskinstanceinfo_tmp = SchedulerTaskInstanceInfo.new
              schedulertaskinstanceinfo_tmp.deserialize(i)
              @Instances << schedulertaskinstanceinfo_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # BatchRerunIntegrationTaskInstances返回参数结构体
      class BatchRerunIntegrationTaskInstancesResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param TaskNames: 实际传的为taskId
        # @type TaskNames: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :TaskNames, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, tasknames=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @TaskNames = tasknames
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @TaskNames = params['TaskNames']
          @RequestId = params['RequestId']
        end
      end

      # 批量操作结果
      class BatchResult < TencentCloud::Common::AbstractModel
        # @param Running: 正在运行的任务数
        # @type Running: Integer
        # @param Success: 执行成功的任务数
        # @type Success: Integer
        # @param Failed: 执行失败的任务数
        # @type Failed: Integer
        # @param Total: 总任务数
        # @type Total: Integer

        attr_accessor :Running, :Success, :Failed, :Total

        def initialize(running=nil, success=nil, failed=nil, total=nil)
          @Running = running
          @Success = success
          @Failed = failed
          @Total = total
        end

        def deserialize(params)
          @Running = params['Running']
          @Success = params['Success']
          @Failed = params['Failed']
          @Total = params['Total']
        end
      end

      # 批量执行结果
      class BatchResultDs < TencentCloud::Common::AbstractModel
        # @param Success: 成功数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Success: Integer
        # @param Failed: 失败数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Failed: Integer
        # @param Total: 总计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Total: Integer

        attr_accessor :Success, :Failed, :Total

        def initialize(success=nil, failed=nil, total=nil)
          @Success = success
          @Failed = failed
          @Total = total
        end

        def deserialize(params)
          @Success = params['Success']
          @Failed = params['Failed']
          @Total = params['Total']
        end
      end

      # BatchResumeIntegrationTasks请求参数结构体
      class BatchResumeIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskType: 任务类型, 201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskIds, :TaskType, :ProjectId

        def initialize(taskids=nil, tasktype=nil, projectid=nil)
          @TaskIds = taskids
          @TaskType = tasktype
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
        end
      end

      # BatchResumeIntegrationTasks返回参数结构体
      class BatchResumeIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param TaskNames: 本次批量操作涉及任务,用于审计
        # @type TaskNames: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :TaskNames, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, tasknames=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @TaskNames = tasknames
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @TaskNames = params['TaskNames']
          @RequestId = params['RequestId']
        end
      end

      # 操作结果
      class BatchReturn < TencentCloud::Common::AbstractModel
        # @param Result: 执行结果
        # @type Result: Boolean
        # @param ErrorDesc: 执行情况备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String
        # @param ErrorId: 执行情况id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorId: String

        attr_accessor :Result, :ErrorDesc, :ErrorId

        def initialize(result=nil, errordesc=nil, errorid=nil)
          @Result = result
          @ErrorDesc = errordesc
          @ErrorId = errorid
        end

        def deserialize(params)
          @Result = params['Result']
          @ErrorDesc = params['ErrorDesc']
          @ErrorId = params['ErrorId']
        end
      end

      # BatchRunOpsTask请求参数结构体
      class BatchRunOpsTaskRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param EnableMakeUp: 是否补录中间实例,0不补录;1补录
        # @type EnableMakeUp: Integer
        # @param Tasks: 任务id列表
        # @type Tasks: Array

        attr_accessor :ProjectId, :EnableMakeUp, :Tasks

        def initialize(projectid=nil, enablemakeup=nil, tasks=nil)
          @ProjectId = projectid
          @EnableMakeUp = enablemakeup
          @Tasks = tasks
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @EnableMakeUp = params['EnableMakeUp']
          @Tasks = params['Tasks']
        end
      end

      # BatchRunOpsTask返回参数结构体
      class BatchRunOpsTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # BatchStartIntegrationTasks请求参数结构体
      class BatchStartIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param StartTaskInfoSet: 批量运行集成任务,目前仅实时集成用到了这个参数
        # @type StartTaskInfoSet: Array

        attr_accessor :TaskType, :ProjectId, :TaskIds, :StartTaskInfoSet

        def initialize(tasktype=nil, projectid=nil, taskids=nil, starttaskinfoset=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @TaskIds = taskids
          @StartTaskInfoSet = starttaskinfoset
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @TaskIds = params['TaskIds']
          unless params['StartTaskInfoSet'].nil?
            @StartTaskInfoSet = []
            params['StartTaskInfoSet'].each do |i|
              starttaskinfo_tmp = StartTaskInfo.new
              starttaskinfo_tmp.deserialize(i)
              @StartTaskInfoSet << starttaskinfo_tmp
            end
          end
        end
      end

      # BatchStartIntegrationTasks返回参数结构体
      class BatchStartIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param TaskNames: 本次批量操作成功任务id,用于审计
        # @type TaskNames: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :TaskNames, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, tasknames=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @TaskNames = tasknames
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @TaskNames = params['TaskNames']
          @RequestId = params['RequestId']
        end
      end

      # BatchStopIntegrationTasks请求参数结构体
      class BatchStopIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskIds, :TaskType, :ProjectId

        def initialize(taskids=nil, tasktype=nil, projectid=nil)
          @TaskIds = taskids
          @TaskType = tasktype
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
        end
      end

      # BatchStopIntegrationTasks返回参数结构体
      class BatchStopIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param TaskNames: 本次批量操作涉及成功任务,用于审计
        # @type TaskNames: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :TaskNames, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, tasknames=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @TaskNames = tasknames
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @TaskNames = params['TaskNames']
          @RequestId = params['RequestId']
        end
      end

      # BatchStopOpsTasks请求参数结构体
      class BatchStopOpsTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIdList: 批量停止任务的TaskId
        # @type TaskIdList: Array
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param KillInstance: 是否终止已生成的实例
        # @type KillInstance: Boolean

        attr_accessor :TaskIdList, :ProjectId, :KillInstance

        def initialize(taskidlist=nil, projectid=nil, killinstance=nil)
          @TaskIdList = taskidlist
          @ProjectId = projectid
          @KillInstance = killinstance
        end

        def deserialize(params)
          @TaskIdList = params['TaskIdList']
          @ProjectId = params['ProjectId']
          @KillInstance = params['KillInstance']
        end
      end

      # BatchStopOpsTasks返回参数结构体
      class BatchStopOpsTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回批量操作成功个数、失败个数、操作总数
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # BatchStopWorkflowsByIds请求参数结构体
      class BatchStopWorkflowsByIdsRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowIds: 工作流id列表
        # @type WorkflowIds: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param KillInstance: 是否终止已生成的实例
        # @type KillInstance: Boolean

        attr_accessor :WorkflowIds, :ProjectId, :KillInstance

        def initialize(workflowids=nil, projectid=nil, killinstance=nil)
          @WorkflowIds = workflowids
          @ProjectId = projectid
          @KillInstance = killinstance
        end

        def deserialize(params)
          @WorkflowIds = params['WorkflowIds']
          @ProjectId = params['ProjectId']
          @KillInstance = params['KillInstance']
        end
      end

      # BatchStopWorkflowsByIds返回参数结构体
      class BatchStopWorkflowsByIdsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作返回结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # BatchSuspendIntegrationTasks请求参数结构体
      class BatchSuspendIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Event: 事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)
        # @type Event: String
        # @param TaskNames: 本次批量操作涉及任务,用于审计
        # @type TaskNames: Array

        attr_accessor :TaskIds, :TaskType, :ProjectId, :Event, :TaskNames

        def initialize(taskids=nil, tasktype=nil, projectid=nil, event=nil, tasknames=nil)
          @TaskIds = taskids
          @TaskType = tasktype
          @ProjectId = projectid
          @Event = event
          @TaskNames = tasknames
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @Event = params['Event']
          @TaskNames = params['TaskNames']
        end
      end

      # BatchSuspendIntegrationTasks返回参数结构体
      class BatchSuspendIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # 批量操作出参
      class BatchTaskOperateNew < TencentCloud::Common::AbstractModel
        # @param JobId: 操作Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type JobId: Integer

        attr_accessor :JobId

        def initialize(jobid=nil)
          @JobId = jobid
        end

        def deserialize(params)
          @JobId = params['JobId']
        end
      end

      # BatchUpdateIntegrationTasks请求参数结构体
      class BatchUpdateIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务id
        # @type TaskIds: Array
        # @param Incharge: 责任人(多个责任人用小写分号隔开;离线任务传入的是账号名,实时任务传入的是账号id)
        # @type Incharge: String
        # @param TaskType: 任务类型
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param InchargeIds: 责任人Id(多个责任人用小写分号隔开)
        # @type InchargeIds: String
        # @param TaskNames: 本次批量操作涉及任务,用于审计
        # @type TaskNames: Array

        attr_accessor :TaskIds, :Incharge, :TaskType, :ProjectId, :InchargeIds, :TaskNames

        def initialize(taskids=nil, incharge=nil, tasktype=nil, projectid=nil, inchargeids=nil, tasknames=nil)
          @TaskIds = taskids
          @Incharge = incharge
          @TaskType = tasktype
          @ProjectId = projectid
          @InchargeIds = inchargeids
          @TaskNames = tasknames
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @Incharge = params['Incharge']
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @InchargeIds = params['InchargeIds']
          @TaskNames = params['TaskNames']
        end
      end

      # BatchUpdateIntegrationTasks返回参数结构体
      class BatchUpdateIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param SuccessCount: 操作成功的任务数
        # @type SuccessCount: Integer
        # @param FailedCount: 操作失败的任务数
        # @type FailedCount: Integer
        # @param TotalCount: 任务总数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SuccessCount, :FailedCount, :TotalCount, :RequestId

        def initialize(successcount=nil, failedcount=nil, totalcount=nil, requestid=nil)
          @SuccessCount = successcount
          @FailedCount = failedcount
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @SuccessCount = params['SuccessCount']
          @FailedCount = params['FailedCount']
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # 实时任务同步速度 字节/s
      class BytesSpeed < TencentCloud::Common::AbstractModel
        # @param NodeType: 节点类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeType: String
        # @param NodeName: 节点名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeName: String
        # @param Values: 速度值列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Values: Array

        attr_accessor :NodeType, :NodeName, :Values

        def initialize(nodetype=nil, nodename=nil, values=nil)
          @NodeType = nodetype
          @NodeName = nodename
          @Values = values
        end

        def deserialize(params)
          @NodeType = params['NodeType']
          @NodeName = params['NodeName']
          unless params['Values'].nil?
            @Values = []
            params['Values'].each do |i|
              speedvalue_tmp = SpeedValue.new
              speedvalue_tmp.deserialize(i)
              @Values << speedvalue_tmp
            end
          end
        end
      end

      # CheckAlarmRegularNameExist请求参数结构体
      class CheckAlarmRegularNameExistRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目名称
        # @type ProjectId: String
        # @param AlarmRegularName: 规则名称
        # @type AlarmRegularName: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param Id: 主键ID
        # @type Id: String
        # @param TaskType: 任务类型:201.实时,202.离线
        # @type TaskType: Integer
        # @param MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        # @type MonitorType: Integer

        attr_accessor :ProjectId, :AlarmRegularName, :TaskId, :Id, :TaskType, :MonitorType
        extend Gem::Deprecate
        deprecate :TaskId, :none, 2024, 9
        deprecate :TaskId=, :none, 2024, 9

        def initialize(projectid=nil, alarmregularname=nil, taskid=nil, id=nil, tasktype=nil, monitortype=nil)
          @ProjectId = projectid
          @AlarmRegularName = alarmregularname
          @TaskId = taskid
          @Id = id
          @TaskType = tasktype
          @MonitorType = monitortype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @AlarmRegularName = params['AlarmRegularName']
          @TaskId = params['TaskId']
          @Id = params['Id']
          @TaskType = params['TaskType']
          @MonitorType = params['MonitorType']
        end
      end

      # CheckAlarmRegularNameExist返回参数结构体
      class CheckAlarmRegularNameExistResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否重名
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CheckIntegrationNodeNameExists请求参数结构体
      class CheckIntegrationNodeNameExistsRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param Name: 节点名称
        # @type Name: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param Id: 节点ID
        # @type Id: Integer

        attr_accessor :TaskId, :Name, :ProjectId, :Id

        def initialize(taskid=nil, name=nil, projectid=nil, id=nil)
          @TaskId = taskid
          @Name = name
          @ProjectId = projectid
          @Id = id
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @Name = params['Name']
          @ProjectId = params['ProjectId']
          @Id = params['Id']
        end
      end

      # CheckIntegrationNodeNameExists返回参数结构体
      class CheckIntegrationNodeNameExistsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回true代表存在,返回false代表不存在
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CheckIntegrationTaskNameExists请求参数结构体
      class CheckIntegrationTaskNameExistsRequest < TencentCloud::Common::AbstractModel
        # @param TaskName: 任务名称
        # @type TaskName: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param SyncType: 同步类型1.单表同步,2.解决方案
        # @type SyncType: Integer

        attr_accessor :TaskName, :ProjectId, :TaskId, :SyncType

        def initialize(taskname=nil, projectid=nil, taskid=nil, synctype=nil)
          @TaskName = taskname
          @ProjectId = projectid
          @TaskId = taskid
          @SyncType = synctype
        end

        def deserialize(params)
          @TaskName = params['TaskName']
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @SyncType = params['SyncType']
        end
      end

      # CheckIntegrationTaskNameExists返回参数结构体
      class CheckIntegrationTaskNameExistsResponse < TencentCloud::Common::AbstractModel
        # @param Data: true表示存在,false表示不存在
        # @type Data: Boolean
        # @param ExistsType: 任务名重复类型(0:未重复, 1:开发态重复, 2:生产态重复)
        # @type ExistsType: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :ExistsType, :RequestId

        def initialize(data=nil, existstype=nil, requestid=nil)
          @Data = data
          @ExistsType = existstype
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @ExistsType = params['ExistsType']
          @RequestId = params['RequestId']
        end
      end

      # CheckTaskNameExist请求参数结构体
      class CheckTaskNameExistRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id/工作空间id
        # @type ProjectId: String
        # @param TypeId: 任务类型(跟调度传参保持一致27)
        # @type TypeId: Integer
        # @param TaskName: 任务名
        # @type TaskName: String

        attr_accessor :ProjectId, :TypeId, :TaskName

        def initialize(projectid=nil, typeid=nil, taskname=nil)
          @ProjectId = projectid
          @TypeId = typeid
          @TaskName = taskname
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TypeId = params['TypeId']
          @TaskName = params['TaskName']
        end
      end

      # CheckTaskNameExist返回参数结构体
      class CheckTaskNameExistResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # 文件夹列表
      class CollectionFolderOpsDto < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 总页面数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页面数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 每页数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 任务信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              folderopsdto_tmp = FolderOpsDto.new
              folderopsdto_tmp.deserialize(i)
              @Items << folderopsdto_tmp
            end
          end
        end
      end

      # 实例列表结构体
      class CollectionInstanceOpsDto < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 总页面数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页面数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 每页数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 实例信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Items << instanceopsdto_tmp
            end
          end
        end
      end

      # 列血缘聚合信息
      class ColumnAggregationLineage < TencentCloud::Common::AbstractModel
        # @param TableName: 表名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param ParentId: 父节点ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentId: String
        # @param MetastoreType: 元数据类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param ParentSet: 字符串类型的父节点集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentSet: String
        # @param ChildSet: 字符串类型的子节点集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChildSet: String
        # @param ColumnInfoSet: 列信息集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnInfoSet: Array

        attr_accessor :TableName, :ParentId, :MetastoreType, :ParentSet, :ChildSet, :ColumnInfoSet

        def initialize(tablename=nil, parentid=nil, metastoretype=nil, parentset=nil, childset=nil, columninfoset=nil)
          @TableName = tablename
          @ParentId = parentid
          @MetastoreType = metastoretype
          @ParentSet = parentset
          @ChildSet = childset
          @ColumnInfoSet = columninfoset
        end

        def deserialize(params)
          @TableName = params['TableName']
          @ParentId = params['ParentId']
          @MetastoreType = params['MetastoreType']
          @ParentSet = params['ParentSet']
          @ChildSet = params['ChildSet']
          unless params['ColumnInfoSet'].nil?
            @ColumnInfoSet = []
            params['ColumnInfoSet'].each do |i|
              simplecolumninfo_tmp = SimpleColumnInfo.new
              simplecolumninfo_tmp.deserialize(i)
              @ColumnInfoSet << simplecolumninfo_tmp
            end
          end
        end
      end

      # 表的元数据信息
      class ColumnBasicInfo < TencentCloud::Common::AbstractModel
        # @param TableId: 表的全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param DatasourceId: 数据源全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatasourceName: 数据源名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatabaseId: 数据库ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param ColumnName: 字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnName: String
        # @param DataType: 数据类型,string/int等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataType: String
        # @param ColumnType: 字段类型, varchar(32)/int(10)等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnType: String
        # @param ColumnDefault: 字段默认值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnDefault: String
        # @param ColumnKey: 索引类型, PRI/MUL/PARTITION等,普通字段该值为空串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnKey: String
        # @param ColumnPosition: 字段顺序标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnPosition: Integer
        # @param ColumnComment: 字段注释
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnComment: String
        # @param StoreType: 数据类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StoreType: String
        # @param ProjectId: 所属项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectName: 所属项目英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param ProjectDisplayName: 所属项目中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectDisplayName: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param Scale: 精度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Scale: Integer

        attr_accessor :TableId, :DatasourceId, :DatasourceName, :DatabaseId, :DatabaseName, :TableName, :ColumnName, :DataType, :ColumnType, :ColumnDefault, :ColumnKey, :ColumnPosition, :ColumnComment, :StoreType, :ProjectId, :ProjectName, :ProjectDisplayName, :CreateTime, :UpdateTime, :Scale

        def initialize(tableid=nil, datasourceid=nil, datasourcename=nil, databaseid=nil, databasename=nil, tablename=nil, columnname=nil, datatype=nil, columntype=nil, columndefault=nil, columnkey=nil, columnposition=nil, columncomment=nil, storetype=nil, projectid=nil, projectname=nil, projectdisplayname=nil, createtime=nil, updatetime=nil, scale=nil)
          @TableId = tableid
          @DatasourceId = datasourceid
          @DatasourceName = datasourcename
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @TableName = tablename
          @ColumnName = columnname
          @DataType = datatype
          @ColumnType = columntype
          @ColumnDefault = columndefault
          @ColumnKey = columnkey
          @ColumnPosition = columnposition
          @ColumnComment = columncomment
          @StoreType = storetype
          @ProjectId = projectid
          @ProjectName = projectname
          @ProjectDisplayName = projectdisplayname
          @CreateTime = createtime
          @UpdateTime = updatetime
          @Scale = scale
        end

        def deserialize(params)
          @TableId = params['TableId']
          @DatasourceId = params['DatasourceId']
          @DatasourceName = params['DatasourceName']
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @TableName = params['TableName']
          @ColumnName = params['ColumnName']
          @DataType = params['DataType']
          @ColumnType = params['ColumnType']
          @ColumnDefault = params['ColumnDefault']
          @ColumnKey = params['ColumnKey']
          @ColumnPosition = params['ColumnPosition']
          @ColumnComment = params['ColumnComment']
          @StoreType = params['StoreType']
          @ProjectId = params['ProjectId']
          @ProjectName = params['ProjectName']
          @ProjectDisplayName = params['ProjectDisplayName']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @Scale = params['Scale']
        end
      end

      # ColumnItem
      class ColumnData < TencentCloud::Common::AbstractModel
        # @param EventName: ColumnName1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventName: String
        # @param EventProjectName: ColumnName1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventProjectName: String
        # @param Type: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param CurRunDate: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param TaskId: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param State: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type State: String
        # @param EventType: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventType: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String

        attr_accessor :EventName, :EventProjectName, :Type, :CurRunDate, :TaskId, :State, :EventType, :TaskName, :ProjectName, :ProjectId

        def initialize(eventname=nil, eventprojectname=nil, type=nil, currundate=nil, taskid=nil, state=nil, eventtype=nil, taskname=nil, projectname=nil, projectid=nil)
          @EventName = eventname
          @EventProjectName = eventprojectname
          @Type = type
          @CurRunDate = currundate
          @TaskId = taskid
          @State = state
          @EventType = eventtype
          @TaskName = taskname
          @ProjectName = projectname
          @ProjectId = projectid
        end

        def deserialize(params)
          @EventName = params['EventName']
          @EventProjectName = params['EventProjectName']
          @Type = params['Type']
          @CurRunDate = params['CurRunDate']
          @TaskId = params['TaskId']
          @State = params['State']
          @EventType = params['EventType']
          @TaskName = params['TaskName']
          @ProjectName = params['ProjectName']
          @ProjectId = params['ProjectId']
        end
      end

      # ColumnItem
      class ColumnItem < TencentCloud::Common::AbstractModel
        # @param ColumnName: ColumnName1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnName: String
        # @param ColumnRef: ColumnName1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnRef: String

        attr_accessor :ColumnName, :ColumnRef

        def initialize(columnname=nil, columnref=nil)
          @ColumnName = columnname
          @ColumnRef = columnref
        end

        def deserialize(params)
          @ColumnName = params['ColumnName']
          @ColumnRef = params['ColumnRef']
        end
      end

      # 血缘字段信息
      class ColumnLineageInfo < TencentCloud::Common::AbstractModel
        # @param Id: 血缘id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param DatasourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param ColumnName: 字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnName: String
        # @param ColumnNameCn: 字段中文名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnNameCn: String
        # @param ColumnType: 字段类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnType: String
        # @param RelationParams: 关系参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelationParams: String
        # @param Params: 参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String
        # @param ParentId: 父id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentId: String
        # @param MetastoreType: 元数据类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param MetastoreTypeName: 元数据类型名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreTypeName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param QualifiedName: 字段全名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualifiedName: String
        # @param DownStreamCount: 下游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DownStreamCount: Integer
        # @param UpStreamCount: 上游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpStreamCount: Integer
        # @param Description: 描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param PrefixPath: 由中心节点出发的路径信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PrefixPath: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param Tasks: 任务id列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array
        # @param ParentSet: 父节点列表字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentSet: String
        # @param ChildSet: 子节点列表字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChildSet: String
        # @param ExtParams: 额外参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtParams: Array
        # @param TableId: 表ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String

        attr_accessor :Id, :DatasourceId, :ColumnName, :ColumnNameCn, :ColumnType, :RelationParams, :Params, :ParentId, :MetastoreType, :MetastoreTypeName, :TableName, :QualifiedName, :DownStreamCount, :UpStreamCount, :Description, :PrefixPath, :CreateTime, :ModifyTime, :Tasks, :ParentSet, :ChildSet, :ExtParams, :TableId

        def initialize(id=nil, datasourceid=nil, columnname=nil, columnnamecn=nil, columntype=nil, relationparams=nil, params=nil, parentid=nil, metastoretype=nil, metastoretypename=nil, tablename=nil, qualifiedname=nil, downstreamcount=nil, upstreamcount=nil, description=nil, prefixpath=nil, createtime=nil, modifytime=nil, tasks=nil, parentset=nil, childset=nil, extparams=nil, tableid=nil)
          @Id = id
          @DatasourceId = datasourceid
          @ColumnName = columnname
          @ColumnNameCn = columnnamecn
          @ColumnType = columntype
          @RelationParams = relationparams
          @Params = params
          @ParentId = parentid
          @MetastoreType = metastoretype
          @MetastoreTypeName = metastoretypename
          @TableName = tablename
          @QualifiedName = qualifiedname
          @DownStreamCount = downstreamcount
          @UpStreamCount = upstreamcount
          @Description = description
          @PrefixPath = prefixpath
          @CreateTime = createtime
          @ModifyTime = modifytime
          @Tasks = tasks
          @ParentSet = parentset
          @ChildSet = childset
          @ExtParams = extparams
          @TableId = tableid
        end

        def deserialize(params)
          @Id = params['Id']
          @DatasourceId = params['DatasourceId']
          @ColumnName = params['ColumnName']
          @ColumnNameCn = params['ColumnNameCn']
          @ColumnType = params['ColumnType']
          @RelationParams = params['RelationParams']
          @Params = params['Params']
          @ParentId = params['ParentId']
          @MetastoreType = params['MetastoreType']
          @MetastoreTypeName = params['MetastoreTypeName']
          @TableName = params['TableName']
          @QualifiedName = params['QualifiedName']
          @DownStreamCount = params['DownStreamCount']
          @UpStreamCount = params['UpStreamCount']
          @Description = params['Description']
          @PrefixPath = params['PrefixPath']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
          @Tasks = params['Tasks']
          @ParentSet = params['ParentSet']
          @ChildSet = params['ChildSet']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              lineageparamrecord_tmp = LineageParamRecord.new
              lineageparamrecord_tmp.deserialize(i)
              @ExtParams << lineageparamrecord_tmp
            end
          end
          @TableId = params['TableId']
        end
      end

      # 列的元数据
      class ColumnMeta < TencentCloud::Common::AbstractModel
        # @param NameEn: 字段英文名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NameEn: String
        # @param NameCn: 字段中文名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NameCn: String
        # @param Type: 字段类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Description: 字段描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Position: 字段序号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Position: Integer
        # @param IsPartition: 是否为分区字段
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsPartition: Boolean
        # @param Name: 字段名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param ColumnFamiliesFieldSet: HBase列簇属性集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnFamiliesFieldSet: Array
        # @param DictionaryId: 对应码表字典ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DictionaryId: String
        # @param DictionaryName: 对应码表字典名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DictionaryName: String
        # @param LevelName: 安全等级:名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LevelName: String
        # @param LevelRank: 安全等级:值范围1-10
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LevelRank: Integer
        # @param InfluxCategory: influxdb字段类别
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InfluxCategory: String

        attr_accessor :NameEn, :NameCn, :Type, :Description, :Position, :IsPartition, :Name, :ColumnFamiliesFieldSet, :DictionaryId, :DictionaryName, :LevelName, :LevelRank, :InfluxCategory

        def initialize(nameen=nil, namecn=nil, type=nil, description=nil, position=nil, ispartition=nil, name=nil, columnfamiliesfieldset=nil, dictionaryid=nil, dictionaryname=nil, levelname=nil, levelrank=nil, influxcategory=nil)
          @NameEn = nameen
          @NameCn = namecn
          @Type = type
          @Description = description
          @Position = position
          @IsPartition = ispartition
          @Name = name
          @ColumnFamiliesFieldSet = columnfamiliesfieldset
          @DictionaryId = dictionaryid
          @DictionaryName = dictionaryname
          @LevelName = levelname
          @LevelRank = levelrank
          @InfluxCategory = influxcategory
        end

        def deserialize(params)
          @NameEn = params['NameEn']
          @NameCn = params['NameCn']
          @Type = params['Type']
          @Description = params['Description']
          @Position = params['Position']
          @IsPartition = params['IsPartition']
          @Name = params['Name']
          unless params['ColumnFamiliesFieldSet'].nil?
            @ColumnFamiliesFieldSet = []
            params['ColumnFamiliesFieldSet'].each do |i|
              pair_tmp = Pair.new
              pair_tmp.deserialize(i)
              @ColumnFamiliesFieldSet << pair_tmp
            end
          end
          @DictionaryId = params['DictionaryId']
          @DictionaryName = params['DictionaryName']
          @LevelName = params['LevelName']
          @LevelRank = params['LevelRank']
          @InfluxCategory = params['InfluxCategory']
        end
      end

      # CommitIntegrationTask请求参数结构体
      class CommitIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param CommitType: 0.仅提交,1.立即启动,2.停止线上作业,丢弃作业状态数据,重新启动运行,3.暂停线上作业,保留作业状态数据,继续运行,4.保留作业状态数据,继续运行
        # @type CommitType: Integer
        # @param TaskType: 实时任务 201   离线任务 202  默认实时任务
        # @type TaskType: Integer
        # @param ExtConfig: 额外参数
        # @type ExtConfig: Array
        # @param VersionDesc: 提交版本描述
        # @type VersionDesc: String
        # @param InstanceVersion: 提交版本号
        # @type InstanceVersion: Integer
        # @param EventDesc: 前端操作类型描述
        # @type EventDesc: String

        attr_accessor :TaskId, :ProjectId, :CommitType, :TaskType, :ExtConfig, :VersionDesc, :InstanceVersion, :EventDesc

        def initialize(taskid=nil, projectid=nil, committype=nil, tasktype=nil, extconfig=nil, versiondesc=nil, instanceversion=nil, eventdesc=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @CommitType = committype
          @TaskType = tasktype
          @ExtConfig = extconfig
          @VersionDesc = versiondesc
          @InstanceVersion = instanceversion
          @EventDesc = eventdesc
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @CommitType = params['CommitType']
          @TaskType = params['TaskType']
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          @VersionDesc = params['VersionDesc']
          @InstanceVersion = params['InstanceVersion']
          @EventDesc = params['EventDesc']
        end
      end

      # CommitIntegrationTask返回参数结构体
      class CommitIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CommitRuleGroupTask请求参数结构体
      class CommitRuleGroupTaskRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param TriggerType: 触发类型 1.手动触发 2.调度事中触发 3.周期调度触发
        # @type TriggerType: Integer
        # @param ExecRuleConfig: 规则配置列表
        # @type ExecRuleConfig: Array
        # @param ExecConfig: 执行配置
        # @type ExecConfig: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecConfig`
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param EngineType: 该规则运行的执行引擎,不传时会请求该数据源下默认的执行引擎
        # @type EngineType: String

        attr_accessor :RuleGroupId, :TriggerType, :ExecRuleConfig, :ExecConfig, :ProjectId, :EngineType

        def initialize(rulegroupid=nil, triggertype=nil, execruleconfig=nil, execconfig=nil, projectid=nil, enginetype=nil)
          @RuleGroupId = rulegroupid
          @TriggerType = triggertype
          @ExecRuleConfig = execruleconfig
          @ExecConfig = execconfig
          @ProjectId = projectid
          @EngineType = enginetype
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @TriggerType = params['TriggerType']
          unless params['ExecRuleConfig'].nil?
            @ExecRuleConfig = []
            params['ExecRuleConfig'].each do |i|
              ruleconfig_tmp = RuleConfig.new
              ruleconfig_tmp.deserialize(i)
              @ExecRuleConfig << ruleconfig_tmp
            end
          end
          unless params['ExecConfig'].nil?
            @ExecConfig = RuleExecConfig.new
            @ExecConfig.deserialize(params['ExecConfig'])
          end
          @ProjectId = params['ProjectId']
          @EngineType = params['EngineType']
        end
      end

      # CommitRuleGroupTask返回参数结构体
      class CommitRuleGroupTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组执行id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupExecResult`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupExecResult.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 内容详情
      class CommonContent < TencentCloud::Common::AbstractModel
        # @param Content: 详情内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Content: String

        attr_accessor :Content

        def initialize(content=nil)
          @Content = content
        end

        def deserialize(params)
          @Content = params['Content']
        end
      end

      # Id包装对象
      class CommonId < TencentCloud::Common::AbstractModel
        # @param Id: Id值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String

        attr_accessor :Id

        def initialize(id=nil)
          @Id = id
        end

        def deserialize(params)
          @Id = params['Id']
        end
      end

      # 返回命令id
      class CommonIdOpsDto < TencentCloud::Common::AbstractModel
        # @param Id: 返回补录计划id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String

        attr_accessor :Id

        def initialize(id=nil)
          @Id = id
        end

        def deserialize(params)
          @Id = params['Id']
        end
      end

      # 质量检查对比结果
      class CompareResult < TencentCloud::Common::AbstractModel
        # @param Items: 对比结果项列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array
        # @param TotalRows: 检测总行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalRows: Integer
        # @param PassRows: 检测通过行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PassRows: Integer
        # @param TriggerRows: 检测不通过行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerRows: Integer

        attr_accessor :Items, :TotalRows, :PassRows, :TriggerRows

        def initialize(items=nil, totalrows=nil, passrows=nil, triggerrows=nil)
          @Items = items
          @TotalRows = totalrows
          @PassRows = passrows
          @TriggerRows = triggerrows
        end

        def deserialize(params)
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              compareresultitem_tmp = CompareResultItem.new
              compareresultitem_tmp.deserialize(i)
              @Items << compareresultitem_tmp
            end
          end
          @TotalRows = params['TotalRows']
          @PassRows = params['PassRows']
          @TriggerRows = params['TriggerRows']
        end
      end

      # 对比结果项
      class CompareResultItem < TencentCloud::Common::AbstractModel
        # @param FixResult: 对比结果, 1为真 2为假
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FixResult: Integer
        # @param ResultValue: 质量sql执行结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResultValue: String
        # @param Values: 阈值列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Values: Array
        # @param Operator: 比较操作类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: String
        # @param CompareType: 比较类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompareType: Integer
        # @param ValueComputeType: 值比较类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ValueComputeType: Integer

        attr_accessor :FixResult, :ResultValue, :Values, :Operator, :CompareType, :ValueComputeType

        def initialize(fixresult=nil, resultvalue=nil, values=nil, operator=nil, comparetype=nil, valuecomputetype=nil)
          @FixResult = fixresult
          @ResultValue = resultvalue
          @Values = values
          @Operator = operator
          @CompareType = comparetype
          @ValueComputeType = valuecomputetype
        end

        def deserialize(params)
          @FixResult = params['FixResult']
          @ResultValue = params['ResultValue']
          unless params['Values'].nil?
            @Values = []
            params['Values'].each do |i|
              thresholdvalue_tmp = ThresholdValue.new
              thresholdvalue_tmp.deserialize(i)
              @Values << thresholdvalue_tmp
            end
          end
          @Operator = params['Operator']
          @CompareType = params['CompareType']
          @ValueComputeType = params['ValueComputeType']
        end
      end

      # 对比规则
      class CompareRule < TencentCloud::Common::AbstractModel
        # @param Items: 比较条件列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array
        # @param CycleStep: 周期性模板默认周期,单位秒
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param ComputeExpression: o 表示 或,a 表示 且,数字表示items下标
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ComputeExpression: String

        attr_accessor :Items, :CycleStep, :ComputeExpression

        def initialize(items=nil, cyclestep=nil, computeexpression=nil)
          @Items = items
          @CycleStep = cyclestep
          @ComputeExpression = computeexpression
        end

        def deserialize(params)
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              compareruleitem_tmp = CompareRuleItem.new
              compareruleitem_tmp.deserialize(i)
              @Items << compareruleitem_tmp
            end
          end
          @CycleStep = params['CycleStep']
          @ComputeExpression = params['ComputeExpression']
        end
      end

      # 比较条件
      class CompareRuleItem < TencentCloud::Common::AbstractModel
        # @param CompareType: 比较类型 1.固定值  2.波动值  3.数值范围比较  4.枚举范围比较  5.不用比较
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompareType: Integer
        # @param Operator: 比较操作类型
        # <  <=  ==  =>  > !=
        # IRLCRO:在区间内(左闭右开)
        # IRLORC:在区间内(左开右闭)
        # IRLCRC:在区间内(左闭右闭)
        # IRLORO:在区间内(左开右开)
        # NRLCRO:不在区间内(左闭右开)
        # NRLORC:不在区间内(左开右闭)
        # NRLCRC:不在区间内(左闭右闭)
        # NRLORO:不在区间内(左开右开)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: String
        # @param ValueComputeType: 质量统计值类型 1.绝对值  2.上升 3. 下降  4._C包含   5. N_C不包含
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ValueComputeType: Integer
        # @param ValueList: 比较阈值列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ValueList: Array

        attr_accessor :CompareType, :Operator, :ValueComputeType, :ValueList

        def initialize(comparetype=nil, operator=nil, valuecomputetype=nil, valuelist=nil)
          @CompareType = comparetype
          @Operator = operator
          @ValueComputeType = valuecomputetype
          @ValueList = valuelist
        end

        def deserialize(params)
          @CompareType = params['CompareType']
          @Operator = params['Operator']
          @ValueComputeType = params['ValueComputeType']
          unless params['ValueList'].nil?
            @ValueList = []
            params['ValueList'].each do |i|
              thresholdvalue_tmp = ThresholdValue.new
              thresholdvalue_tmp.deserialize(i)
              @ValueList << thresholdvalue_tmp
            end
          end
        end
      end

      # Content
      class Content < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param Diagnose: 诊断
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Diagnose: String
        # @param Reason: 理由
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Reason: String
        # @param Operation: 操作
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operation: String
        # @param Url: 链接
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Url: String

        attr_accessor :TaskId, :TaskName, :Diagnose, :Reason, :Operation, :Url

        def initialize(taskid=nil, taskname=nil, diagnose=nil, reason=nil, operation=nil, url=nil)
          @TaskId = taskid
          @TaskName = taskname
          @Diagnose = diagnose
          @Reason = reason
          @Operation = operation
          @Url = url
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @Diagnose = params['Diagnose']
          @Reason = params['Reason']
          @Operation = params['Operation']
          @Url = params['Url']
        end
      end

      # cos token信息
      class CosTokenResponse < TencentCloud::Common::AbstractModel
        # @param Id: token id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param Token: token内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Token: String
        # @param SecretId: 密钥id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SecretId: String
        # @param SecretKey: 密钥内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SecretKey: String
        # @param Response: 响应
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Response: String
        # @param OwnerUin: 用户uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUin: String
        # @param ExpiredTime: 过期时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExpiredTime: Integer
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: Integer
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: Integer
        # @param OperatorUin: 操作者uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUin: String

        attr_accessor :Id, :Token, :SecretId, :SecretKey, :Response, :OwnerUin, :ExpiredTime, :CreateTime, :UpdateTime, :OperatorUin

        def initialize(id=nil, token=nil, secretid=nil, secretkey=nil, response=nil, owneruin=nil, expiredtime=nil, createtime=nil, updatetime=nil, operatoruin=nil)
          @Id = id
          @Token = token
          @SecretId = secretid
          @SecretKey = secretkey
          @Response = response
          @OwnerUin = owneruin
          @ExpiredTime = expiredtime
          @CreateTime = createtime
          @UpdateTime = updatetime
          @OperatorUin = operatoruin
        end

        def deserialize(params)
          @Id = params['Id']
          @Token = params['Token']
          @SecretId = params['SecretId']
          @SecretKey = params['SecretKey']
          @Response = params['Response']
          @OwnerUin = params['OwnerUin']
          @ExpiredTime = params['ExpiredTime']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @OperatorUin = params['OperatorUin']
        end
      end

      # CountOpsInstanceState请求参数结构体
      class CountOpsInstanceStateRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # CountOpsInstanceState返回参数结构体
      class CountOpsInstanceStateResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务对应实例的状态统计
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TaskInstanceCountDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = TaskInstanceCountDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # CreateCustomFunction请求参数结构体
      class CreateCustomFunctionRequest < TencentCloud::Common::AbstractModel
        # @param Type: 枚举值:HIVE、SPARK、DLC
        # @type Type: String
        # @param Kind: 枚举值:ANALYSIS(函数)、ENCRYPTION(加密函数)、AGGREGATE(聚合函数)、LOGIC(逻辑函数)、DATE_AND_TIME(日期与时间函数)、MATH(数学函数)、CONVERSION(转换函数)、STRING(字符串函数)、IP_AND_DOMAIN(IP和域名函数)、WINDOW(窗口函数)、OTHER(其他函数)
        # @type Kind: String
        # @param Name: 函数名称
        # @type Name: String
        # @param ClusterIdentifier: 集群实例引擎 ID
        # @type ClusterIdentifier: String
        # @param DbName: 数据库名称
        # @type DbName: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :Type, :Kind, :Name, :ClusterIdentifier, :DbName, :ProjectId

        def initialize(type=nil, kind=nil, name=nil, clusteridentifier=nil, dbname=nil, projectid=nil)
          @Type = type
          @Kind = kind
          @Name = name
          @ClusterIdentifier = clusteridentifier
          @DbName = dbname
          @ProjectId = projectid
        end

        def deserialize(params)
          @Type = params['Type']
          @Kind = params['Kind']
          @Name = params['Name']
          @ClusterIdentifier = params['ClusterIdentifier']
          @DbName = params['DbName']
          @ProjectId = params['ProjectId']
        end
      end

      # CreateCustomFunction返回参数结构体
      class CreateCustomFunctionResponse < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FunctionId: String
        # @param ErrorMessage: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :FunctionId, :ErrorMessage, :RequestId

        def initialize(functionid=nil, errormessage=nil, requestid=nil)
          @FunctionId = functionid
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # CreateDataSource请求参数结构体
      class CreateDataSourceRequest < TencentCloud::Common::AbstractModel
        # @param Name: 数据源名称,在相同SpaceName下,数据源名称不能为空
        # @type Name: String
        # @param Category: 数据源类别:绑定引擎、绑定数据库
        # @type Category: String
        # @param Type: 数据源类型:枚举值
        # @type Type: String
        # @param OwnerProjectId: 归属项目ID
        # @type OwnerProjectId: String
        # @param OwnerProjectName: 归属项目Name
        # @type OwnerProjectName: String
        # @param OwnerProjectIdent: 归属项目Name中文
        # @type OwnerProjectIdent: String
        # @param BizParams: 业务侧数据源的配置信息扩展
        # @type BizParams: String
        # @param Params: 数据源的配置信息,以JSON KV存储,根据每个数据源类型不同,而KV存储信息不同
        # @type Params: String
        # @param Description: 数据源描述信息
        # @type Description: String
        # @param Display: 数据源展示名,为了可视化查看
        # @type Display: String
        # @param DatabaseName: 若数据源列表为绑定数据库,则为db名称
        # @type DatabaseName: String
        # @param Instance: 数据源引擎的实例ID,如CDB实例ID
        # @type Instance: String
        # @param Status: 数据源数据源的可见性,1为可见、0为不可见。默认为1
        # @type Status: Integer
        # @param ClusterId: 数据源所属的业务空间名称
        # @type ClusterId: String
        # @param Collect: 是否采集
        # @type Collect: String
        # @param COSBucket: cos桶信息
        # @type COSBucket: String
        # @param COSRegion: cos region
        # @type COSRegion: String
        # @param ConnectResult: 连接测试结果
        # @type ConnectResult: String
        # @param DevelopmentParams: 开发环境数据源配置
        # @type DevelopmentParams: String
        # @param ProjectId: 新建数据源的项目ID
        # @type ProjectId: String

        attr_accessor :Name, :Category, :Type, :OwnerProjectId, :OwnerProjectName, :OwnerProjectIdent, :BizParams, :Params, :Description, :Display, :DatabaseName, :Instance, :Status, :ClusterId, :Collect, :COSBucket, :COSRegion, :ConnectResult, :DevelopmentParams, :ProjectId

        def initialize(name=nil, category=nil, type=nil, ownerprojectid=nil, ownerprojectname=nil, ownerprojectident=nil, bizparams=nil, params=nil, description=nil, display=nil, databasename=nil, instance=nil, status=nil, clusterid=nil, collect=nil, cosbucket=nil, cosregion=nil, connectresult=nil, developmentparams=nil, projectid=nil)
          @Name = name
          @Category = category
          @Type = type
          @OwnerProjectId = ownerprojectid
          @OwnerProjectName = ownerprojectname
          @OwnerProjectIdent = ownerprojectident
          @BizParams = bizparams
          @Params = params
          @Description = description
          @Display = display
          @DatabaseName = databasename
          @Instance = instance
          @Status = status
          @ClusterId = clusterid
          @Collect = collect
          @COSBucket = cosbucket
          @COSRegion = cosregion
          @ConnectResult = connectresult
          @DevelopmentParams = developmentparams
          @ProjectId = projectid
        end

        def deserialize(params)
          @Name = params['Name']
          @Category = params['Category']
          @Type = params['Type']
          @OwnerProjectId = params['OwnerProjectId']
          @OwnerProjectName = params['OwnerProjectName']
          @OwnerProjectIdent = params['OwnerProjectIdent']
          @BizParams = params['BizParams']
          @Params = params['Params']
          @Description = params['Description']
          @Display = params['Display']
          @DatabaseName = params['DatabaseName']
          @Instance = params['Instance']
          @Status = params['Status']
          @ClusterId = params['ClusterId']
          @Collect = params['Collect']
          @COSBucket = params['COSBucket']
          @COSRegion = params['COSRegion']
          @ConnectResult = params['ConnectResult']
          @DevelopmentParams = params['DevelopmentParams']
          @ProjectId = params['ProjectId']
        end
      end

      # CreateDataSource返回参数结构体
      class CreateDataSourceResponse < TencentCloud::Common::AbstractModel
        # @param Data: 主键ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateDsFolder请求参数结构体
      class CreateDsFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param FolderName: 文件夹名称
        # @type FolderName: String
        # @param ParentsFolderId: 父文件夹ID
        # @type ParentsFolderId: String

        attr_accessor :ProjectId, :FolderName, :ParentsFolderId

        def initialize(projectid=nil, foldername=nil, parentsfolderid=nil)
          @ProjectId = projectid
          @FolderName = foldername
          @ParentsFolderId = parentsfolderid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderName = params['FolderName']
          @ParentsFolderId = params['ParentsFolderId']
        end
      end

      # CreateDsFolder返回参数结构体
      class CreateDsFolderResponse < TencentCloud::Common::AbstractModel
        # @param Data: 文件夹Id,null则创建失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateHiveTableByDDL请求参数结构体
      class CreateHiveTableByDDLRequest < TencentCloud::Common::AbstractModel
        # @param DatasourceId: 数据源ID
        # @type DatasourceId: String
        # @param Database: 数据库
        # @type Database: String
        # @param DDLSql: 建hive表ddl
        # @type DDLSql: String
        # @param Privilege: 表权限 ,默认为0:项目共享;1:仅个人与管理员
        # @type Privilege: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param Type: 目标表类型(HIVE或GBASE)
        # @type Type: String
        # @param Incharge: 责任人
        # @type Incharge: String
        # @param SchemaName: schema名称
        # @type SchemaName: String

        attr_accessor :DatasourceId, :Database, :DDLSql, :Privilege, :ProjectId, :Type, :Incharge, :SchemaName

        def initialize(datasourceid=nil, database=nil, ddlsql=nil, privilege=nil, projectid=nil, type=nil, incharge=nil, schemaname=nil)
          @DatasourceId = datasourceid
          @Database = database
          @DDLSql = ddlsql
          @Privilege = privilege
          @ProjectId = projectid
          @Type = type
          @Incharge = incharge
          @SchemaName = schemaname
        end

        def deserialize(params)
          @DatasourceId = params['DatasourceId']
          @Database = params['Database']
          @DDLSql = params['DDLSql']
          @Privilege = params['Privilege']
          @ProjectId = params['ProjectId']
          @Type = params['Type']
          @Incharge = params['Incharge']
          @SchemaName = params['SchemaName']
        end
      end

      # CreateHiveTableByDDL返回参数结构体
      class CreateHiveTableByDDLResponse < TencentCloud::Common::AbstractModel
        # @param Data: 表名称
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateHiveTable请求参数结构体
      class CreateHiveTableRequest < TencentCloud::Common::AbstractModel
        # @param DatasourceId: 数据源id
        # @type DatasourceId: String
        # @param Database: 数据库名称
        # @type Database: String
        # @param DDLSql: base64转码之后的建表语句
        # @type DDLSql: String
        # @param Privilege: 表权限 ,默认为0:项目共享;1:仅个人与管理员
        # @type Privilege: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Incharge: 责任人
        # @type Incharge: String

        attr_accessor :DatasourceId, :Database, :DDLSql, :Privilege, :ProjectId, :Incharge

        def initialize(datasourceid=nil, database=nil, ddlsql=nil, privilege=nil, projectid=nil, incharge=nil)
          @DatasourceId = datasourceid
          @Database = database
          @DDLSql = ddlsql
          @Privilege = privilege
          @ProjectId = projectid
          @Incharge = incharge
        end

        def deserialize(params)
          @DatasourceId = params['DatasourceId']
          @Database = params['Database']
          @DDLSql = params['DDLSql']
          @Privilege = params['Privilege']
          @ProjectId = params['ProjectId']
          @Incharge = params['Incharge']
        end
      end

      # CreateHiveTable返回参数结构体
      class CreateHiveTableResponse < TencentCloud::Common::AbstractModel
        # @param IsSuccess: 建表是否成功
        # @type IsSuccess: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :IsSuccess, :RequestId

        def initialize(issuccess=nil, requestid=nil)
          @IsSuccess = issuccess
          @RequestId = requestid
        end

        def deserialize(params)
          @IsSuccess = params['IsSuccess']
          @RequestId = params['RequestId']
        end
      end

      # CreateIntegrationNode请求参数结构体
      class CreateIntegrationNodeRequest < TencentCloud::Common::AbstractModel
        # @param NodeInfo: 集成节点信息
        # @type NodeInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationNodeInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer

        attr_accessor :NodeInfo, :ProjectId, :TaskType

        def initialize(nodeinfo=nil, projectid=nil, tasktype=nil)
          @NodeInfo = nodeinfo
          @ProjectId = projectid
          @TaskType = tasktype
        end

        def deserialize(params)
          unless params['NodeInfo'].nil?
            @NodeInfo = IntegrationNodeInfo.new
            @NodeInfo.deserialize(params['NodeInfo'])
          end
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
        end
      end

      # CreateIntegrationNode返回参数结构体
      class CreateIntegrationNodeResponse < TencentCloud::Common::AbstractModel
        # @param Id: 节点
        # @type Id: String
        # @param TaskId: 当前任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Id, :TaskId, :RequestId

        def initialize(id=nil, taskid=nil, requestid=nil)
          @Id = id
          @TaskId = taskid
          @RequestId = requestid
        end

        def deserialize(params)
          @Id = params['Id']
          @TaskId = params['TaskId']
          @RequestId = params['RequestId']
        end
      end

      # CreateIntegrationTask请求参数结构体
      class CreateIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskInfo: 任务信息
        # @type TaskInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationTaskInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskInfo, :ProjectId

        def initialize(taskinfo=nil, projectid=nil)
          @TaskInfo = taskinfo
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['TaskInfo'].nil?
            @TaskInfo = IntegrationTaskInfo.new
            @TaskInfo.deserialize(params['TaskInfo'])
          end
          @ProjectId = params['ProjectId']
        end
      end

      # CreateIntegrationTask返回参数结构体
      class CreateIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskId, :RequestId

        def initialize(taskid=nil, requestid=nil)
          @TaskId = taskid
          @RequestId = requestid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @RequestId = params['RequestId']
        end
      end

      # 补录计划日期范围
      class CreateMakeDatetimeInfo < TencentCloud::Common::AbstractModel
        # @param StartDate: 开始日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartDate: String
        # @param EndDate: 结束日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndDate: String
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String

        attr_accessor :StartDate, :EndDate, :StartTime, :EndTime

        def initialize(startdate=nil, enddate=nil, starttime=nil, endtime=nil)
          @StartDate = startdate
          @EndDate = enddate
          @StartTime = starttime
          @EndTime = endtime
        end

        def deserialize(params)
          @StartDate = params['StartDate']
          @EndDate = params['EndDate']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
        end
      end

      # CreateOfflineTask请求参数结构体
      class CreateOfflineTaskRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param CycleStep: 间隔,可选,默认1。非空。默认 1
        # @type CycleStep: Integer
        # @param DelayTime: 延时执行时间,单位分钟
        # @type DelayTime: Integer
        # @param EndTime: 任务结束数据时间。非空。默认当前时间
        # @type EndTime: String
        # @param Notes: 备注
        # @type Notes: String
        # @param StartTime: 当前日期
        # @type StartTime: String
        # @param TaskName: 任务名称
        # @type TaskName: String
        # @param TypeId: 跟之前调用调度接口保持一致27
        # @type TypeId: Integer
        # @param TaskAction: 时间指定,如月任务指定1,3号,则填入 1,3。非空。默认 "" 月任务:如具体1,3号则写 "1,3",指定月末不可和具体号数一起输入,仅能为 "L"
        # @type TaskAction: String
        # @param TaskMode: 区分画布和表单
        # @type TaskMode: String

        attr_accessor :ProjectId, :CycleStep, :DelayTime, :EndTime, :Notes, :StartTime, :TaskName, :TypeId, :TaskAction, :TaskMode

        def initialize(projectid=nil, cyclestep=nil, delaytime=nil, endtime=nil, notes=nil, starttime=nil, taskname=nil, typeid=nil, taskaction=nil, taskmode=nil)
          @ProjectId = projectid
          @CycleStep = cyclestep
          @DelayTime = delaytime
          @EndTime = endtime
          @Notes = notes
          @StartTime = starttime
          @TaskName = taskname
          @TypeId = typeid
          @TaskAction = taskaction
          @TaskMode = taskmode
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @CycleStep = params['CycleStep']
          @DelayTime = params['DelayTime']
          @EndTime = params['EndTime']
          @Notes = params['Notes']
          @StartTime = params['StartTime']
          @TaskName = params['TaskName']
          @TypeId = params['TypeId']
          @TaskAction = params['TaskAction']
          @TaskMode = params['TaskMode']
        end
      end

      # CreateOfflineTask返回参数结构体
      class CreateOfflineTaskResponse < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param Data: 结果
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskId, :Data, :RequestId

        def initialize(taskid=nil, data=nil, requestid=nil)
          @TaskId = taskid
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateOpsMakePlan请求参数结构体
      class CreateOpsMakePlanRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param MakeName: 补录计划名称
        # @type MakeName: String
        # @param TaskIdList: 补录任务集合
        # @type TaskIdList: Array
        # @param MakeDatetimeList: 补录计划日期范围
        # @type MakeDatetimeList: Array
        # @param ProjectIdent: 项目标识
        # @type ProjectIdent: String
        # @param CheckParent: 补录是否检查父任务状态,默认不检查。不推荐使用,后续会废弃,推荐使用 CheckParentType。
        # @type CheckParent: Boolean
        # @param CheckParentType: 补录检查父任务类型。取值范围:
        # <li> NONE: 全部不检查 </li>
        # <li> ALL: 检查全部上游父任务 </li>
        # <li> MAKE_SCOPE: 只在(当前补录计划)选中任务中检查 </li>
        # @type CheckParentType: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param SelfDependence: 已弃用。任务自依赖类型:parallel(并行),serial(无序串行),orderly(有序串行)
        # @type SelfDependence: String
        # @param ParallelNum: 并行度
        # @type ParallelNum: Integer
        # @param SameCycle: 补录实例生成周期是否和原周期相同,默认为true
        # @type SameCycle: Boolean
        # @param TargetTaskCycle: 补录实例目标周期类型
        # @type TargetTaskCycle: String
        # @param TargetTaskAction: 补录实例目标周期类型指定时间
        # @type TargetTaskAction: Integer
        # @param MapParamList: 补录实例自定义参数
        # @type MapParamList: Array
        # @param CreatorId: 创建人id
        # @type CreatorId: String
        # @param Creator: 创建人
        # @type Creator: String
        # @param Remark: 补录计划说明
        # @type Remark: String
        # @param SameSelfDependType: 是否使用任务原有自依赖配置,默认为true
        # @type SameSelfDependType: Boolean
        # @param SourceTaskCycle: 补录实例原始周期类型
        # @type SourceTaskCycle: String
        # @param SchedulerResourceGroup: 补录指定的调度资源组(ID) 为空则表示使用任务原有调度执行资源组
        # @type SchedulerResourceGroup: String
        # @param IntegrationResourceGroup: 补录指定的集成资源组(ID) 为空则表示使用任务原有集成执行资源组
        # @type IntegrationResourceGroup: String
        # @param SchedulerResourceGroupName: 补录指定的调度资源组名称 为空则表示使用任务原有调度执行资源组
        # @type SchedulerResourceGroupName: String
        # @param IntegrationResourceGroupName: 补录指定的集成资源组名称 为空则表示使用任务原有集成执行资源组
        # @type IntegrationResourceGroupName: String
        # @param MakeExtList: 补录扩展属性
        # @type MakeExtList: Array
        # @param SameSelfWorkflowDependType: 补录扩展属性
        # @type SameSelfWorkflowDependType: Boolean
        # @param SelfWorkflowDependency: 补录扩展属性
        # @type SelfWorkflowDependency: String

        attr_accessor :ProjectId, :MakeName, :TaskIdList, :MakeDatetimeList, :ProjectIdent, :CheckParent, :CheckParentType, :ProjectName, :SelfDependence, :ParallelNum, :SameCycle, :TargetTaskCycle, :TargetTaskAction, :MapParamList, :CreatorId, :Creator, :Remark, :SameSelfDependType, :SourceTaskCycle, :SchedulerResourceGroup, :IntegrationResourceGroup, :SchedulerResourceGroupName, :IntegrationResourceGroupName, :MakeExtList, :SameSelfWorkflowDependType, :SelfWorkflowDependency

        def initialize(projectid=nil, makename=nil, taskidlist=nil, makedatetimelist=nil, projectident=nil, checkparent=nil, checkparenttype=nil, projectname=nil, selfdependence=nil, parallelnum=nil, samecycle=nil, targettaskcycle=nil, targettaskaction=nil, mapparamlist=nil, creatorid=nil, creator=nil, remark=nil, sameselfdependtype=nil, sourcetaskcycle=nil, schedulerresourcegroup=nil, integrationresourcegroup=nil, schedulerresourcegroupname=nil, integrationresourcegroupname=nil, makeextlist=nil, sameselfworkflowdependtype=nil, selfworkflowdependency=nil)
          @ProjectId = projectid
          @MakeName = makename
          @TaskIdList = taskidlist
          @MakeDatetimeList = makedatetimelist
          @ProjectIdent = projectident
          @CheckParent = checkparent
          @CheckParentType = checkparenttype
          @ProjectName = projectname
          @SelfDependence = selfdependence
          @ParallelNum = parallelnum
          @SameCycle = samecycle
          @TargetTaskCycle = targettaskcycle
          @TargetTaskAction = targettaskaction
          @MapParamList = mapparamlist
          @CreatorId = creatorid
          @Creator = creator
          @Remark = remark
          @SameSelfDependType = sameselfdependtype
          @SourceTaskCycle = sourcetaskcycle
          @SchedulerResourceGroup = schedulerresourcegroup
          @IntegrationResourceGroup = integrationresourcegroup
          @SchedulerResourceGroupName = schedulerresourcegroupname
          @IntegrationResourceGroupName = integrationresourcegroupname
          @MakeExtList = makeextlist
          @SameSelfWorkflowDependType = sameselfworkflowdependtype
          @SelfWorkflowDependency = selfworkflowdependency
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @MakeName = params['MakeName']
          @TaskIdList = params['TaskIdList']
          unless params['MakeDatetimeList'].nil?
            @MakeDatetimeList = []
            params['MakeDatetimeList'].each do |i|
              createmakedatetimeinfo_tmp = CreateMakeDatetimeInfo.new
              createmakedatetimeinfo_tmp.deserialize(i)
              @MakeDatetimeList << createmakedatetimeinfo_tmp
            end
          end
          @ProjectIdent = params['ProjectIdent']
          @CheckParent = params['CheckParent']
          @CheckParentType = params['CheckParentType']
          @ProjectName = params['ProjectName']
          @SelfDependence = params['SelfDependence']
          @ParallelNum = params['ParallelNum']
          @SameCycle = params['SameCycle']
          @TargetTaskCycle = params['TargetTaskCycle']
          @TargetTaskAction = params['TargetTaskAction']
          unless params['MapParamList'].nil?
            @MapParamList = []
            params['MapParamList'].each do |i|
              strtostrmap_tmp = StrToStrMap.new
              strtostrmap_tmp.deserialize(i)
              @MapParamList << strtostrmap_tmp
            end
          end
          @CreatorId = params['CreatorId']
          @Creator = params['Creator']
          @Remark = params['Remark']
          @SameSelfDependType = params['SameSelfDependType']
          @SourceTaskCycle = params['SourceTaskCycle']
          @SchedulerResourceGroup = params['SchedulerResourceGroup']
          @IntegrationResourceGroup = params['IntegrationResourceGroup']
          @SchedulerResourceGroupName = params['SchedulerResourceGroupName']
          @IntegrationResourceGroupName = params['IntegrationResourceGroupName']
          unless params['MakeExtList'].nil?
            @MakeExtList = []
            params['MakeExtList'].each do |i|
              strtostrmap_tmp = StrToStrMap.new
              strtostrmap_tmp.deserialize(i)
              @MakeExtList << strtostrmap_tmp
            end
          end
          @SameSelfWorkflowDependType = params['SameSelfWorkflowDependType']
          @SelfWorkflowDependency = params['SelfWorkflowDependency']
        end
      end

      # CreateOpsMakePlan返回参数结构体
      class CreateOpsMakePlanResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CommonIdOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CommonIdOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # CreateRule请求参数结构体
      class CreateRuleRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param RuleGroupId: 规则组Id
        # @type RuleGroupId: Integer
        # @param Name: 规则名称
        # @type Name: String
        # @param TableId: 数据表ID
        # @type TableId: String
        # @param RuleTemplateId: 规则模板列表
        # @type RuleTemplateId: Integer
        # @param Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        # @type Type: Integer
        # @param QualityDim: 规则所属质量维度(1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # @type QualityDim: Integer
        # @param SourceObjectDataTypeName: 源字段详细类型,int、string
        # @type SourceObjectDataTypeName: String
        # @param SourceObjectValue: 源字段名称
        # @type SourceObjectValue: String
        # @param ConditionType: 检测范围 1.全表   2.条件扫描
        # @type ConditionType: Integer
        # @param ConditionExpression: 条件扫描WHERE条件表达式
        # @type ConditionExpression: String
        # @param CustomSql: 自定义SQL
        # @type CustomSql: String
        # @param CompareRule: 报警触发条件
        # @type CompareRule: :class:`Tencentcloud::Wedata.v20210820.models.CompareRule`
        # @param AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
        # @type AlarmLevel: Integer
        # @param Description: 规则描述
        # @type Description: String
        # @param DatasourceId: 数据源Id
        # @type DatasourceId: String
        # @param DatabaseId: 数据库Id
        # @type DatabaseId: String
        # @param TargetDatabaseId: 目标库Id
        # @type TargetDatabaseId: String
        # @param TargetTableId: 目标表Id
        # @type TargetTableId: String
        # @param TargetConditionExpr: 目标过滤条件表达式
        # @type TargetConditionExpr: String
        # @param RelConditionExpr: 源字段与目标字段关联条件on表达式
        # @type RelConditionExpr: String
        # @param FieldConfig: 自定义模版sql表达式字段替换参数
        # @type FieldConfig: :class:`Tencentcloud::Wedata.v20210820.models.RuleFieldConfig`
        # @param TargetObjectValue: 目标字段名称  CITY
        # @type TargetObjectValue: String
        # @param SourceEngineTypes: 该规则支持的执行引擎列表
        # @type SourceEngineTypes: Array

        attr_accessor :ProjectId, :RuleGroupId, :Name, :TableId, :RuleTemplateId, :Type, :QualityDim, :SourceObjectDataTypeName, :SourceObjectValue, :ConditionType, :ConditionExpression, :CustomSql, :CompareRule, :AlarmLevel, :Description, :DatasourceId, :DatabaseId, :TargetDatabaseId, :TargetTableId, :TargetConditionExpr, :RelConditionExpr, :FieldConfig, :TargetObjectValue, :SourceEngineTypes

        def initialize(projectid=nil, rulegroupid=nil, name=nil, tableid=nil, ruletemplateid=nil, type=nil, qualitydim=nil, sourceobjectdatatypename=nil, sourceobjectvalue=nil, conditiontype=nil, conditionexpression=nil, customsql=nil, comparerule=nil, alarmlevel=nil, description=nil, datasourceid=nil, databaseid=nil, targetdatabaseid=nil, targettableid=nil, targetconditionexpr=nil, relconditionexpr=nil, fieldconfig=nil, targetobjectvalue=nil, sourceenginetypes=nil)
          @ProjectId = projectid
          @RuleGroupId = rulegroupid
          @Name = name
          @TableId = tableid
          @RuleTemplateId = ruletemplateid
          @Type = type
          @QualityDim = qualitydim
          @SourceObjectDataTypeName = sourceobjectdatatypename
          @SourceObjectValue = sourceobjectvalue
          @ConditionType = conditiontype
          @ConditionExpression = conditionexpression
          @CustomSql = customsql
          @CompareRule = comparerule
          @AlarmLevel = alarmlevel
          @Description = description
          @DatasourceId = datasourceid
          @DatabaseId = databaseid
          @TargetDatabaseId = targetdatabaseid
          @TargetTableId = targettableid
          @TargetConditionExpr = targetconditionexpr
          @RelConditionExpr = relconditionexpr
          @FieldConfig = fieldconfig
          @TargetObjectValue = targetobjectvalue
          @SourceEngineTypes = sourceenginetypes
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @RuleGroupId = params['RuleGroupId']
          @Name = params['Name']
          @TableId = params['TableId']
          @RuleTemplateId = params['RuleTemplateId']
          @Type = params['Type']
          @QualityDim = params['QualityDim']
          @SourceObjectDataTypeName = params['SourceObjectDataTypeName']
          @SourceObjectValue = params['SourceObjectValue']
          @ConditionType = params['ConditionType']
          @ConditionExpression = params['ConditionExpression']
          @CustomSql = params['CustomSql']
          unless params['CompareRule'].nil?
            @CompareRule = CompareRule.new
            @CompareRule.deserialize(params['CompareRule'])
          end
          @AlarmLevel = params['AlarmLevel']
          @Description = params['Description']
          @DatasourceId = params['DatasourceId']
          @DatabaseId = params['DatabaseId']
          @TargetDatabaseId = params['TargetDatabaseId']
          @TargetTableId = params['TargetTableId']
          @TargetConditionExpr = params['TargetConditionExpr']
          @RelConditionExpr = params['RelConditionExpr']
          unless params['FieldConfig'].nil?
            @FieldConfig = RuleFieldConfig.new
            @FieldConfig.deserialize(params['FieldConfig'])
          end
          @TargetObjectValue = params['TargetObjectValue']
          @SourceEngineTypes = params['SourceEngineTypes']
        end
      end

      # CreateRule返回参数结构体
      class CreateRuleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.Rule`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = Rule.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # CreateRuleTemplate请求参数结构体
      class CreateRuleTemplateRequest < TencentCloud::Common::AbstractModel
        # @param Type: 模板类型  1.系统模板   2.自定义模板
        # @type Type: Integer
        # @param Name: 模板名称
        # @type Name: String
        # @param QualityDim: 质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        # @type QualityDim: Integer
        # @param SourceObjectType: 源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        # @type SourceObjectType: Integer
        # @param Description: 模板描述
        # @type Description: String
        # @param SourceEngineTypes: 源端对应的引擎类型
        # @type SourceEngineTypes: Array
        # @param MultiSourceFlag: 是否关联其它库表
        # @type MultiSourceFlag: Boolean
        # @param SqlExpression: SQL 表达式
        # @type SqlExpression: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WhereFlag: 是否添加where参数
        # @type WhereFlag: Boolean

        attr_accessor :Type, :Name, :QualityDim, :SourceObjectType, :Description, :SourceEngineTypes, :MultiSourceFlag, :SqlExpression, :ProjectId, :WhereFlag

        def initialize(type=nil, name=nil, qualitydim=nil, sourceobjecttype=nil, description=nil, sourceenginetypes=nil, multisourceflag=nil, sqlexpression=nil, projectid=nil, whereflag=nil)
          @Type = type
          @Name = name
          @QualityDim = qualitydim
          @SourceObjectType = sourceobjecttype
          @Description = description
          @SourceEngineTypes = sourceenginetypes
          @MultiSourceFlag = multisourceflag
          @SqlExpression = sqlexpression
          @ProjectId = projectid
          @WhereFlag = whereflag
        end

        def deserialize(params)
          @Type = params['Type']
          @Name = params['Name']
          @QualityDim = params['QualityDim']
          @SourceObjectType = params['SourceObjectType']
          @Description = params['Description']
          @SourceEngineTypes = params['SourceEngineTypes']
          @MultiSourceFlag = params['MultiSourceFlag']
          @SqlExpression = params['SqlExpression']
          @ProjectId = params['ProjectId']
          @WhereFlag = params['WhereFlag']
        end
      end

      # CreateRuleTemplate返回参数结构体
      class CreateRuleTemplateResponse < TencentCloud::Common::AbstractModel
        # @param Data: 模板Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateTaskAlarmRegular请求参数结构体
      class CreateTaskAlarmRegularRequest < TencentCloud::Common::AbstractModel
        # @param TaskAlarmInfo: 告警配置信息
        # @type TaskAlarmInfo: :class:`Tencentcloud::Wedata.v20210820.models.TaskAlarmInfo`
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :TaskAlarmInfo, :ProjectId

        def initialize(taskalarminfo=nil, projectid=nil)
          @TaskAlarmInfo = taskalarminfo
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['TaskAlarmInfo'].nil?
            @TaskAlarmInfo = TaskAlarmInfo.new
            @TaskAlarmInfo.deserialize(params['TaskAlarmInfo'])
          end
          @ProjectId = params['ProjectId']
        end
      end

      # CreateTaskAlarmRegular返回参数结构体
      class CreateTaskAlarmRegularResponse < TencentCloud::Common::AbstractModel
        # @param AlarmId: 告警ID
        # @type AlarmId: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :AlarmId, :RequestId

        def initialize(alarmid=nil, requestid=nil)
          @AlarmId = alarmid
          @RequestId = requestid
        end

        def deserialize(params)
          @AlarmId = params['AlarmId']
          @RequestId = params['RequestId']
        end
      end

      # CreateTaskFolder请求参数结构体
      class CreateTaskFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param FolderName: 文件夹名称
        # @type FolderName: String
        # @param WorkflowId: 工作量ID
        # @type WorkflowId: String
        # @param ParentFolderId: 父文件夹ID
        # @type ParentFolderId: String

        attr_accessor :ProjectId, :FolderName, :WorkflowId, :ParentFolderId

        def initialize(projectid=nil, foldername=nil, workflowid=nil, parentfolderid=nil)
          @ProjectId = projectid
          @FolderName = foldername
          @WorkflowId = workflowid
          @ParentFolderId = parentfolderid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderName = params['FolderName']
          @WorkflowId = params['WorkflowId']
          @ParentFolderId = params['ParentFolderId']
        end
      end

      # CreateTaskFolder返回参数结构体
      class CreateTaskFolderResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务文件夹Id,null则创建失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateTask请求参数结构体
      class CreateTaskRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param TaskName: 任务名
        # @type TaskName: String
        # @param TaskType: 26离线同步,30Python,31PySpark,32DLC,33Impala,34Hive SQL,35Shell,36Spark SQL,39Spark,40TCHouse-P,92MapReduce
        # @type TaskType: Integer
        # @param TaskExt: 扩展属性
        # @type TaskExt: Array

        attr_accessor :ProjectId, :WorkflowId, :TaskName, :TaskType, :TaskExt

        def initialize(projectid=nil, workflowid=nil, taskname=nil, tasktype=nil, taskext=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @TaskName = taskname
          @TaskType = tasktype
          @TaskExt = taskext
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @TaskName = params['TaskName']
          @TaskType = params['TaskType']
          unless params['TaskExt'].nil?
            @TaskExt = []
            params['TaskExt'].each do |i|
              taskextinfo_tmp = TaskExtInfo.new
              taskextinfo_tmp.deserialize(i)
              @TaskExt << taskextinfo_tmp
            end
          end
        end
      end

      # CreateTask返回参数结构体
      class CreateTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回任务Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CommonId`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CommonId.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # CreateTaskVersionDs请求参数结构体
      class CreateTaskVersionDsRequest < TencentCloud::Common::AbstractModel
        # @param Task: 任务id
        # @type Task: :class:`Tencentcloud::Wedata.v20210820.models.BatchCreateTaskVersionDTO`
        # @param NeedCheckParentSubmitted: 是否需要校验父任务已经提交到调度
        # @type NeedCheckParentSubmitted: Boolean
        # @param AutoRun: 是否自动运行
        # @type AutoRun: Boolean
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param RequestFromSource: 请求来源,WEB 前端;CLIENT 客户端
        # @type RequestFromSource: String
        # @param AlarmWays: 告警方式:email-邮件;sms-短信;wecom-企业微信
        # @type AlarmWays: String
        # @param AlarmRecipientTypes: 告警对象:1-项目管理员,2-任务责任人
        # @type AlarmRecipientTypes: String
        # @param EnableCheckTaskCycleLink: 是否需要校验循环依赖,默认为 true,如果使用了 CheckTaskCycleLink 和 CheckTaskCycleConfiguration 两个接口校验成功可以传 false,后台服务器不再做校验
        # @type EnableCheckTaskCycleLink: Boolean

        attr_accessor :Task, :NeedCheckParentSubmitted, :AutoRun, :ProjectId, :RequestFromSource, :AlarmWays, :AlarmRecipientTypes, :EnableCheckTaskCycleLink

        def initialize(task=nil, needcheckparentsubmitted=nil, autorun=nil, projectid=nil, requestfromsource=nil, alarmways=nil, alarmrecipienttypes=nil, enablechecktaskcyclelink=nil)
          @Task = task
          @NeedCheckParentSubmitted = needcheckparentsubmitted
          @AutoRun = autorun
          @ProjectId = projectid
          @RequestFromSource = requestfromsource
          @AlarmWays = alarmways
          @AlarmRecipientTypes = alarmrecipienttypes
          @EnableCheckTaskCycleLink = enablechecktaskcyclelink
        end

        def deserialize(params)
          unless params['Task'].nil?
            @Task = BatchCreateTaskVersionDTO.new
            @Task.deserialize(params['Task'])
          end
          @NeedCheckParentSubmitted = params['NeedCheckParentSubmitted']
          @AutoRun = params['AutoRun']
          @ProjectId = params['ProjectId']
          @RequestFromSource = params['RequestFromSource']
          @AlarmWays = params['AlarmWays']
          @AlarmRecipientTypes = params['AlarmRecipientTypes']
          @EnableCheckTaskCycleLink = params['EnableCheckTaskCycleLink']
        end
      end

      # CreateTaskVersionDs返回参数结构体
      class CreateTaskVersionDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 版本
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # CreateWorkflowDs请求参数结构体
      class CreateWorkflowDsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param WorkflowName: 工作流名称
        # @type WorkflowName: String
        # @param FolderId: 文件夹ID
        # @type FolderId: String
        # @param WorkflowDesc: 工作流描述
        # @type WorkflowDesc: String

        attr_accessor :ProjectId, :WorkflowName, :FolderId, :WorkflowDesc

        def initialize(projectid=nil, workflowname=nil, folderid=nil, workflowdesc=nil)
          @ProjectId = projectid
          @WorkflowName = workflowname
          @FolderId = folderid
          @WorkflowDesc = workflowdesc
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowName = params['WorkflowName']
          @FolderId = params['FolderId']
          @WorkflowDesc = params['WorkflowDesc']
        end
      end

      # CreateWorkflowDs返回参数结构体
      class CreateWorkflowDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 工作流ID
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DagInstances请求参数结构体
      class DagInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param SearchCondition: 查询条件,当前接口需要把要查询的示例信息放在该字段
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :SearchCondition, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, searchcondition=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @SearchCondition = searchcondition
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # DagInstances返回参数结构体
      class DagInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CollectionInstanceOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CollectionInstanceOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 日评分信息
      class DailyScoreInfo < TencentCloud::Common::AbstractModel
        # @param StatisticsDate: 统计日期 时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatisticsDate: Integer
        # @param Score: 评分
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Score: Float

        attr_accessor :StatisticsDate, :Score

        def initialize(statisticsdate=nil, score=nil)
          @StatisticsDate = statisticsdate
          @Score = score
        end

        def deserialize(params)
          @StatisticsDate = params['StatisticsDate']
          @Score = params['Score']
        end
      end

      # 数据监测情况结果
      class DataCheckStat < TencentCloud::Common::AbstractModel
        # @param TableTotal: 表总数
        # @type TableTotal: Integer
        # @param ColumnTotal: 字段总数
        # @type ColumnTotal: Integer
        # @param TableConfig: 表配置检测数
        # @type TableConfig: Integer
        # @param ColumnConfig: 字段配置检测数
        # @type ColumnConfig: Integer
        # @param TableExec: 表实际检测数
        # @type TableExec: Integer
        # @param ColumnExec: 字段实际检测数
        # @type ColumnExec: Integer

        attr_accessor :TableTotal, :ColumnTotal, :TableConfig, :ColumnConfig, :TableExec, :ColumnExec

        def initialize(tabletotal=nil, columntotal=nil, tableconfig=nil, columnconfig=nil, tableexec=nil, columnexec=nil)
          @TableTotal = tabletotal
          @ColumnTotal = columntotal
          @TableConfig = tableconfig
          @ColumnConfig = columnconfig
          @TableExec = tableexec
          @ColumnExec = columnexec
        end

        def deserialize(params)
          @TableTotal = params['TableTotal']
          @ColumnTotal = params['ColumnTotal']
          @TableConfig = params['TableConfig']
          @ColumnConfig = params['ColumnConfig']
          @TableExec = params['TableExec']
          @ColumnExec = params['ColumnExec']
        end
      end

      # 数据源对象
      class DataSourceInfo < TencentCloud::Common::AbstractModel
        # @param DatabaseName: 若数据源列表为绑定数据库,则为db名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param Description: 数据源描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param ID: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ID: Integer
        # @param Instance: 数据源引擎的实例ID,如CDB实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Instance: String
        # @param Name: 数据源名称,在相同SpaceName下,数据源名称不能为空
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Region: 数据源引擎所属区域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param Type: 数据源类型:枚举值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param ClusterId: 数据源所属的集群id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterId: String
        # @param AppId: 应用ID AppId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AppId: Integer
        # @param BizParams: 业务侧数据源的配置信息扩展
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BizParams: String
        # @param Category: 数据源类别:绑定引擎、绑定数据库
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Category: String
        # @param Display: 数据源展示名,为了可视化查看
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Display: String
        # @param OwnerAccount: 数据源责任人账号ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerAccount: String
        # @param Params: 数据源的配置信息,以JSON KV存储,根据每个数据源类型不同,而KV存储信息不同
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String
        # @param Status: 数据源数据源的可见性,1为可见、0为不可见。默认为1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer
        # @param OwnerAccountName: 数据源责任人账号名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerAccountName: String
        # @param ClusterName: 集群名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterName: String
        # @param OwnerProjectId: 归属项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerProjectId: String
        # @param OwnerProjectName: 归属项目Name
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerProjectName: String
        # @param OwnerProjectIdent: 归属项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerProjectIdent: String
        # @param AuthorityProjectName: 授权项目
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AuthorityProjectName: String
        # @param AuthorityUserName: 授权用户
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AuthorityUserName: String
        # @param Edit: 是否有编辑权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Edit: Boolean
        # @param Author: 是否有授权权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Author: Boolean
        # @param Deliver: 是否有转交权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Deliver: Boolean
        # @param DataSourceStatus: 数据源状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataSourceStatus: String
        # @param CreateTime: 时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: Integer
        # @param ParamsString: Params json字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParamsString: String
        # @param BizParamsString: BizParams json字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BizParamsString: String
        # @param ModifiedTime: 修改时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifiedTime: Integer
        # @param ShowType: 数据源页面展示类型,与Type对应
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ShowType: String
        # @param ProductId: 当前数据源生产源Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProductId: Integer
        # @param DevelopmentId: 当前数据源开发源Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DevelopmentId: Integer
        # @param DevelopmentParams: 同params 内容为开发数据源的数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DevelopmentParams: String

        attr_accessor :DatabaseName, :Description, :ID, :Instance, :Name, :Region, :Type, :ClusterId, :AppId, :BizParams, :Category, :Display, :OwnerAccount, :Params, :Status, :OwnerAccountName, :ClusterName, :OwnerProjectId, :OwnerProjectName, :OwnerProjectIdent, :AuthorityProjectName, :AuthorityUserName, :Edit, :Author, :Deliver, :DataSourceStatus, :CreateTime, :ParamsString, :BizParamsString, :ModifiedTime, :ShowType, :ProductId, :DevelopmentId, :DevelopmentParams

        def initialize(databasename=nil, description=nil, id=nil, instance=nil, name=nil, region=nil, type=nil, clusterid=nil, appid=nil, bizparams=nil, category=nil, display=nil, owneraccount=nil, params=nil, status=nil, owneraccountname=nil, clustername=nil, ownerprojectid=nil, ownerprojectname=nil, ownerprojectident=nil, authorityprojectname=nil, authorityusername=nil, edit=nil, author=nil, deliver=nil, datasourcestatus=nil, createtime=nil, paramsstring=nil, bizparamsstring=nil, modifiedtime=nil, showtype=nil, productid=nil, developmentid=nil, developmentparams=nil)
          @DatabaseName = databasename
          @Description = description
          @ID = id
          @Instance = instance
          @Name = name
          @Region = region
          @Type = type
          @ClusterId = clusterid
          @AppId = appid
          @BizParams = bizparams
          @Category = category
          @Display = display
          @OwnerAccount = owneraccount
          @Params = params
          @Status = status
          @OwnerAccountName = owneraccountname
          @ClusterName = clustername
          @OwnerProjectId = ownerprojectid
          @OwnerProjectName = ownerprojectname
          @OwnerProjectIdent = ownerprojectident
          @AuthorityProjectName = authorityprojectname
          @AuthorityUserName = authorityusername
          @Edit = edit
          @Author = author
          @Deliver = deliver
          @DataSourceStatus = datasourcestatus
          @CreateTime = createtime
          @ParamsString = paramsstring
          @BizParamsString = bizparamsstring
          @ModifiedTime = modifiedtime
          @ShowType = showtype
          @ProductId = productid
          @DevelopmentId = developmentid
          @DevelopmentParams = developmentparams
        end

        def deserialize(params)
          @DatabaseName = params['DatabaseName']
          @Description = params['Description']
          @ID = params['ID']
          @Instance = params['Instance']
          @Name = params['Name']
          @Region = params['Region']
          @Type = params['Type']
          @ClusterId = params['ClusterId']
          @AppId = params['AppId']
          @BizParams = params['BizParams']
          @Category = params['Category']
          @Display = params['Display']
          @OwnerAccount = params['OwnerAccount']
          @Params = params['Params']
          @Status = params['Status']
          @OwnerAccountName = params['OwnerAccountName']
          @ClusterName = params['ClusterName']
          @OwnerProjectId = params['OwnerProjectId']
          @OwnerProjectName = params['OwnerProjectName']
          @OwnerProjectIdent = params['OwnerProjectIdent']
          @AuthorityProjectName = params['AuthorityProjectName']
          @AuthorityUserName = params['AuthorityUserName']
          @Edit = params['Edit']
          @Author = params['Author']
          @Deliver = params['Deliver']
          @DataSourceStatus = params['DataSourceStatus']
          @CreateTime = params['CreateTime']
          @ParamsString = params['ParamsString']
          @BizParamsString = params['BizParamsString']
          @ModifiedTime = params['ModifiedTime']
          @ShowType = params['ShowType']
          @ProductId = params['ProductId']
          @DevelopmentId = params['DevelopmentId']
          @DevelopmentParams = params['DevelopmentParams']
        end
      end

      # 查询数据源分页列表
      class DataSourceInfoPage < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Rows: 数据源列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Rows: Array
        # @param TotalCount: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPageNumber: 总分页页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPageNumber: Integer

        attr_accessor :PageNumber, :PageSize, :Rows, :TotalCount, :TotalPageNumber

        def initialize(pagenumber=nil, pagesize=nil, rows=nil, totalcount=nil, totalpagenumber=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Rows = rows
          @TotalCount = totalcount
          @TotalPageNumber = totalpagenumber
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Rows'].nil?
            @Rows = []
            params['Rows'].each do |i|
              datasourceinfo_tmp = DataSourceInfo.new
              datasourceinfo_tmp.deserialize(i)
              @Rows << datasourceinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @TotalPageNumber = params['TotalPageNumber']
        end
      end

      # 数据质量数据来源数据库
      class DatabaseInfo < TencentCloud::Common::AbstractModel
        # @param DatasourceName: 数据源名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatasourceId: 数据源Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param DatabaseId: 数据库id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param InstanceId: 实例Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param DatasourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: Integer
        # @param OriginDatabaseName: 数据库原始名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginDatabaseName: String
        # @param OriginSchemaName: schema名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginSchemaName: String
        # @param DsEnvType: 0或者未返回.未定义,1.生产 2.开发
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DsEnvType: Integer
        # @param ClusterDeployType: EMR引擎部署方式:CVM/TKE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterDeployType: String
        # @param SchemaName: 模式名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String

        attr_accessor :DatasourceName, :DatasourceId, :DatabaseName, :DatabaseId, :InstanceId, :DatasourceType, :OriginDatabaseName, :OriginSchemaName, :DsEnvType, :ClusterDeployType, :SchemaName

        def initialize(datasourcename=nil, datasourceid=nil, databasename=nil, databaseid=nil, instanceid=nil, datasourcetype=nil, origindatabasename=nil, originschemaname=nil, dsenvtype=nil, clusterdeploytype=nil, schemaname=nil)
          @DatasourceName = datasourcename
          @DatasourceId = datasourceid
          @DatabaseName = databasename
          @DatabaseId = databaseid
          @InstanceId = instanceid
          @DatasourceType = datasourcetype
          @OriginDatabaseName = origindatabasename
          @OriginSchemaName = originschemaname
          @DsEnvType = dsenvtype
          @ClusterDeployType = clusterdeploytype
          @SchemaName = schemaname
        end

        def deserialize(params)
          @DatasourceName = params['DatasourceName']
          @DatasourceId = params['DatasourceId']
          @DatabaseName = params['DatabaseName']
          @DatabaseId = params['DatabaseId']
          @InstanceId = params['InstanceId']
          @DatasourceType = params['DatasourceType']
          @OriginDatabaseName = params['OriginDatabaseName']
          @OriginSchemaName = params['OriginSchemaName']
          @DsEnvType = params['DsEnvType']
          @ClusterDeployType = params['ClusterDeployType']
          @SchemaName = params['SchemaName']
        end
      end

      # 数据源元数据
      class DatabaseMeta < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param MetastoreType: 技术类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param DatasourceName: 数据源名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatasourceId: 数据源Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: Integer
        # @param ProjectName: 项目英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param Category: 数据源类别:绑定引擎、绑定数据库,可用值:DB,ENGINE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Category: String
        # @param Description: 数据源描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Instance: 数据源引擎的实例ID,如CDB实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Instance: String
        # @param Region: 数据源引擎所属区域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param Status: 数据源数据源的可见性,1为可见、0为不可见。默认为1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer
        # @param DatabaseName: db名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param ProjectDisplayName: 项目中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectDisplayName: String
        # @param OwnerAccountName: 责任人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerAccountName: String
        # @param DisplayName: 数据来源展示名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DisplayName: String
        # @param DatabaseId: 数据库ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param Catalog: 数据来源类型:hive/mysql/hbase等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Catalog: String
        # @param StorageSize: 存储量大小,单位为 byte
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSize: Integer
        # @param StorageSizeWithUnit: 格式化后的存储量大小,带单位,如 12B
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSizeWithUnit: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String

        attr_accessor :ProjectId, :MetastoreType, :DatasourceName, :DatasourceId, :ProjectName, :Category, :Description, :Instance, :Region, :Status, :DatabaseName, :ProjectDisplayName, :OwnerAccountName, :DisplayName, :DatabaseId, :Catalog, :StorageSize, :StorageSizeWithUnit, :CreateTime

        def initialize(projectid=nil, metastoretype=nil, datasourcename=nil, datasourceid=nil, projectname=nil, category=nil, description=nil, instance=nil, region=nil, status=nil, databasename=nil, projectdisplayname=nil, owneraccountname=nil, displayname=nil, databaseid=nil, catalog=nil, storagesize=nil, storagesizewithunit=nil, createtime=nil)
          @ProjectId = projectid
          @MetastoreType = metastoretype
          @DatasourceName = datasourcename
          @DatasourceId = datasourceid
          @ProjectName = projectname
          @Category = category
          @Description = description
          @Instance = instance
          @Region = region
          @Status = status
          @DatabaseName = databasename
          @ProjectDisplayName = projectdisplayname
          @OwnerAccountName = owneraccountname
          @DisplayName = displayname
          @DatabaseId = databaseid
          @Catalog = catalog
          @StorageSize = storagesize
          @StorageSizeWithUnit = storagesizewithunit
          @CreateTime = createtime
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @MetastoreType = params['MetastoreType']
          @DatasourceName = params['DatasourceName']
          @DatasourceId = params['DatasourceId']
          @ProjectName = params['ProjectName']
          @Category = params['Category']
          @Description = params['Description']
          @Instance = params['Instance']
          @Region = params['Region']
          @Status = params['Status']
          @DatabaseName = params['DatabaseName']
          @ProjectDisplayName = params['ProjectDisplayName']
          @OwnerAccountName = params['OwnerAccountName']
          @DisplayName = params['DisplayName']
          @DatabaseId = params['DatabaseId']
          @Catalog = params['Catalog']
          @StorageSize = params['StorageSize']
          @StorageSizeWithUnit = params['StorageSizeWithUnit']
          @CreateTime = params['CreateTime']
        end
      end

      # 数据源对象
      class DatasourceBaseInfo < TencentCloud::Common::AbstractModel
        # @param DatabaseNames: 若数据源列表为绑定数据库,则为db名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseNames: Array
        # @param Description: 数据源描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param ID: 数据源ID
        # @type ID: Integer
        # @param Instance: 数据源引擎的实例ID,如CDB实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Instance: String
        # @param Name: 数据源名称,在相同SpaceName下,数据源名称不能为空
        # @type Name: String
        # @param Region: 数据源引擎所属区域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param Type: 数据源类型:枚举值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param ClusterId: 数据源所属的集群id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterId: String
        # @param Version: 数据源版本信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Version: String
        # @param ParamsString: 数据源附带参数信息Params json字符串
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParamsString: String
        # @param Category: 区分数据源类型自定义源还是系统源
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Category: String

        attr_accessor :DatabaseNames, :Description, :ID, :Instance, :Name, :Region, :Type, :ClusterId, :Version, :ParamsString, :Category

        def initialize(databasenames=nil, description=nil, id=nil, instance=nil, name=nil, region=nil, type=nil, clusterid=nil, version=nil, paramsstring=nil, category=nil)
          @DatabaseNames = databasenames
          @Description = description
          @ID = id
          @Instance = instance
          @Name = name
          @Region = region
          @Type = type
          @ClusterId = clusterid
          @Version = version
          @ParamsString = paramsstring
          @Category = category
        end

        def deserialize(params)
          @DatabaseNames = params['DatabaseNames']
          @Description = params['Description']
          @ID = params['ID']
          @Instance = params['Instance']
          @Name = params['Name']
          @Region = params['Region']
          @Type = params['Type']
          @ClusterId = params['ClusterId']
          @Version = params['Version']
          @ParamsString = params['ParamsString']
          @Category = params['Category']
        end
      end

      # DeleteCustomFunction请求参数结构体
      class DeleteCustomFunctionRequest < TencentCloud::Common::AbstractModel
        # @param ClusterIdentifier: 集群实例 ID
        # @type ClusterIdentifier: String
        # @param FunctionId: 函数 ID
        # @type FunctionId: String
        # @param ProjectId: 项目ID,必须填
        # @type ProjectId: String
        # @param FunctionName: 函数名称
        # @type FunctionName: String
        # @param FunctionType: 函数类型,HIVE,SPARK,DLC,CDW_POSTGRESQL
        # @type FunctionType: String
        # @param DatabaseName: 数据库名
        # @type DatabaseName: String
        # @param SchemaName: 模式名
        # @type SchemaName: String
        # @param CommandFormat: 函数命令格式
        # @type CommandFormat: String

        attr_accessor :ClusterIdentifier, :FunctionId, :ProjectId, :FunctionName, :FunctionType, :DatabaseName, :SchemaName, :CommandFormat

        def initialize(clusteridentifier=nil, functionid=nil, projectid=nil, functionname=nil, functiontype=nil, databasename=nil, schemaname=nil, commandformat=nil)
          @ClusterIdentifier = clusteridentifier
          @FunctionId = functionid
          @ProjectId = projectid
          @FunctionName = functionname
          @FunctionType = functiontype
          @DatabaseName = databasename
          @SchemaName = schemaname
          @CommandFormat = commandformat
        end

        def deserialize(params)
          @ClusterIdentifier = params['ClusterIdentifier']
          @FunctionId = params['FunctionId']
          @ProjectId = params['ProjectId']
          @FunctionName = params['FunctionName']
          @FunctionType = params['FunctionType']
          @DatabaseName = params['DatabaseName']
          @SchemaName = params['SchemaName']
          @CommandFormat = params['CommandFormat']
        end
      end

      # DeleteCustomFunction返回参数结构体
      class DeleteCustomFunctionResponse < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数 ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FunctionId: String
        # @param ErrorMessage: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :FunctionId, :ErrorMessage, :RequestId

        def initialize(functionid=nil, errormessage=nil, requestid=nil)
          @FunctionId = functionid
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # DeleteDataSources请求参数结构体
      class DeleteDataSourcesRequest < TencentCloud::Common::AbstractModel
        # @param Ids: id列表
        # @type Ids: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :Ids, :ProjectId

        def initialize(ids=nil, projectid=nil)
          @Ids = ids
          @ProjectId = projectid
        end

        def deserialize(params)
          @Ids = params['Ids']
          @ProjectId = params['ProjectId']
        end
      end

      # DeleteDataSources返回参数结构体
      class DeleteDataSourcesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否删除成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteDsFolder请求参数结构体
      class DeleteDsFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param FolderId: 文件夹ID
        # @type FolderId: String

        attr_accessor :ProjectId, :FolderId

        def initialize(projectid=nil, folderid=nil)
          @ProjectId = projectid
          @FolderId = folderid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderId = params['FolderId']
        end
      end

      # DeleteDsFolder返回参数结构体
      class DeleteDsFolderResponse < TencentCloud::Common::AbstractModel
        # @param Data: true代表删除成功,false代表删除失败
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteFilePath请求参数结构体
      class DeleteFilePathRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param ResourceIds: 资源ID
        # @type ResourceIds: Array
        # @param UseStatus: 使用状态
        # - true
        # - false
        # @type UseStatus: String
        # @param FilePaths: 文件路径
        # @type FilePaths: Array

        attr_accessor :ProjectId, :ResourceIds, :UseStatus, :FilePaths

        def initialize(projectid=nil, resourceids=nil, usestatus=nil, filepaths=nil)
          @ProjectId = projectid
          @ResourceIds = resourceids
          @UseStatus = usestatus
          @FilePaths = filepaths
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ResourceIds = params['ResourceIds']
          @UseStatus = params['UseStatus']
          @FilePaths = params['FilePaths']
        end
      end

      # DeleteFilePath返回参数结构体
      class DeleteFilePathResponse < TencentCloud::Common::AbstractModel
        # @param UserFileList: 文件列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserFileList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :UserFileList, :RequestId

        def initialize(userfilelist=nil, requestid=nil)
          @UserFileList = userfilelist
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['UserFileList'].nil?
            @UserFileList = []
            params['UserFileList'].each do |i|
              userfileinfo_tmp = UserFileInfo.new
              userfileinfo_tmp.deserialize(i)
              @UserFileList << userfileinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DeleteFile请求参数结构体
      class DeleteFileRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ResourceId: 资源id
        # @type ResourceId: String

        attr_accessor :ProjectId, :ResourceId

        def initialize(projectid=nil, resourceid=nil)
          @ProjectId = projectid
          @ResourceId = resourceid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ResourceId = params['ResourceId']
        end
      end

      # DeleteFile返回参数结构体
      class DeleteFileResponse < TencentCloud::Common::AbstractModel
        # @param Result: 删除结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Result: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Result, :RequestId

        def initialize(result=nil, requestid=nil)
          @Result = result
          @RequestId = requestid
        end

        def deserialize(params)
          @Result = params['Result']
          @RequestId = params['RequestId']
        end
      end

      # DeleteIntegrationNode请求参数结构体
      class DeleteIntegrationNodeRequest < TencentCloud::Common::AbstractModel
        # @param Id: 节点id
        # @type Id: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :Id, :ProjectId

        def initialize(id=nil, projectid=nil)
          @Id = id
          @ProjectId = projectid
        end

        def deserialize(params)
          @Id = params['Id']
          @ProjectId = params['ProjectId']
        end
      end

      # DeleteIntegrationNode返回参数结构体
      class DeleteIntegrationNodeResponse < TencentCloud::Common::AbstractModel
        # @param Data: 删除返回是否成功标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteIntegrationTask请求参数结构体
      class DeleteIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # DeleteIntegrationTask返回参数结构体
      class DeleteIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务删除成功与否标识
        # @type Data: Boolean
        # @param DeleteFlag: 任务删除成功与否标识
        # 0表示删除成功
        # 1 表示失败,失败原因见 DeleteErrInfo
        # 100 表示running or suspend task can't be deleted失败,失败原因也会写到DeleteErrInfo里面
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteFlag: Integer
        # @param DeleteErrInfo: 删除失败原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteErrInfo: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :DeleteFlag, :DeleteErrInfo, :RequestId

        def initialize(data=nil, deleteflag=nil, deleteerrinfo=nil, requestid=nil)
          @Data = data
          @DeleteFlag = deleteflag
          @DeleteErrInfo = deleteerrinfo
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @DeleteFlag = params['DeleteFlag']
          @DeleteErrInfo = params['DeleteErrInfo']
          @RequestId = params['RequestId']
        end
      end

      # DeleteOfflineTask请求参数结构体
      class DeleteOfflineTaskRequest < TencentCloud::Common::AbstractModel
        # @param OperatorName: 操作者name
        # @type OperatorName: String
        # @param ProjectId: 项目/工作空间id
        # @type ProjectId: String
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param VirtualFlag: 虚拟任务标记(跟之前调度接口保持一致默认false)
        # @type VirtualFlag: Boolean

        attr_accessor :OperatorName, :ProjectId, :TaskId, :VirtualFlag

        def initialize(operatorname=nil, projectid=nil, taskid=nil, virtualflag=nil)
          @OperatorName = operatorname
          @ProjectId = projectid
          @TaskId = taskid
          @VirtualFlag = virtualflag
        end

        def deserialize(params)
          @OperatorName = params['OperatorName']
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @VirtualFlag = params['VirtualFlag']
        end
      end

      # DeleteOfflineTask返回参数结构体
      class DeleteOfflineTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteProjectParamDs请求参数结构体
      class DeleteProjectParamDsRequest < TencentCloud::Common::AbstractModel
        # @param ParamKey: 参数名
        # @type ParamKey: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :ParamKey, :ProjectId

        def initialize(paramkey=nil, projectid=nil)
          @ParamKey = paramkey
          @ProjectId = projectid
        end

        def deserialize(params)
          @ParamKey = params['ParamKey']
          @ProjectId = params['ProjectId']
        end
      end

      # DeleteProjectParamDs返回参数结构体
      class DeleteProjectParamDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果 true 删除成功
        # false 删除失败
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteProjectUsers请求参数结构体
      class DeleteProjectUsersRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param UserIds: 用户ID列表
        # @type UserIds: Array

        attr_accessor :ProjectId, :UserIds

        def initialize(projectid=nil, userids=nil)
          @ProjectId = projectid
          @UserIds = userids
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @UserIds = params['UserIds']
        end
      end

      # DeleteProjectUsers返回参数结构体
      class DeleteProjectUsersResponse < TencentCloud::Common::AbstractModel
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :RequestId

        def initialize(requestid=nil)
          @RequestId = requestid
        end

        def deserialize(params)
          @RequestId = params['RequestId']
        end
      end

      # DeleteResourceFile请求参数结构体
      class DeleteResourceFileRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ResourceId: 资源id
        # @type ResourceId: String

        attr_accessor :ProjectId, :ResourceId

        def initialize(projectid=nil, resourceid=nil)
          @ProjectId = projectid
          @ResourceId = resourceid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ResourceId = params['ResourceId']
        end
      end

      # DeleteResourceFile返回参数结构体
      class DeleteResourceFileResponse < TencentCloud::Common::AbstractModel
        # @param Data: 资源删除结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteResourceFiles请求参数结构体
      class DeleteResourceFilesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param UseStatus: 使用状态
        # @type UseStatus: Boolean
        # @param ResourceIds: 资源id列表
        # @type ResourceIds: Array
        # @param FilePaths: 资源路径列表
        # @type FilePaths: Array

        attr_accessor :ProjectId, :UseStatus, :ResourceIds, :FilePaths

        def initialize(projectid=nil, usestatus=nil, resourceids=nil, filepaths=nil)
          @ProjectId = projectid
          @UseStatus = usestatus
          @ResourceIds = resourceids
          @FilePaths = filepaths
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @UseStatus = params['UseStatus']
          @ResourceIds = params['ResourceIds']
          @FilePaths = params['FilePaths']
        end
      end

      # DeleteResourceFiles返回参数结构体
      class DeleteResourceFilesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 资源批量删除结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteResource请求参数结构体
      class DeleteResourceRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param ResourceId: 资源ID
        # @type ResourceId: String

        attr_accessor :ProjectId, :ResourceId

        def initialize(projectid=nil, resourceid=nil)
          @ProjectId = projectid
          @ResourceId = resourceid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ResourceId = params['ResourceId']
        end
      end

      # DeleteResource返回参数结构体
      class DeleteResourceResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteRule请求参数结构体
      class DeleteRuleRequest < TencentCloud::Common::AbstractModel
        # @param RuleId: 质量规则ID
        # @type RuleId: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :RuleId, :ProjectId

        def initialize(ruleid=nil, projectid=nil)
          @RuleId = ruleid
          @ProjectId = projectid
        end

        def deserialize(params)
          @RuleId = params['RuleId']
          @ProjectId = params['ProjectId']
        end
      end

      # DeleteRule返回参数结构体
      class DeleteRuleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否删除成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteRuleTemplate请求参数结构体
      class DeleteRuleTemplateRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Ids: 模板Id列表
        # @type Ids: Array

        attr_accessor :ProjectId, :Ids

        def initialize(projectid=nil, ids=nil)
          @ProjectId = projectid
          @Ids = ids
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Ids = params['Ids']
        end
      end

      # DeleteRuleTemplate返回参数结构体
      class DeleteRuleTemplateResponse < TencentCloud::Common::AbstractModel
        # @param Data: 删除成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteTaskAlarmRegular请求参数结构体
      class DeleteTaskAlarmRegularRequest < TencentCloud::Common::AbstractModel
        # @param Id: 主键ID
        # @type Id: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param TaskType: 任务类型(201表示实时任务,202表示离线任务)
        # @type TaskType: Integer

        attr_accessor :Id, :ProjectId, :TaskId, :TaskType

        def initialize(id=nil, projectid=nil, taskid=nil, tasktype=nil)
          @Id = id
          @ProjectId = projectid
          @TaskId = taskid
          @TaskType = tasktype
        end

        def deserialize(params)
          @Id = params['Id']
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @TaskType = params['TaskType']
        end
      end

      # DeleteTaskAlarmRegular返回参数结构体
      class DeleteTaskAlarmRegularResponse < TencentCloud::Common::AbstractModel
        # @param Data: 删除结果(true表示删除成功,false表示删除失败)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteTaskDs请求参数结构体
      class DeleteTaskDsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param DeleteScript: 是否删除脚本
        # true:删除
        # false:不删除
        # 不传默认false
        # @type DeleteScript: Boolean
        # @param OperateInform: 任务操作是否消息通知下游任务责任人true:通知
        # false:不通知
        # 不传默认false
        # @type OperateInform: Boolean
        # @param TaskId: 任务ID
        # 和VirtualTaskId选填一个
        # @type TaskId: String
        # @param VirtualTaskId: 虚拟任务id
        # 和TaskId选填一个
        # @type VirtualTaskId: String
        # @param VirtualFlag: 虚拟任务标记
        # true:是虚拟任务
        # false:不是虚拟任务
        # 不传默认false
        # @type VirtualFlag: Boolean
        # @param DeleteMode: 任务删除方式
        # true:不针对下游任务实例进行强制失败
        # false:针对下游任务实例进行强制失败
        # 不传默认false
        # @type DeleteMode: Boolean

        attr_accessor :ProjectId, :DeleteScript, :OperateInform, :TaskId, :VirtualTaskId, :VirtualFlag, :DeleteMode

        def initialize(projectid=nil, deletescript=nil, operateinform=nil, taskid=nil, virtualtaskid=nil, virtualflag=nil, deletemode=nil)
          @ProjectId = projectid
          @DeleteScript = deletescript
          @OperateInform = operateinform
          @TaskId = taskid
          @VirtualTaskId = virtualtaskid
          @VirtualFlag = virtualflag
          @DeleteMode = deletemode
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @DeleteScript = params['DeleteScript']
          @OperateInform = params['OperateInform']
          @TaskId = params['TaskId']
          @VirtualTaskId = params['VirtualTaskId']
          @VirtualFlag = params['VirtualFlag']
          @DeleteMode = params['DeleteMode']
        end
      end

      # DeleteTaskDs返回参数结构体
      class DeleteTaskDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否删除成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DeleteWorkflowById请求参数结构体
      class DeleteWorkflowByIdRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DeleteMode: 删除后下游任务的处理方式,true:下游任务均正常运行 false:下游任务均运行失败
        # @type DeleteMode: Boolean
        # @param EnableNotify: 删除任务后是否通知下游任务责任人, true:通知 false:不通知
        # @type EnableNotify: Boolean

        attr_accessor :WorkflowId, :ProjectId, :DeleteMode, :EnableNotify

        def initialize(workflowid=nil, projectid=nil, deletemode=nil, enablenotify=nil)
          @WorkflowId = workflowid
          @ProjectId = projectid
          @DeleteMode = deletemode
          @EnableNotify = enablenotify
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @ProjectId = params['ProjectId']
          @DeleteMode = params['DeleteMode']
          @EnableNotify = params['EnableNotify']
        end
      end

      # DeleteWorkflowById返回参数结构体
      class DeleteWorkflowByIdResponse < TencentCloud::Common::AbstractModel
        # @param Data: 删除结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 依赖配置
      class DependencyConfig < TencentCloud::Common::AbstractModel
        # @param DependConfType: 仅五种周期运行依赖配置: HOUR,DAY,WEEK,MONTH,YEAR,CRONTAB,MINUTE
        # @type DependConfType: String
        # @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: String
        # @param DependencyStrategy: WAITING,等待(默认策略)EXECUTING:执行
        # @type DependencyStrategy: String
        # @param ParentTask: 父任务信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentTask: :class:`Tencentcloud::Wedata.v20210820.models.TaskInnerInfo`
        # @param SonTask: 子任务信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SonTask: :class:`Tencentcloud::Wedata.v20210820.models.TaskInnerInfo`

        attr_accessor :DependConfType, :SubordinateCyclicType, :DependencyStrategy, :ParentTask, :SonTask

        def initialize(dependconftype=nil, subordinatecyclictype=nil, dependencystrategy=nil, parenttask=nil, sontask=nil)
          @DependConfType = dependconftype
          @SubordinateCyclicType = subordinatecyclictype
          @DependencyStrategy = dependencystrategy
          @ParentTask = parenttask
          @SonTask = sontask
        end

        def deserialize(params)
          @DependConfType = params['DependConfType']
          @SubordinateCyclicType = params['SubordinateCyclicType']
          @DependencyStrategy = params['DependencyStrategy']
          unless params['ParentTask'].nil?
            @ParentTask = TaskInnerInfo.new
            @ParentTask.deserialize(params['ParentTask'])
          end
          unless params['SonTask'].nil?
            @SonTask = TaskInnerInfo.new
            @SonTask.deserialize(params['SonTask'])
          end
        end
      end

      # DescribeAlarmEvents请求参数结构体
      class DescribeAlarmEventsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PageNumber: 当前页
        # @type PageNumber: Integer
        # @param PageSize: 每页记录数
        # @type PageSize: Integer
        # @param Filters: 过滤条件(key可以是:AlarmLevel,AlarmIndicator,KeyWord)
        # @type Filters: Array
        # @param OrderFields: 排序字段(AlarmTime)
        # @type OrderFields: Array
        # @param TaskType: 类型(201表示实时,202表示离线)
        # @type TaskType: Integer
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        # @type MonitorType: Integer

        attr_accessor :ProjectId, :PageNumber, :PageSize, :Filters, :OrderFields, :TaskType, :StartTime, :EndTime, :MonitorType

        def initialize(projectid=nil, pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, tasktype=nil, starttime=nil, endtime=nil, monitortype=nil)
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @TaskType = tasktype
          @StartTime = starttime
          @EndTime = endtime
          @MonitorType = monitortype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @TaskType = params['TaskType']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @MonitorType = params['MonitorType']
        end
      end

      # DescribeAlarmEvents返回参数结构体
      class DescribeAlarmEventsResponse < TencentCloud::Common::AbstractModel
        # @param AlarmEventInfoList: 告警事件列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmEventInfoList: Array
        # @param TotalCount: 总记录数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :AlarmEventInfoList, :TotalCount, :RequestId

        def initialize(alarmeventinfolist=nil, totalcount=nil, requestid=nil)
          @AlarmEventInfoList = alarmeventinfolist
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['AlarmEventInfoList'].nil?
            @AlarmEventInfoList = []
            params['AlarmEventInfoList'].each do |i|
              alarmeventinfo_tmp = AlarmEventInfo.new
              alarmeventinfo_tmp.deserialize(i)
              @AlarmEventInfoList << alarmeventinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeAlarmReceiver请求参数结构体
      class DescribeAlarmReceiverRequest < TencentCloud::Common::AbstractModel
        # @param AlarmId: 告警ID
        # @type AlarmId: String
        # @param PageNumber: 当前页
        # @type PageNumber: Integer
        # @param PageSize: 每页记录数
        # @type PageSize: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskType: 类型
        # @type TaskType: Integer
        # @param AlarmRecipient: 告警接收人ID(逗号分隔)
        # @type AlarmRecipient: String
        # @param AlarmRecipientName: 告警接收人姓名(逗号分隔)
        # @type AlarmRecipientName: String
        # @param AlarmTime: 告警时间
        # @type AlarmTime: String
        # @param MessageId: 消息ID
        # @type MessageId: String
        # @param RecordId: 告警记录id
        # @type RecordId: Integer
        # @param MonitorType: 监控对象类型(1:所有任务,2:指定任务,3:指定责任人,4:指定资源组)
        # @type MonitorType: Integer

        attr_accessor :AlarmId, :PageNumber, :PageSize, :ProjectId, :TaskType, :AlarmRecipient, :AlarmRecipientName, :AlarmTime, :MessageId, :RecordId, :MonitorType

        def initialize(alarmid=nil, pagenumber=nil, pagesize=nil, projectid=nil, tasktype=nil, alarmrecipient=nil, alarmrecipientname=nil, alarmtime=nil, messageid=nil, recordid=nil, monitortype=nil)
          @AlarmId = alarmid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @ProjectId = projectid
          @TaskType = tasktype
          @AlarmRecipient = alarmrecipient
          @AlarmRecipientName = alarmrecipientname
          @AlarmTime = alarmtime
          @MessageId = messageid
          @RecordId = recordid
          @MonitorType = monitortype
        end

        def deserialize(params)
          @AlarmId = params['AlarmId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
          @AlarmRecipient = params['AlarmRecipient']
          @AlarmRecipientName = params['AlarmRecipientName']
          @AlarmTime = params['AlarmTime']
          @MessageId = params['MessageId']
          @RecordId = params['RecordId']
          @MonitorType = params['MonitorType']
        end
      end

      # DescribeAlarmReceiver返回参数结构体
      class DescribeAlarmReceiverResponse < TencentCloud::Common::AbstractModel
        # @param AlarmReceiverInfoList: 告警接收人列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmReceiverInfoList: Array
        # @param TotalCount: 总记录数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :AlarmReceiverInfoList, :TotalCount, :RequestId

        def initialize(alarmreceiverinfolist=nil, totalcount=nil, requestid=nil)
          @AlarmReceiverInfoList = alarmreceiverinfolist
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['AlarmReceiverInfoList'].nil?
            @AlarmReceiverInfoList = []
            params['AlarmReceiverInfoList'].each do |i|
              alarmreceiverinfo_tmp = AlarmReceiverInfo.new
              alarmreceiverinfo_tmp.deserialize(i)
              @AlarmReceiverInfoList << alarmreceiverinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeAllByFolderNew请求参数结构体
      class DescribeAllByFolderNewRequest < TencentCloud::Common::AbstractModel
        # @param Folder: 文件夹属性
        # @type Folder: :class:`Tencentcloud::Wedata.v20210820.models.FolderOpsDto`
        # @param Workflows: 工作流列表
        # @type Workflows: Array
        # @param TargetFolderId: 目标文件id
        # @type TargetFolderId: String
        # @param KeyWords: 关键字
        # @type KeyWords: String
        # @param ParentsFolderId: 父文件id
        # @type ParentsFolderId: String
        # @param IsAddWorkflow: 拉取文件夹列表
        # @type IsAddWorkflow: String
        # @param TaskStates: 任务状态
        # @type TaskStates: Array
        # @param FindType: 搜索类型
        # @type FindType: String
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Folder, :Workflows, :TargetFolderId, :KeyWords, :ParentsFolderId, :IsAddWorkflow, :TaskStates, :FindType, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(folder=nil, workflows=nil, targetfolderid=nil, keywords=nil, parentsfolderid=nil, isaddworkflow=nil, taskstates=nil, findtype=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Folder = folder
          @Workflows = workflows
          @TargetFolderId = targetfolderid
          @KeyWords = keywords
          @ParentsFolderId = parentsfolderid
          @IsAddWorkflow = isaddworkflow
          @TaskStates = taskstates
          @FindType = findtype
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Folder'].nil?
            @Folder = FolderOpsDto.new
            @Folder.deserialize(params['Folder'])
          end
          unless params['Workflows'].nil?
            @Workflows = []
            params['Workflows'].each do |i|
              workflowcanvasopsdto_tmp = WorkflowCanvasOpsDto.new
              workflowcanvasopsdto_tmp.deserialize(i)
              @Workflows << workflowcanvasopsdto_tmp
            end
          end
          @TargetFolderId = params['TargetFolderId']
          @KeyWords = params['KeyWords']
          @ParentsFolderId = params['ParentsFolderId']
          @IsAddWorkflow = params['IsAddWorkflow']
          @TaskStates = params['TaskStates']
          @FindType = params['FindType']
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # DescribeAllByFolderNew返回参数结构体
      class DescribeAllByFolderNewResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果集
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CollectionFolderOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CollectionFolderOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 申请列表
      class DescribeApply < TencentCloud::Common::AbstractModel
        # @param Rows: 申请列表详情
        # @type Rows: Array
        # @param TotalPageNumber: 总分页页码
        # @type TotalPageNumber: Integer
        # @param TotalCount: 总个数
        # @type TotalCount: Integer
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer

        attr_accessor :Rows, :TotalPageNumber, :TotalCount, :PageNumber, :PageSize

        def initialize(rows=nil, totalpagenumber=nil, totalcount=nil, pagenumber=nil, pagesize=nil)
          @Rows = rows
          @TotalPageNumber = totalpagenumber
          @TotalCount = totalcount
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          unless params['Rows'].nil?
            @Rows = []
            params['Rows'].each do |i|
              apply_tmp = Apply.new
              apply_tmp.deserialize(i)
              @Rows << apply_tmp
            end
          end
          @TotalPageNumber = params['TotalPageNumber']
          @TotalCount = params['TotalCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeApproveList请求参数结构体
      class DescribeApproveListRequest < TencentCloud::Common::AbstractModel
        # @param ApproveClassification: 审批分类key
        # @type ApproveClassification: String
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param PageNumber: 分页数
        # @type PageNumber: Integer
        # @param Filters: 自定义条件查询
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array

        attr_accessor :ApproveClassification, :PageSize, :PageNumber, :Filters, :OrderFields

        def initialize(approveclassification=nil, pagesize=nil, pagenumber=nil, filters=nil, orderfields=nil)
          @ApproveClassification = approveclassification
          @PageSize = pagesize
          @PageNumber = pagenumber
          @Filters = filters
          @OrderFields = orderfields
        end

        def deserialize(params)
          @ApproveClassification = params['ApproveClassification']
          @PageSize = params['PageSize']
          @PageNumber = params['PageNumber']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filteroptional_tmp = FilterOptional.new
              filteroptional_tmp.deserialize(i)
              @Filters << filteroptional_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfieldoptional_tmp = OrderFieldOptional.new
              orderfieldoptional_tmp.deserialize(i)
              @OrderFields << orderfieldoptional_tmp
            end
          end
        end
      end

      # DescribeApproveList返回参数结构体
      class DescribeApproveListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 待审批列表详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DescribeApply`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DescribeApply.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeApproveTypeList请求参数结构体
      class DescribeApproveTypeListRequest < TencentCloud::Common::AbstractModel
        # @param Classification: 类型key
        # @type Classification: String

        attr_accessor :Classification

        def initialize(classification=nil)
          @Classification = classification
        end

        def deserialize(params)
          @Classification = params['Classification']
        end
      end

      # DescribeApproveTypeList返回参数结构体
      class DescribeApproveTypeListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 获取审批分类列表
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              approvetype_tmp = ApproveType.new
              approvetype_tmp.deserialize(i)
              @Data << approvetype_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # 批量操作任务列表
      class DescribeBatchOperateTaskDTO < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param WorkflowId: 工作流Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param WorkflowName: 工作流名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param Status: 状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param TaskTypeId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTypeId: Integer
        # @param TaskTypeDesc: 任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTypeDesc: String
        # @param FolderName: 文件夹名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderName: String
        # @param FolderId: 文件夹ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param InCharge: 负责人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param Submit: 是否提交
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Submit: Integer
        # @param DataEngine: 引擎:
        # presto\SparkJob\SparkSql
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataEngine: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param CreateTime: 创造时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param CycleUnit: 周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param ScheduleDesc: 调度计划
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScheduleDesc: String
        # @param DatasourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatasourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: String

        attr_accessor :TaskId, :TaskName, :WorkflowId, :WorkflowName, :Status, :TaskTypeId, :TaskTypeDesc, :FolderName, :FolderId, :InCharge, :Submit, :DataEngine, :UpdateTime, :CreateTime, :CycleUnit, :ScheduleDesc, :DatasourceId, :DatasourceType

        def initialize(taskid=nil, taskname=nil, workflowid=nil, workflowname=nil, status=nil, tasktypeid=nil, tasktypedesc=nil, foldername=nil, folderid=nil, incharge=nil, submit=nil, dataengine=nil, updatetime=nil, createtime=nil, cycleunit=nil, scheduledesc=nil, datasourceid=nil, datasourcetype=nil)
          @TaskId = taskid
          @TaskName = taskname
          @WorkflowId = workflowid
          @WorkflowName = workflowname
          @Status = status
          @TaskTypeId = tasktypeid
          @TaskTypeDesc = tasktypedesc
          @FolderName = foldername
          @FolderId = folderid
          @InCharge = incharge
          @Submit = submit
          @DataEngine = dataengine
          @UpdateTime = updatetime
          @CreateTime = createtime
          @CycleUnit = cycleunit
          @ScheduleDesc = scheduledesc
          @DatasourceId = datasourceid
          @DatasourceType = datasourcetype
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @WorkflowId = params['WorkflowId']
          @WorkflowName = params['WorkflowName']
          @Status = params['Status']
          @TaskTypeId = params['TaskTypeId']
          @TaskTypeDesc = params['TaskTypeDesc']
          @FolderName = params['FolderName']
          @FolderId = params['FolderId']
          @InCharge = params['InCharge']
          @Submit = params['Submit']
          @DataEngine = params['DataEngine']
          @UpdateTime = params['UpdateTime']
          @CreateTime = params['CreateTime']
          @CycleUnit = params['CycleUnit']
          @ScheduleDesc = params['ScheduleDesc']
          @DatasourceId = params['DatasourceId']
          @DatasourceType = params['DatasourceType']
        end
      end

      # 批量操作任务列表分页
      class DescribeBatchOperateTaskPage < TencentCloud::Common::AbstractModel
        # @param PageCount: 总页码数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param Items: 内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array
        # @param TotalCount: 总个数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer

        attr_accessor :PageCount, :Items, :TotalCount

        def initialize(pagecount=nil, items=nil, totalcount=nil)
          @PageCount = pagecount
          @Items = items
          @TotalCount = totalcount
        end

        def deserialize(params)
          @PageCount = params['PageCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              describebatchoperatetaskdto_tmp = DescribeBatchOperateTaskDTO.new
              describebatchoperatetaskdto_tmp.deserialize(i)
              @Items << describebatchoperatetaskdto_tmp
            end
          end
          @TotalCount = params['TotalCount']
        end
      end

      # DescribeBatchOperateTask请求参数结构体
      class DescribeBatchOperateTaskRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Page: 页码
        # @type Page: String
        # @param Size: 页号
        # @type Size: String
        # @param StatusList: 状态列表
        # 草稿:'NS','N','P','R'
        # 运行:''Y'
        # 停止:'F'
        # 冻结:'O'
        # 停止中:'T'
        # @type StatusList: Array
        # @param OwnerNameList: 责任人名列表
        # @type OwnerNameList: Array
        # @param WorkflowIdList: 工作流列表
        # @type WorkflowIdList: Array
        # @param TaskNameFilter: 任务名称搜索
        # @type TaskNameFilter: String
        # @param TaskTypeList: 任务类型列表
        # @type TaskTypeList: Array
        # @param FordIdList: 文件夹列表
        # @type FordIdList: Array
        # @param TaskIdFilter: 任务Id搜索
        # @type TaskIdFilter: String
        # @param OwnerNameFilter: 责任人搜索
        # @type OwnerNameFilter: String
        # @param SortItem: 排序字段:
        # UpdateTime
        # CreateTime
        # @type SortItem: String
        # @param SortType: asc:升序
        # desc:降序
        # @type SortType: String
        # @param DataEngineList: 引擎类型列表:三种
        # SparkJob
        # SparkSql
        # presto
        # @type DataEngineList: Array
        # @param UserId: 操作人名
        # @type UserId: String
        # @param OwnerId: 1
        # @type OwnerId: String
        # @param TenantId: 1
        # @type TenantId: String
        # @param DatasourceIdList: 数据源ID列表
        # @type DatasourceIdList: Array
        # @param DatasourceTypeList: 数据源类型列表
        # @type DatasourceTypeList: Array
        # @param CycleUnitList: 调度单位类型列表
        # @type CycleUnitList: Array
        # @param CanSubmit: 是否筛选出可提交的任务
        # @type CanSubmit: Boolean

        attr_accessor :ProjectId, :Page, :Size, :StatusList, :OwnerNameList, :WorkflowIdList, :TaskNameFilter, :TaskTypeList, :FordIdList, :TaskIdFilter, :OwnerNameFilter, :SortItem, :SortType, :DataEngineList, :UserId, :OwnerId, :TenantId, :DatasourceIdList, :DatasourceTypeList, :CycleUnitList, :CanSubmit

        def initialize(projectid=nil, page=nil, size=nil, statuslist=nil, ownernamelist=nil, workflowidlist=nil, tasknamefilter=nil, tasktypelist=nil, fordidlist=nil, taskidfilter=nil, ownernamefilter=nil, sortitem=nil, sorttype=nil, dataenginelist=nil, userid=nil, ownerid=nil, tenantid=nil, datasourceidlist=nil, datasourcetypelist=nil, cycleunitlist=nil, cansubmit=nil)
          @ProjectId = projectid
          @Page = page
          @Size = size
          @StatusList = statuslist
          @OwnerNameList = ownernamelist
          @WorkflowIdList = workflowidlist
          @TaskNameFilter = tasknamefilter
          @TaskTypeList = tasktypelist
          @FordIdList = fordidlist
          @TaskIdFilter = taskidfilter
          @OwnerNameFilter = ownernamefilter
          @SortItem = sortitem
          @SortType = sorttype
          @DataEngineList = dataenginelist
          @UserId = userid
          @OwnerId = ownerid
          @TenantId = tenantid
          @DatasourceIdList = datasourceidlist
          @DatasourceTypeList = datasourcetypelist
          @CycleUnitList = cycleunitlist
          @CanSubmit = cansubmit
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Page = params['Page']
          @Size = params['Size']
          @StatusList = params['StatusList']
          @OwnerNameList = params['OwnerNameList']
          @WorkflowIdList = params['WorkflowIdList']
          @TaskNameFilter = params['TaskNameFilter']
          @TaskTypeList = params['TaskTypeList']
          @FordIdList = params['FordIdList']
          @TaskIdFilter = params['TaskIdFilter']
          @OwnerNameFilter = params['OwnerNameFilter']
          @SortItem = params['SortItem']
          @SortType = params['SortType']
          @DataEngineList = params['DataEngineList']
          @UserId = params['UserId']
          @OwnerId = params['OwnerId']
          @TenantId = params['TenantId']
          @DatasourceIdList = params['DatasourceIdList']
          @DatasourceTypeList = params['DatasourceTypeList']
          @CycleUnitList = params['CycleUnitList']
          @CanSubmit = params['CanSubmit']
        end
      end

      # DescribeBatchOperateTask返回参数结构体
      class DescribeBatchOperateTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DescribeBatchOperateTaskPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DescribeBatchOperateTaskPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeColumnLineage请求参数结构体
      class DescribeColumnLineageRequest < TencentCloud::Common::AbstractModel
        # @param Direction: 查询方向,INPUT,OUTPUT,BOTH枚举值
        # @type Direction: String
        # @param Data: 字段信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.ColumnLineageInfo`
        # @param InputDepth: 单次查询入度
        # @type InputDepth: Integer
        # @param OutputDepth: 单次查询出度
        # @type OutputDepth: Integer
        # @param ExtParams: 额外参数(传递调用方信息)
        # @type ExtParams: Array
        # @param IgnoreTemp: 是否过滤临时表 默认值为true
        # @type IgnoreTemp: Boolean

        attr_accessor :Direction, :Data, :InputDepth, :OutputDepth, :ExtParams, :IgnoreTemp

        def initialize(direction=nil, data=nil, inputdepth=nil, outputdepth=nil, extparams=nil, ignoretemp=nil)
          @Direction = direction
          @Data = data
          @InputDepth = inputdepth
          @OutputDepth = outputdepth
          @ExtParams = extparams
          @IgnoreTemp = ignoretemp
        end

        def deserialize(params)
          @Direction = params['Direction']
          unless params['Data'].nil?
            @Data = ColumnLineageInfo.new
            @Data.deserialize(params['Data'])
          end
          @InputDepth = params['InputDepth']
          @OutputDepth = params['OutputDepth']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtParams << recordfield_tmp
            end
          end
          @IgnoreTemp = params['IgnoreTemp']
        end
      end

      # DescribeColumnLineage返回参数结构体
      class DescribeColumnLineageResponse < TencentCloud::Common::AbstractModel
        # @param ColumnAggregationLineage: 字段血缘信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnAggregationLineage: :class:`Tencentcloud::Wedata.v20210820.models.ColumnAggregationLineage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :ColumnAggregationLineage, :RequestId

        def initialize(columnaggregationlineage=nil, requestid=nil)
          @ColumnAggregationLineage = columnaggregationlineage
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['ColumnAggregationLineage'].nil?
            @ColumnAggregationLineage = ColumnAggregationLineage.new
            @ColumnAggregationLineage.deserialize(params['ColumnAggregationLineage'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeColumnsMeta请求参数结构体
      class DescribeColumnsMetaRequest < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # @type TableId: String
        # @param PageNumber: 页码
        # @type PageNumber: Integer
        # @param PageSize: 每页大小
        # @type PageSize: Integer
        # @param FilterSet: 过滤器
        # @type FilterSet: Array
        # @param OrderFieldSet: 排序字段
        # @type OrderFieldSet: Array
        # @param IsPartitionQuery: 是否查询分区字段,默认false
        # @type IsPartitionQuery: Boolean
        # @param ComplianceId: 合规组ID
        # @type ComplianceId: Integer

        attr_accessor :TableId, :PageNumber, :PageSize, :FilterSet, :OrderFieldSet, :IsPartitionQuery, :ComplianceId

        def initialize(tableid=nil, pagenumber=nil, pagesize=nil, filterset=nil, orderfieldset=nil, ispartitionquery=nil, complianceid=nil)
          @TableId = tableid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @FilterSet = filterset
          @OrderFieldSet = orderfieldset
          @IsPartitionQuery = ispartitionquery
          @ComplianceId = complianceid
        end

        def deserialize(params)
          @TableId = params['TableId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['FilterSet'].nil?
            @FilterSet = []
            params['FilterSet'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @FilterSet << filter_tmp
            end
          end
          unless params['OrderFieldSet'].nil?
            @OrderFieldSet = []
            params['OrderFieldSet'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFieldSet << orderfield_tmp
            end
          end
          @IsPartitionQuery = params['IsPartitionQuery']
          @ComplianceId = params['ComplianceId']
        end
      end

      # DescribeColumnsMeta返回参数结构体
      class DescribeColumnsMetaResponse < TencentCloud::Common::AbstractModel
        # @param ColumnMetaSet: 分页返回的
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnMetaSet: Array
        # @param TotalCount: 总记录数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :ColumnMetaSet, :TotalCount, :RequestId

        def initialize(columnmetaset=nil, totalcount=nil, requestid=nil)
          @ColumnMetaSet = columnmetaset
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['ColumnMetaSet'].nil?
            @ColumnMetaSet = []
            params['ColumnMetaSet'].each do |i|
              columnmeta_tmp = ColumnMeta.new
              columnmeta_tmp.deserialize(i)
              @ColumnMetaSet << columnmeta_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeDataCheckStat请求参数结构体
      class DescribeDataCheckStatRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param BeginDate: 开始时间,时间戳到秒
        # @type BeginDate: String
        # @param EndDate: 结束时间,时间戳到秒
        # @type EndDate: String

        attr_accessor :ProjectId, :BeginDate, :EndDate

        def initialize(projectid=nil, begindate=nil, enddate=nil)
          @ProjectId = projectid
          @BeginDate = begindate
          @EndDate = enddate
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @BeginDate = params['BeginDate']
          @EndDate = params['EndDate']
        end
      end

      # DescribeDataCheckStat返回参数结构体
      class DescribeDataCheckStatResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DataCheckStat`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DataCheckStat.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDataSourceInfoList请求参数结构体
      class DescribeDataSourceInfoListRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param PageNumber: 页码
        # @type PageNumber: Integer
        # @param PageSize: 页数
        # @type PageSize: Integer
        # @param Filters: 过滤条件(暂不支持)
        # @type Filters: :class:`Tencentcloud::Wedata.v20210820.models.Filter`
        # @param OrderFields: 排序配置
        # @type OrderFields: :class:`Tencentcloud::Wedata.v20210820.models.OrderField`
        # @param Type: 数据源类型,必选(如MYSQL、DLC等)
        # @type Type: String
        # @param DatasourceName: 数据源名称过滤
        # @type DatasourceName: String

        attr_accessor :ProjectId, :PageNumber, :PageSize, :Filters, :OrderFields, :Type, :DatasourceName

        def initialize(projectid=nil, pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, type=nil, datasourcename=nil)
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @Type = type
          @DatasourceName = datasourcename
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = Filter.new
            @Filters.deserialize(params['Filters'])
          end
          unless params['OrderFields'].nil?
            @OrderFields = OrderField.new
            @OrderFields.deserialize(params['OrderFields'])
          end
          @Type = params['Type']
          @DatasourceName = params['DatasourceName']
        end
      end

      # DescribeDataSourceInfoList返回参数结构体
      class DescribeDataSourceInfoListResponse < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总条数。
        # @type TotalCount: Integer
        # @param DatasourceSet: 数据源信息列表。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceSet: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TotalCount, :DatasourceSet, :RequestId

        def initialize(totalcount=nil, datasourceset=nil, requestid=nil)
          @TotalCount = totalcount
          @DatasourceSet = datasourceset
          @RequestId = requestid
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['DatasourceSet'].nil?
            @DatasourceSet = []
            params['DatasourceSet'].each do |i|
              datasourcebaseinfo_tmp = DatasourceBaseInfo.new
              datasourcebaseinfo_tmp.deserialize(i)
              @DatasourceSet << datasourcebaseinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDataSourceList请求参数结构体
      class DescribeDataSourceListRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 页码
        # @type PageNumber: Integer
        # @param PageSize: 返回数量
        # @type PageSize: Integer
        # @param OrderFields: 排序配置
        # @type OrderFields: Array
        # @param Filters: 可选过滤条件,Filter可选配置(参考): "Name": { "type": "string", "description": "数据源名称" }, "Type": { "type": "string", "description": "类型" }, "ClusterId": { "type": "string", "description": "集群id" }, "CategoryId": { "type": "string", "description": "分类,项目或空间id" }
        # @type Filters: Array

        attr_accessor :PageNumber, :PageSize, :OrderFields, :Filters

        def initialize(pagenumber=nil, pagesize=nil, orderfields=nil, filters=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @OrderFields = orderfields
          @Filters = filters
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeDataSourceList返回参数结构体
      class DescribeDataSourceListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据源列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DataSourceInfoPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DataSourceInfoPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDatabaseInfoList请求参数结构体
      class DescribeDatabaseInfoListRequest < TencentCloud::Common::AbstractModel
        # @param Filters: 过滤参数
        # @type Filters: Array
        # @param ConnectionType: 连接类型
        # @type ConnectionType: String

        attr_accessor :Filters, :ConnectionType

        def initialize(filters=nil, connectiontype=nil)
          @Filters = filters
          @ConnectionType = connectiontype
        end

        def deserialize(params)
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          @ConnectionType = params['ConnectionType']
        end
      end

      # DescribeDatabaseInfoList返回参数结构体
      class DescribeDatabaseInfoListResponse < TencentCloud::Common::AbstractModel
        # @param DatabaseInfo: 数据库列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseInfo: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :DatabaseInfo, :RequestId

        def initialize(databaseinfo=nil, requestid=nil)
          @DatabaseInfo = databaseinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['DatabaseInfo'].nil?
            @DatabaseInfo = []
            params['DatabaseInfo'].each do |i|
              databaseinfo_tmp = DatabaseInfo.new
              databaseinfo_tmp.deserialize(i)
              @DatabaseInfo << databaseinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDatabaseMetas请求参数结构体
      class DescribeDatabaseMetasRequest < TencentCloud::Common::AbstractModel
        # @param Filters: 过滤字段,projectIds/msTypes/createTime/modifiedTime
        # @type Filters: Array
        # @param OrderFields: 排序字段,如name
        # @type OrderFields: Array
        # @param PageSize: pagesize
        # @type PageSize: Integer
        # @param PageNumber: pageNumber
        # @type PageNumber: Integer

        attr_accessor :Filters, :OrderFields, :PageSize, :PageNumber

        def initialize(filters=nil, orderfields=nil, pagesize=nil, pagenumber=nil)
          @Filters = filters
          @OrderFields = orderfields
          @PageSize = pagesize
          @PageNumber = pagenumber
        end

        def deserialize(params)
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @PageSize = params['PageSize']
          @PageNumber = params['PageNumber']
        end
      end

      # DescribeDatabaseMetas返回参数结构体
      class DescribeDatabaseMetasResponse < TencentCloud::Common::AbstractModel
        # @param DatabaseMeta: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseMeta: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :DatabaseMeta, :RequestId

        def initialize(databasemeta=nil, requestid=nil)
          @DatabaseMeta = databasemeta
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['DatabaseMeta'].nil?
            @DatabaseMeta = []
            params['DatabaseMeta'].each do |i|
              databasemeta_tmp = DatabaseMeta.new
              databasemeta_tmp.deserialize(i)
              @DatabaseMeta << databasemeta_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDatasource请求参数结构体
      class DescribeDatasourceRequest < TencentCloud::Common::AbstractModel
        # @param Id: 对象唯一ID
        # @type Id: Integer
        # @param Env: production:生产,development开发
        # @type Env: String

        attr_accessor :Id, :Env

        def initialize(id=nil, env=nil)
          @Id = id
          @Env = env
        end

        def deserialize(params)
          @Id = params['Id']
          @Env = params['Env']
        end
      end

      # DescribeDatasource返回参数结构体
      class DescribeDatasourceResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据源对象
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DataSourceInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DataSourceInfo.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDependOpsTasks请求参数结构体
      class DescribeDependOpsTasksRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务Id
        # @type TaskId: String
        # @param Deep: 上游/下游层级1-6级
        # @type Deep: Integer
        # @param Up: 1: 表示查询上游节点;0:表示查询下游节点;2:表示查询上游和下游节点
        # @type Up: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param WorkflowId: 任务工作流id
        # @type WorkflowId: String

        attr_accessor :TaskId, :Deep, :Up, :ProjectId, :WorkflowId

        def initialize(taskid=nil, deep=nil, up=nil, projectid=nil, workflowid=nil)
          @TaskId = taskid
          @Deep = deep
          @Up = up
          @ProjectId = projectid
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @Deep = params['Deep']
          @Up = params['Up']
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeDependOpsTasks返回参数结构体
      class DescribeDependOpsTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 画布任务和链接信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OpsTaskCanvasInfoList`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OpsTaskCanvasInfoList.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDependTaskLists请求参数结构体
      class DescribeDependTaskListsRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: 任务Id列表
        # @type TaskIds: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskIds, :ProjectId

        def initialize(taskids=nil, projectid=nil)
          @TaskIds = taskids
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeDependTaskLists返回参数结构体
      class DescribeDependTaskListsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 删除结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskopsdto_tmp = TaskOpsDto.new
              taskopsdto_tmp.deserialize(i)
              @Data << taskopsdto_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDimensionScore请求参数结构体
      class DescribeDimensionScoreRequest < TencentCloud::Common::AbstractModel
        # @param StatisticsDate: 统计日期 时间戳
        # @type StatisticsDate: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DatasourceId: 数据来源id
        # @type DatasourceId: String
        # @param Filters: 过滤参数
        # @type Filters: Array

        attr_accessor :StatisticsDate, :ProjectId, :DatasourceId, :Filters

        def initialize(statisticsdate=nil, projectid=nil, datasourceid=nil, filters=nil)
          @StatisticsDate = statisticsdate
          @ProjectId = projectid
          @DatasourceId = datasourceid
          @Filters = filters
        end

        def deserialize(params)
          @StatisticsDate = params['StatisticsDate']
          @ProjectId = params['ProjectId']
          @DatasourceId = params['DatasourceId']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeDimensionScore返回参数结构体
      class DescribeDimensionScoreResponse < TencentCloud::Common::AbstractModel
        # @param Data: 维度评分
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DimensionScore`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DimensionScore.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDrInstancePage请求参数结构体
      class DescribeDrInstancePageRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskSource: 任务来源 ADHOC || WORKFLOW
        # @type TaskSource: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param TaskName: 任务名称
        # @type TaskName: String
        # @param StartTime: 提交开始时间 yyyy-MM-dd HH:mm:ss
        # @type StartTime: String
        # @param EndTime: 提交结束时间 yyyy-MM-dd HH:mm:ss
        # @type EndTime: String
        # @param FolderIds: 文件夹id
        # @type FolderIds: Array
        # @param WorkflowIds: 工作流id
        # @type WorkflowIds: Array
        # @param JustMe: 只看我的
        # @type JustMe: Boolean
        # @param TaskTypes: 任务类型
        # @type TaskTypes: Array
        # @param SubmitUsers: 试运行提交人userId列表
        # @type SubmitUsers: Array
        # @param StatusList: 试运行状态
        # @type StatusList: Array

        attr_accessor :ProjectId, :TaskSource, :PageIndex, :PageSize, :TaskName, :StartTime, :EndTime, :FolderIds, :WorkflowIds, :JustMe, :TaskTypes, :SubmitUsers, :StatusList

        def initialize(projectid=nil, tasksource=nil, pageindex=nil, pagesize=nil, taskname=nil, starttime=nil, endtime=nil, folderids=nil, workflowids=nil, justme=nil, tasktypes=nil, submitusers=nil, statuslist=nil)
          @ProjectId = projectid
          @TaskSource = tasksource
          @PageIndex = pageindex
          @PageSize = pagesize
          @TaskName = taskname
          @StartTime = starttime
          @EndTime = endtime
          @FolderIds = folderids
          @WorkflowIds = workflowids
          @JustMe = justme
          @TaskTypes = tasktypes
          @SubmitUsers = submitusers
          @StatusList = statuslist
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskSource = params['TaskSource']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @TaskName = params['TaskName']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @FolderIds = params['FolderIds']
          @WorkflowIds = params['WorkflowIds']
          @JustMe = params['JustMe']
          @TaskTypes = params['TaskTypes']
          @SubmitUsers = params['SubmitUsers']
          @StatusList = params['StatusList']
        end
      end

      # DescribeDrInstancePage返回参数结构体
      class DescribeDrInstancePageResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果集
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DrInstanceOpsDtoPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DrInstanceOpsDtoPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDsFolderTree请求参数结构体
      class DescribeDsFolderTreeRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param FirstLevelPull: 是否一级拉取 true 是
        # false 否
        # @type FirstLevelPull: Boolean
        # @param FolderId: 文件夹ID
        # @type FolderId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param Keyword: 关键字搜索
        # @type Keyword: String
        # @param IncludeWorkflow: 是否包含工作流 true 是
        # false 否
        # @type IncludeWorkflow: Boolean
        # @param IncludeTask: 是否包含任务 true 是
        # false 否
        # @type IncludeTask: Boolean
        # @param IncludeVirtualTask: 是否包含虚拟任务,当 IncludeTask 为 true 的时候,该参数才生效,默认为 true
        # @type IncludeVirtualTask: Boolean
        # @param TaskFolderId: 任务目录id
        # @type TaskFolderId: String
        # @param DisplayType: classification.分类展示  catalog.目录展示
        # @type DisplayType: String
        # @param IncludeTaskFolder: 是否包含任务目录 true 是
        # false 否
        # @type IncludeTaskFolder: Boolean

        attr_accessor :ProjectId, :FirstLevelPull, :FolderId, :WorkflowId, :Keyword, :IncludeWorkflow, :IncludeTask, :IncludeVirtualTask, :TaskFolderId, :DisplayType, :IncludeTaskFolder

        def initialize(projectid=nil, firstlevelpull=nil, folderid=nil, workflowid=nil, keyword=nil, includeworkflow=nil, includetask=nil, includevirtualtask=nil, taskfolderid=nil, displaytype=nil, includetaskfolder=nil)
          @ProjectId = projectid
          @FirstLevelPull = firstlevelpull
          @FolderId = folderid
          @WorkflowId = workflowid
          @Keyword = keyword
          @IncludeWorkflow = includeworkflow
          @IncludeTask = includetask
          @IncludeVirtualTask = includevirtualtask
          @TaskFolderId = taskfolderid
          @DisplayType = displaytype
          @IncludeTaskFolder = includetaskfolder
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FirstLevelPull = params['FirstLevelPull']
          @FolderId = params['FolderId']
          @WorkflowId = params['WorkflowId']
          @Keyword = params['Keyword']
          @IncludeWorkflow = params['IncludeWorkflow']
          @IncludeTask = params['IncludeTask']
          @IncludeVirtualTask = params['IncludeVirtualTask']
          @TaskFolderId = params['TaskFolderId']
          @DisplayType = params['DisplayType']
          @IncludeTaskFolder = params['IncludeTaskFolder']
        end
      end

      # DescribeDsFolderTree返回参数结构体
      class DescribeDsFolderTreeResponse < TencentCloud::Common::AbstractModel
        # @param Data: 统一树结构返回属性列表
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              pathnodedsvo_tmp = PathNodeDsVO.new
              pathnodedsvo_tmp.deserialize(i)
              @Data << pathnodedsvo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDsParentFolderTree请求参数结构体
      class DescribeDsParentFolderTreeRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param FolderId: 文件夹ID
        # @type FolderId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param DisplayType: 任务展示形式, 示例取值
        # -    classification:分类展示
        # -    catalog:目录展示
        # @type DisplayType: String

        attr_accessor :ProjectId, :FolderId, :WorkflowId, :TaskId, :DisplayType

        def initialize(projectid=nil, folderid=nil, workflowid=nil, taskid=nil, displaytype=nil)
          @ProjectId = projectid
          @FolderId = folderid
          @WorkflowId = workflowid
          @TaskId = taskid
          @DisplayType = displaytype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderId = params['FolderId']
          @WorkflowId = params['WorkflowId']
          @TaskId = params['TaskId']
          @DisplayType = params['DisplayType']
        end
      end

      # DescribeDsParentFolderTree返回参数结构体
      class DescribeDsParentFolderTreeResponse < TencentCloud::Common::AbstractModel
        # @param Data: 统一树结构返回属性列表
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              pathnodedsvo_tmp = PathNodeDsVO.new
              pathnodedsvo_tmp.deserialize(i)
              @Data << pathnodedsvo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDutyScheduleDetails请求参数结构体
      class DescribeDutyScheduleDetailsRequest < TencentCloud::Common::AbstractModel
        # @param Id: 值班表id
        # @type Id: Integer
        # @param QueryDate: 查询时间
        # @type QueryDate: String
        # @param Filters: 扩展字段
        # @type Filters: Array

        attr_accessor :Id, :QueryDate, :Filters

        def initialize(id=nil, querydate=nil, filters=nil)
          @Id = id
          @QueryDate = querydate
          @Filters = filters
        end

        def deserialize(params)
          @Id = params['Id']
          @QueryDate = params['QueryDate']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeDutyScheduleDetails返回参数结构体
      class DescribeDutyScheduleDetailsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 值班日历信息
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              dutyscheduledetailsinfo_tmp = DutyScheduleDetailsInfo.new
              dutyscheduledetailsinfo_tmp.deserialize(i)
              @Data << dutyscheduledetailsinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeDutyScheduleList请求参数结构体
      class DescribeDutyScheduleListRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 页码,默认1
        # @type PageNumber: Integer
        # @param PageSize: 页大小,默认10
        # @type PageSize: Integer
        # @param Name: 值班表名称
        # @type Name: String

        attr_accessor :PageNumber, :PageSize, :Name

        def initialize(pagenumber=nil, pagesize=nil, name=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Name = name
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @Name = params['Name']
        end
      end

      # DescribeDutyScheduleList返回参数结构体
      class DescribeDutyScheduleListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 无
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DutySchedule`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DutySchedule.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeEventCases请求参数结构体
      class DescribeEventCasesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param Category: 事件实例目录,示例取值:
        # - 已过期: expired
        # - 未过期: consuming
        # - 全部: all
        # @type Category: String
        # @param PageNumber: 页码
        # @type PageNumber: Integer
        # @param PageSize: 每页数目
        # @type PageSize: Integer
        # @param EventName: 事件名称
        # @type EventName: String
        # @param EventType: 事件类型
        # @type EventType: String
        # @param EventSubType: 事件分割类型
        # @type EventSubType: String
        # @param EventBroadcastType: 事件广播类型
        # @type EventBroadcastType: String
        # @param Status: 事件实例状态,示例取值:
        # - 已消费: COMSUMED
        # - 已过期: EXPIRED
        # - 待消费: ACTIVE
        # - 消费中: CONSUMING
        # @type Status: String
        # @param CreationTimeStart: 事件实例最小创建时间
        # @type CreationTimeStart: String
        # @param CreationTimeEnd: 事件实例最大创建时间
        # @type CreationTimeEnd: String
        # @param EventTriggeredTimeStart: 事件实例最小触发时间
        # @type EventTriggeredTimeStart: String
        # @param EventTriggeredTimeEnd: 事件实例最大触发时间
        # @type EventTriggeredTimeEnd: String
        # @param LogTimeStart: 事件实例最小消费时间
        # @type LogTimeStart: String
        # @param LogTimeEnd: 事件实例最大消费时间
        # @type LogTimeEnd: String
        # @param Dimension: 事件实例数据时间
        # @type Dimension: String
        # @param TimeToLive: 事件实例有效时间
        # @type TimeToLive: String
        # @param SortItem: 排序字段
        # @type SortItem: String
        # @param SortType: 排序顺序
        # @type SortType: String

        attr_accessor :ProjectId, :Category, :PageNumber, :PageSize, :EventName, :EventType, :EventSubType, :EventBroadcastType, :Status, :CreationTimeStart, :CreationTimeEnd, :EventTriggeredTimeStart, :EventTriggeredTimeEnd, :LogTimeStart, :LogTimeEnd, :Dimension, :TimeToLive, :SortItem, :SortType
        extend Gem::Deprecate
        deprecate :EventType, :none, 2024, 9
        deprecate :EventType=, :none, 2024, 9
        deprecate :EventBroadcastType, :none, 2024, 9
        deprecate :EventBroadcastType=, :none, 2024, 9
        deprecate :Status, :none, 2024, 9
        deprecate :Status=, :none, 2024, 9

        def initialize(projectid=nil, category=nil, pagenumber=nil, pagesize=nil, eventname=nil, eventtype=nil, eventsubtype=nil, eventbroadcasttype=nil, status=nil, creationtimestart=nil, creationtimeend=nil, eventtriggeredtimestart=nil, eventtriggeredtimeend=nil, logtimestart=nil, logtimeend=nil, dimension=nil, timetolive=nil, sortitem=nil, sorttype=nil)
          @ProjectId = projectid
          @Category = category
          @PageNumber = pagenumber
          @PageSize = pagesize
          @EventName = eventname
          @EventType = eventtype
          @EventSubType = eventsubtype
          @EventBroadcastType = eventbroadcasttype
          @Status = status
          @CreationTimeStart = creationtimestart
          @CreationTimeEnd = creationtimeend
          @EventTriggeredTimeStart = eventtriggeredtimestart
          @EventTriggeredTimeEnd = eventtriggeredtimeend
          @LogTimeStart = logtimestart
          @LogTimeEnd = logtimeend
          @Dimension = dimension
          @TimeToLive = timetolive
          @SortItem = sortitem
          @SortType = sorttype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Category = params['Category']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @EventName = params['EventName']
          @EventType = params['EventType']
          @EventSubType = params['EventSubType']
          @EventBroadcastType = params['EventBroadcastType']
          @Status = params['Status']
          @CreationTimeStart = params['CreationTimeStart']
          @CreationTimeEnd = params['CreationTimeEnd']
          @EventTriggeredTimeStart = params['EventTriggeredTimeStart']
          @EventTriggeredTimeEnd = params['EventTriggeredTimeEnd']
          @LogTimeStart = params['LogTimeStart']
          @LogTimeEnd = params['LogTimeEnd']
          @Dimension = params['Dimension']
          @TimeToLive = params['TimeToLive']
          @SortItem = params['SortItem']
          @SortType = params['SortType']
        end
      end

      # DescribeEventCases返回参数结构体
      class DescribeEventCasesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 事件实例分页查询结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.EventCaseAuditLogVOCollection`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = EventCaseAuditLogVOCollection.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeEventConsumeTasks请求参数结构体
      class DescribeEventConsumeTasksRequest < TencentCloud::Common::AbstractModel
        # @param EventCaseId: 事件实例ID
        # @type EventCaseId: String
        # @param PageNumber: 页码
        # @type PageNumber: Integer
        # @param PageSize: 每页数目
        # @type PageSize: Integer

        attr_accessor :EventCaseId, :PageNumber, :PageSize

        def initialize(eventcaseid=nil, pagenumber=nil, pagesize=nil)
          @EventCaseId = eventcaseid
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          @EventCaseId = params['EventCaseId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeEventConsumeTasks返回参数结构体
      class DescribeEventConsumeTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 事件消费任务记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.EventCaseConsumeLogOptDtoCollection`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = EventCaseConsumeLogOptDtoCollection.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeEvent请求参数结构体
      class DescribeEventRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param EventName: 事件名称
        # @type EventName: String

        attr_accessor :ProjectId, :EventName

        def initialize(projectid=nil, eventname=nil)
          @ProjectId = projectid
          @EventName = eventname
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @EventName = params['EventName']
        end
      end

      # DescribeEvent返回参数结构体
      class DescribeEventResponse < TencentCloud::Common::AbstractModel
        # @param Data: 事件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.EventOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = EventOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeExecStrategy请求参数结构体
      class DescribeExecStrategyRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组Id
        # @type RuleGroupId: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :RuleGroupId, :ProjectId

        def initialize(rulegroupid=nil, projectid=nil)
          @RuleGroupId = rulegroupid
          @ProjectId = projectid
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeExecStrategy返回参数结构体
      class DescribeExecStrategyResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组执行策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupExecStrategy`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupExecStrategy.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeFieldBasicInfo请求参数结构体
      class DescribeFieldBasicInfoRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤字段
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
        end
      end

      # DescribeFieldBasicInfo返回参数结构体
      class DescribeFieldBasicInfoResponse < TencentCloud::Common::AbstractModel
        # @param ColumnBasicInfoList: 字段元数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnBasicInfoList: Array
        # @param TotalCount: 总条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :ColumnBasicInfoList, :TotalCount, :RequestId

        def initialize(columnbasicinfolist=nil, totalcount=nil, requestid=nil)
          @ColumnBasicInfoList = columnbasicinfolist
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['ColumnBasicInfoList'].nil?
            @ColumnBasicInfoList = []
            params['ColumnBasicInfoList'].each do |i|
              columnbasicinfo_tmp = ColumnBasicInfo.new
              columnbasicinfo_tmp.deserialize(i)
              @ColumnBasicInfoList << columnbasicinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # 文件夹分页信息
      class DescribeFolderWorkflowListData < TencentCloud::Common::AbstractModel
        # @param Items: 工作流信息列表
        # @type Items: Array
        # @param TotalCount: 总条数
        # @type TotalCount: Integer
        # @param PageNumber: 页号
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # @type PageSize: Integer

        attr_accessor :Items, :TotalCount, :PageNumber, :PageSize

        def initialize(items=nil, totalcount=nil, pagenumber=nil, pagesize=nil)
          @Items = items
          @TotalCount = totalcount
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              workflow_tmp = Workflow.new
              workflow_tmp.deserialize(i)
              @Items << workflow_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeFolderWorkflowList请求参数结构体
      class DescribeFolderWorkflowListRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param ParentsFolderId: 父文件夹ID
        # @type ParentsFolderId: String
        # @param KeyWords: 关键字
        # @type KeyWords: String
        # @param PageNumber: 页码,默认1
        # @type PageNumber: Integer
        # @param PageSize: 页大小,默认10
        # @type PageSize: Integer

        attr_accessor :ProjectId, :ParentsFolderId, :KeyWords, :PageNumber, :PageSize

        def initialize(projectid=nil, parentsfolderid=nil, keywords=nil, pagenumber=nil, pagesize=nil)
          @ProjectId = projectid
          @ParentsFolderId = parentsfolderid
          @KeyWords = keywords
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ParentsFolderId = params['ParentsFolderId']
          @KeyWords = params['KeyWords']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeFolderWorkflowList返回参数结构体
      class DescribeFolderWorkflowListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DescribeFolderWorkflowListData`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DescribeFolderWorkflowListData.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeFunctionKinds请求参数结构体
      class DescribeFunctionKindsRequest < TencentCloud::Common::AbstractModel


        def initialize()
        end

        def deserialize(params)
        end
      end

      # DescribeFunctionKinds返回参数结构体
      class DescribeFunctionKindsResponse < TencentCloud::Common::AbstractModel
        # @param Kinds: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Kinds: Array
        # @param ErrorMessage: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Kinds, :ErrorMessage, :RequestId

        def initialize(kinds=nil, errormessage=nil, requestid=nil)
          @Kinds = kinds
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Kinds'].nil?
            @Kinds = []
            params['Kinds'].each do |i|
              functiontypeorkind_tmp = FunctionTypeOrKind.new
              functiontypeorkind_tmp.deserialize(i)
              @Kinds << functiontypeorkind_tmp
            end
          end
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # DescribeFunctionTypes请求参数结构体
      class DescribeFunctionTypesRequest < TencentCloud::Common::AbstractModel


        def initialize()
        end

        def deserialize(params)
        end
      end

      # DescribeFunctionTypes返回参数结构体
      class DescribeFunctionTypesResponse < TencentCloud::Common::AbstractModel
        # @param Types: 类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Types: Array
        # @param ErrorMessage: 错误信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Types, :ErrorMessage, :RequestId

        def initialize(types=nil, errormessage=nil, requestid=nil)
          @Types = types
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Types'].nil?
            @Types = []
            params['Types'].each do |i|
              functiontypeorkind_tmp = FunctionTypeOrKind.new
              functiontypeorkind_tmp.deserialize(i)
              @Types << functiontypeorkind_tmp
            end
          end
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceByCycle请求参数结构体
      class DescribeInstanceByCycleRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 1
        # @type ProjectId: String
        # @param TenantId: 1
        # @type TenantId: String

        attr_accessor :ProjectId, :TenantId

        def initialize(projectid=nil, tenantid=nil)
          @ProjectId = projectid
          @TenantId = tenantid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TenantId = params['TenantId']
        end
      end

      # DescribeInstanceByCycle返回参数结构体
      class DescribeInstanceByCycleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 统计结果
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskbycycle_tmp = TaskByCycle.new
              taskbycycle_tmp.deserialize(i)
              @Data << taskbycycle_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceLastLog请求参数结构体
      class DescribeInstanceLastLogRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String

        attr_accessor :TaskId, :CurRunDate

        def initialize(taskid=nil, currundate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
        end
      end

      # DescribeInstanceLastLog返回参数结构体
      class DescribeInstanceLastLogResponse < TencentCloud::Common::AbstractModel
        # @param Data: 日志
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceList请求参数结构体
      class DescribeInstanceListRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目/工作空间id
        # @type ProjectId: String
        # @param PageIndex: 页码
        # @type PageIndex: Integer
        # @param PageSize: 一页展示的条数
        # @type PageSize: Integer
        # @param CycleList: 周期列表(如天,一次性),可选
        # @type CycleList: Array
        # @param OwnerList: 责任人
        # @type OwnerList: Array
        # @param InstanceType: 跟之前保持一致
        # @type InstanceType: String
        # @param Sort: 排序顺序(asc,desc)
        # @type Sort: String
        # @param SortCol: 排序列(costTime 运行耗时,startTime 开始时间,state 实例状态,curRunDate 数据时间)
        # @type SortCol: String
        # @param TaskTypeList: 类型列表(如python任务类型:30
        # pyspark任务类型:31
        # hivesql任务类型:34
        # shell任务类型:35
        # sparksql任务类型:36 jdbcsql任务类型:21 dlc任务类型:32),可选
        # @type TaskTypeList: Array
        # @param StateList: 状态列表(如成功 2,正在执行 1),可选
        # @type StateList: Array
        # @param Keyword: 任务名称
        # @type Keyword: String

        attr_accessor :ProjectId, :PageIndex, :PageSize, :CycleList, :OwnerList, :InstanceType, :Sort, :SortCol, :TaskTypeList, :StateList, :Keyword

        def initialize(projectid=nil, pageindex=nil, pagesize=nil, cyclelist=nil, ownerlist=nil, instancetype=nil, sort=nil, sortcol=nil, tasktypelist=nil, statelist=nil, keyword=nil)
          @ProjectId = projectid
          @PageIndex = pageindex
          @PageSize = pagesize
          @CycleList = cyclelist
          @OwnerList = ownerlist
          @InstanceType = instancetype
          @Sort = sort
          @SortCol = sortcol
          @TaskTypeList = tasktypelist
          @StateList = statelist
          @Keyword = keyword
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @CycleList = params['CycleList']
          @OwnerList = params['OwnerList']
          @InstanceType = params['InstanceType']
          @Sort = params['Sort']
          @SortCol = params['SortCol']
          @TaskTypeList = params['TaskTypeList']
          @StateList = params['StateList']
          @Keyword = params['Keyword']
        end
      end

      # DescribeInstanceList返回参数结构体
      class DescribeInstanceListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: String
        # @param InstanceList: 实例列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceList: Array
        # @param TotalCount: 总条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :InstanceList, :TotalCount, :RequestId

        def initialize(data=nil, instancelist=nil, totalcount=nil, requestid=nil)
          @Data = data
          @InstanceList = instancelist
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          unless params['InstanceList'].nil?
            @InstanceList = []
            params['InstanceList'].each do |i|
              instancelist_tmp = InstanceList.new
              instancelist_tmp.deserialize(i)
              @InstanceList << instancelist_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceLogDetail请求参数结构体
      class DescribeInstanceLogDetailRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String
        # @param BrokerIp: 服务器Ip
        # @type BrokerIp: String
        # @param OriginFileName: 文件Name
        # @type OriginFileName: String
        # @param StartCount: 起始行
        # @type StartCount: Integer
        # @param LineCount: 每次查询行数
        # @type LineCount: Integer

        attr_accessor :ProjectId, :TaskId, :CurRunDate, :BrokerIp, :OriginFileName, :StartCount, :LineCount

        def initialize(projectid=nil, taskid=nil, currundate=nil, brokerip=nil, originfilename=nil, startcount=nil, linecount=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @CurRunDate = currundate
          @BrokerIp = brokerip
          @OriginFileName = originfilename
          @StartCount = startcount
          @LineCount = linecount
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @BrokerIp = params['BrokerIp']
          @OriginFileName = params['OriginFileName']
          @StartCount = params['StartCount']
          @LineCount = params['LineCount']
        end
      end

      # DescribeInstanceLogDetail返回参数结构体
      class DescribeInstanceLogDetailResponse < TencentCloud::Common::AbstractModel
        # @param Data: 日志结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.InstanceLogInfoOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = InstanceLogInfoOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceLogFile请求参数结构体
      class DescribeInstanceLogFileRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param CurRunDate: 实例数据时间
        # @type CurRunDate: String
        # @param BrokerIp: 执行机IP
        # @type BrokerIp: String
        # @param OriginFileName: 日志文件名
        # @type OriginFileName: String

        attr_accessor :ProjectId, :TaskId, :CurRunDate, :BrokerIp, :OriginFileName

        def initialize(projectid=nil, taskid=nil, currundate=nil, brokerip=nil, originfilename=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @CurRunDate = currundate
          @BrokerIp = brokerip
          @OriginFileName = originfilename
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @BrokerIp = params['BrokerIp']
          @OriginFileName = params['OriginFileName']
        end
      end

      # DescribeInstanceLogFile返回参数结构体
      class DescribeInstanceLogFileResponse < TencentCloud::Common::AbstractModel
        # @param Data: 下载文件详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.InstanceDownloadLogInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = InstanceDownloadLogInfo.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceLogList请求参数结构体
      class DescribeInstanceLogListRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String

        attr_accessor :TaskId, :CurRunDate

        def initialize(taskid=nil, currundate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
        end
      end

      # DescribeInstanceLogList返回参数结构体
      class DescribeInstanceLogListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 日志列表
        # @type Data: String
        # @param InstanceLogList: 日志列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLogList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :InstanceLogList, :RequestId

        def initialize(data=nil, instanceloglist=nil, requestid=nil)
          @Data = data
          @InstanceLogList = instanceloglist
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          unless params['InstanceLogList'].nil?
            @InstanceLogList = []
            params['InstanceLogList'].each do |i|
              instanceloglist_tmp = InstanceLogList.new
              instanceloglist_tmp.deserialize(i)
              @InstanceLogList << instanceloglist_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeInstanceLog请求参数结构体
      class DescribeInstanceLogRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String
        # @param BrokerIp: 服务器Ip
        # @type BrokerIp: String
        # @param OriginFileName: 文件Name
        # @type OriginFileName: String

        attr_accessor :TaskId, :CurRunDate, :BrokerIp, :OriginFileName

        def initialize(taskid=nil, currundate=nil, brokerip=nil, originfilename=nil)
          @TaskId = taskid
          @CurRunDate = currundate
          @BrokerIp = brokerip
          @OriginFileName = originfilename
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @BrokerIp = params['BrokerIp']
          @OriginFileName = params['OriginFileName']
        end
      end

      # DescribeInstanceLog返回参数结构体
      class DescribeInstanceLogResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回结果
        # @type Data: String
        # @param InstanceLogInfo: 返回结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLogInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationInstanceLog`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :InstanceLogInfo, :RequestId

        def initialize(data=nil, instanceloginfo=nil, requestid=nil)
          @Data = data
          @InstanceLogInfo = instanceloginfo
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          unless params['InstanceLogInfo'].nil?
            @InstanceLogInfo = IntegrationInstanceLog.new
            @InstanceLogInfo.deserialize(params['InstanceLogInfo'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationNode请求参数结构体
      class DescribeIntegrationNodeRequest < TencentCloud::Common::AbstractModel
        # @param Id: 节点id
        # @type Id: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型,201为实时任务,202为离线任务
        # @type TaskType: Integer

        attr_accessor :Id, :ProjectId, :TaskType

        def initialize(id=nil, projectid=nil, tasktype=nil)
          @Id = id
          @ProjectId = projectid
          @TaskType = tasktype
        end

        def deserialize(params)
          @Id = params['Id']
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
        end
      end

      # DescribeIntegrationNode返回参数结构体
      class DescribeIntegrationNodeResponse < TencentCloud::Common::AbstractModel
        # @param NodeInfo: 节点信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationNodeInfo`
        # @param SourceCheckFlag: 上游节点是否已经修改。true 已修改,需要提示;false 没有修改
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceCheckFlag: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :NodeInfo, :SourceCheckFlag, :RequestId

        def initialize(nodeinfo=nil, sourcecheckflag=nil, requestid=nil)
          @NodeInfo = nodeinfo
          @SourceCheckFlag = sourcecheckflag
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['NodeInfo'].nil?
            @NodeInfo = IntegrationNodeInfo.new
            @NodeInfo.deserialize(params['NodeInfo'])
          end
          @SourceCheckFlag = params['SourceCheckFlag']
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationStatisticsInstanceTrend请求参数结构体
      class DescribeIntegrationStatisticsInstanceTrendRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型(实时:201,离线:202)
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param QueryDate: 查询日期
        # @type QueryDate: String
        # @param ExecutorGroupId: 资源组id
        # @type ExecutorGroupId: String

        attr_accessor :TaskType, :ProjectId, :QueryDate, :ExecutorGroupId

        def initialize(tasktype=nil, projectid=nil, querydate=nil, executorgroupid=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @QueryDate = querydate
          @ExecutorGroupId = executorgroupid
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @QueryDate = params['QueryDate']
          @ExecutorGroupId = params['ExecutorGroupId']
        end
      end

      # DescribeIntegrationStatisticsInstanceTrend返回参数结构体
      class DescribeIntegrationStatisticsInstanceTrendResponse < TencentCloud::Common::AbstractModel
        # @param TrendsData: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TrendsData: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TrendsData, :RequestId

        def initialize(trendsdata=nil, requestid=nil)
          @TrendsData = trendsdata
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TrendsData'].nil?
            @TrendsData = []
            params['TrendsData'].each do |i|
              integrationstatisticstrendresult_tmp = IntegrationStatisticsTrendResult.new
              integrationstatisticstrendresult_tmp.deserialize(i)
              @TrendsData << integrationstatisticstrendresult_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationStatisticsRecordsTrend请求参数结构体
      class DescribeIntegrationStatisticsRecordsTrendRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型(实时:201,离线:202)
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param QueryDate: 查询日期
        # @type QueryDate: String

        attr_accessor :TaskType, :ProjectId, :QueryDate

        def initialize(tasktype=nil, projectid=nil, querydate=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @QueryDate = querydate
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @QueryDate = params['QueryDate']
        end
      end

      # DescribeIntegrationStatisticsRecordsTrend返回参数结构体
      class DescribeIntegrationStatisticsRecordsTrendResponse < TencentCloud::Common::AbstractModel
        # @param TrendsData: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TrendsData: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TrendsData, :RequestId

        def initialize(trendsdata=nil, requestid=nil)
          @TrendsData = trendsdata
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TrendsData'].nil?
            @TrendsData = []
            params['TrendsData'].each do |i|
              integrationstatisticstrendresult_tmp = IntegrationStatisticsTrendResult.new
              integrationstatisticstrendresult_tmp.deserialize(i)
              @TrendsData << integrationstatisticstrendresult_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationStatistics请求参数结构体
      class DescribeIntegrationStatisticsRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型(实时:201,离线:202)
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param QueryDate: 查询日期
        # @type QueryDate: String

        attr_accessor :TaskType, :ProjectId, :QueryDate

        def initialize(tasktype=nil, projectid=nil, querydate=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @QueryDate = querydate
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @QueryDate = params['QueryDate']
        end
      end

      # DescribeIntegrationStatistics返回参数结构体
      class DescribeIntegrationStatisticsResponse < TencentCloud::Common::AbstractModel
        # @param TotalTask: 总任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalTask: Integer
        # @param ProdTask: 生产态任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProdTask: Integer
        # @param DevTask: 开发态任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DevTask: Integer
        # @param TotalReadRecords: 总读取条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalReadRecords: Integer
        # @param TotalWriteRecords: 总写入条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalWriteRecords: Integer
        # @param TotalErrorRecords: 总脏数据条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalErrorRecords: Integer
        # @param TotalAlarmEvent: 总告警事件数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalAlarmEvent: Integer
        # @param IncreaseReadRecords: 当天读取增长条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IncreaseReadRecords: Integer
        # @param IncreaseWriteRecords: 当天写入增长条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IncreaseWriteRecords: Integer
        # @param IncreaseErrorRecords: 当天脏数据增长条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IncreaseErrorRecords: Integer
        # @param IncreaseAlarmEvent: 当天告警事件增长数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IncreaseAlarmEvent: Integer
        # @param AlarmEvent: 告警事件统计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmEvent: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TotalTask, :ProdTask, :DevTask, :TotalReadRecords, :TotalWriteRecords, :TotalErrorRecords, :TotalAlarmEvent, :IncreaseReadRecords, :IncreaseWriteRecords, :IncreaseErrorRecords, :IncreaseAlarmEvent, :AlarmEvent, :RequestId

        def initialize(totaltask=nil, prodtask=nil, devtask=nil, totalreadrecords=nil, totalwriterecords=nil, totalerrorrecords=nil, totalalarmevent=nil, increasereadrecords=nil, increasewriterecords=nil, increaseerrorrecords=nil, increasealarmevent=nil, alarmevent=nil, requestid=nil)
          @TotalTask = totaltask
          @ProdTask = prodtask
          @DevTask = devtask
          @TotalReadRecords = totalreadrecords
          @TotalWriteRecords = totalwriterecords
          @TotalErrorRecords = totalerrorrecords
          @TotalAlarmEvent = totalalarmevent
          @IncreaseReadRecords = increasereadrecords
          @IncreaseWriteRecords = increasewriterecords
          @IncreaseErrorRecords = increaseerrorrecords
          @IncreaseAlarmEvent = increasealarmevent
          @AlarmEvent = alarmevent
          @RequestId = requestid
        end

        def deserialize(params)
          @TotalTask = params['TotalTask']
          @ProdTask = params['ProdTask']
          @DevTask = params['DevTask']
          @TotalReadRecords = params['TotalReadRecords']
          @TotalWriteRecords = params['TotalWriteRecords']
          @TotalErrorRecords = params['TotalErrorRecords']
          @TotalAlarmEvent = params['TotalAlarmEvent']
          @IncreaseReadRecords = params['IncreaseReadRecords']
          @IncreaseWriteRecords = params['IncreaseWriteRecords']
          @IncreaseErrorRecords = params['IncreaseErrorRecords']
          @IncreaseAlarmEvent = params['IncreaseAlarmEvent']
          @AlarmEvent = params['AlarmEvent']
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationStatisticsTaskStatus请求参数结构体
      class DescribeIntegrationStatisticsTaskStatusRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型(实时:201,离线:202)
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param QueryDate: 查询日期
        # @type QueryDate: String
        # @param ExecutorGroupId: 资源组id
        # @type ExecutorGroupId: String

        attr_accessor :TaskType, :ProjectId, :QueryDate, :ExecutorGroupId

        def initialize(tasktype=nil, projectid=nil, querydate=nil, executorgroupid=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @QueryDate = querydate
          @ExecutorGroupId = executorgroupid
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @QueryDate = params['QueryDate']
          @ExecutorGroupId = params['ExecutorGroupId']
        end
      end

      # DescribeIntegrationStatisticsTaskStatus返回参数结构体
      class DescribeIntegrationStatisticsTaskStatusResponse < TencentCloud::Common::AbstractModel
        # @param StatusData: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatusData: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :StatusData, :RequestId

        def initialize(statusdata=nil, requestid=nil)
          @StatusData = statusdata
          @RequestId = requestid
        end

        def deserialize(params)
          @StatusData = params['StatusData']
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationStatisticsTaskStatusTrend请求参数结构体
      class DescribeIntegrationStatisticsTaskStatusTrendRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 任务类型(实时:201,离线:202)
        # @type TaskType: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param QueryDate: 查询日期
        # @type QueryDate: String
        # @param ExecutorGroupId: 资源组id
        # @type ExecutorGroupId: String

        attr_accessor :TaskType, :ProjectId, :QueryDate, :ExecutorGroupId

        def initialize(tasktype=nil, projectid=nil, querydate=nil, executorgroupid=nil)
          @TaskType = tasktype
          @ProjectId = projectid
          @QueryDate = querydate
          @ExecutorGroupId = executorgroupid
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @ProjectId = params['ProjectId']
          @QueryDate = params['QueryDate']
          @ExecutorGroupId = params['ExecutorGroupId']
        end
      end

      # DescribeIntegrationStatisticsTaskStatusTrend返回参数结构体
      class DescribeIntegrationStatisticsTaskStatusTrendResponse < TencentCloud::Common::AbstractModel
        # @param TrendsData: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TrendsData: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TrendsData, :RequestId

        def initialize(trendsdata=nil, requestid=nil)
          @TrendsData = trendsdata
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TrendsData'].nil?
            @TrendsData = []
            params['TrendsData'].each do |i|
              integrationstatisticstrendresult_tmp = IntegrationStatisticsTrendResult.new
              integrationstatisticstrendresult_tmp.deserialize(i)
              @TrendsData << integrationstatisticstrendresult_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationTask请求参数结构体
      class DescribeIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型,201: 实时集成任务,   202:离线集成任务,不传默认值为201 实时任务类型
        # @type TaskType: Integer
        # @param InstanceVersion: 提交版本号
        # @type InstanceVersion: Integer

        attr_accessor :TaskId, :ProjectId, :TaskType, :InstanceVersion

        def initialize(taskid=nil, projectid=nil, tasktype=nil, instanceversion=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @TaskType = tasktype
          @InstanceVersion = instanceversion
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
          @InstanceVersion = params['InstanceVersion']
        end
      end

      # DescribeIntegrationTask返回参数结构体
      class DescribeIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @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: String

        attr_accessor :TaskInfo, :AgentStatus, :TaskVersion, :RequestId

        def initialize(taskinfo=nil, agentstatus=nil, taskversion=nil, requestid=nil)
          @TaskInfo = taskinfo
          @AgentStatus = agentstatus
          @TaskVersion = taskversion
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TaskInfo'].nil?
            @TaskInfo = IntegrationTaskInfo.new
            @TaskInfo.deserialize(params['TaskInfo'])
          end
          unless params['AgentStatus'].nil?
            @AgentStatus = AgentStatus.new
            @AgentStatus.deserialize(params['AgentStatus'])
          end
          unless params['TaskVersion'].nil?
            @TaskVersion = TaskVersionInstance.new
            @TaskVersion.deserialize(params['TaskVersion'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationTasks请求参数结构体
      class DescribeIntegrationTasksRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param PageNumber: 分页第n页
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 查询filter;默认查询任务的开发态,如需查询生产态任务需添加{"Values":["true"],"Name":"ProductionState"};如需查询查询任务状态需要查询生产态任务列表
        # @type Filters: Array
        # @param OrderFields: 排序字段信息
        # @type OrderFields: Array
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param TaskType: 201. 实时同步, 202. 离线同步 默认实时
        # @type TaskType: Integer

        attr_accessor :ProjectId, :PageNumber, :PageSize, :Filters, :OrderFields, :StartTime, :EndTime, :TaskType

        def initialize(projectid=nil, pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, starttime=nil, endtime=nil, tasktype=nil)
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @StartTime = starttime
          @EndTime = endtime
          @TaskType = tasktype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskType = params['TaskType']
        end
      end

      # DescribeIntegrationTasks返回参数结构体
      class DescribeIntegrationTasksResponse < TencentCloud::Common::AbstractModel
        # @param TaskInfoSet: 任务列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskInfoSet: Array
        # @param TotalCount: 任务总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskInfoSet, :TotalCount, :RequestId

        def initialize(taskinfoset=nil, totalcount=nil, requestid=nil)
          @TaskInfoSet = taskinfoset
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TaskInfoSet'].nil?
            @TaskInfoSet = []
            params['TaskInfoSet'].each do |i|
              integrationtaskinfo_tmp = IntegrationTaskInfo.new
              integrationtaskinfo_tmp.deserialize(i)
              @TaskInfoSet << integrationtaskinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeIntegrationVersionNodesInfo请求参数结构体
      class DescribeIntegrationVersionNodesInfoRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskVersionPath: 该任务选定版本的存储路径:
        # DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 TaskInfo.TaskExt.Properties 下 Base64.encode($region | $bucket | $ftp.file.name) 值
        # @type TaskVersionPath: String
        # @param TaskVersion: 该任务选定版本id:
        # DescribeDsTaskVersionList 或者 DescribeDsTaskVersionInfo 返回的对应的 VersionId 取值
        # @type TaskVersion: String

        attr_accessor :TaskId, :ProjectId, :TaskVersionPath, :TaskVersion

        def initialize(taskid=nil, projectid=nil, taskversionpath=nil, taskversion=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @TaskVersionPath = taskversionpath
          @TaskVersion = taskversion
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @TaskVersionPath = params['TaskVersionPath']
          @TaskVersion = params['TaskVersion']
        end
      end

      # DescribeIntegrationVersionNodesInfo返回参数结构体
      class DescribeIntegrationVersionNodesInfoResponse < TencentCloud::Common::AbstractModel
        # @param Nodes: 任务节点信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Nodes: Array
        # @param Mappings: 任务映射信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Mappings: Array
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Nodes, :Mappings, :TaskId, :RequestId

        def initialize(nodes=nil, mappings=nil, taskid=nil, requestid=nil)
          @Nodes = nodes
          @Mappings = mappings
          @TaskId = taskid
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Nodes'].nil?
            @Nodes = []
            params['Nodes'].each do |i|
              integrationnodeinfo_tmp = IntegrationNodeInfo.new
              integrationnodeinfo_tmp.deserialize(i)
              @Nodes << integrationnodeinfo_tmp
            end
          end
          unless params['Mappings'].nil?
            @Mappings = []
            params['Mappings'].each do |i|
              integrationnodemapping_tmp = IntegrationNodeMapping.new
              integrationnodemapping_tmp.deserialize(i)
              @Mappings << integrationnodemapping_tmp
            end
          end
          @TaskId = params['TaskId']
          @RequestId = params['RequestId']
        end
      end

      # DescribeOfflineTaskToken请求参数结构体
      class DescribeOfflineTaskTokenRequest < TencentCloud::Common::AbstractModel


        def initialize()
        end

        def deserialize(params)
        end
      end

      # DescribeOfflineTaskToken返回参数结构体
      class DescribeOfflineTaskTokenResponse < TencentCloud::Common::AbstractModel
        # @param Token: 长连接临时token
        # @type Token: String
        # @param Data: 长连接临时token。与Token相同含义,优先取Data,Data为空时,取Token。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Token, :Data, :RequestId

        def initialize(token=nil, data=nil, requestid=nil)
          @Token = token
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Token = params['Token']
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DescribeOperateOpsTasks请求参数结构体
      class DescribeOperateOpsTasksRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param FolderIdList: 文件夹id,多个文件夹以逗号分隔
        # @type FolderIdList: String
        # @param WorkFlowIdList: 工作流id,多个工作流id之间以英文字符逗号分隔
        # @type WorkFlowIdList: String
        # @param WorkFlowNameList: 工作流名称,多个工作流名称之间以英文字符逗号分隔
        # @type WorkFlowNameList: String
        # @param TaskNameList: 任务名称,多个任务名称之间以英文字符逗号分隔
        # @type TaskNameList: String
        # @param TaskIdList: 任务id,多个任务id之间以英文字符逗号分隔
        # @type TaskIdList: String
        # @param PageNumber: 页号
        # @type PageNumber: String
        # @param PageSize: 分页大小
        # @type PageSize: String
        # @param SortItem: 排序字段,支持字段为FirstSubmitTime和FirstRunTime,标识最近提交和首次执行事件
        # @type SortItem: String
        # @param SortType: 排序类型。两种取值 DESC、ASC
        # @type SortType: String
        # @param InChargeList: 责任人,多个责任人之间以英文字符逗号分隔
        # @type InChargeList: String
        # @param TaskTypeIdList: 任务类型Id字符串,多个任务类型id之间以英文字符逗号分隔
        # @type TaskTypeIdList: String
        # @param StatusList: 任务状态字符串,多个任务状态之间以英文字符逗号分隔
        # @type StatusList: String
        # @param TaskCycleUnitList: 任务周期类型字符串,多个任务周期之间以英文字符逗号分隔
        # @type TaskCycleUnitList: String
        # @param ProductNameList: 任务所属产品类型
        # @type ProductNameList: String
        # @param SourceServiceId: 数据源id或(仅针对离线同步任务)来源数据源id
        # @type SourceServiceId: String
        # @param SourceServiceType: 数据源类型或(仅针对离线同步任务)来源数据源类型
        # @type SourceServiceType: String
        # @param TargetServiceId: (仅针对离线同步任务)目标数据源id
        # @type TargetServiceId: String
        # @param TargetServiceType: (仅针对离线同步任务)目标数据源类型
        # @type TargetServiceType: String
        # @param AlarmType: 告警类型,多个类型以逗号分隔
        # @type AlarmType: String
        # @param ExecutorGroupIdList: 资源组id,多个资源组id之间以英文字符逗号分隔
        # @type ExecutorGroupIdList: String
        # @param TaskTags: 任务标签
        # @type TaskTags: Array
        # @param KeyWord: 查询关键字
        # @type KeyWord: String
        # @param InitStrategy: 实例生成方式
        # @type InitStrategy: String
        # @param RequestResourceTypes: 额外请求的资源类型
        # @type RequestResourceTypes: Array

        attr_accessor :ProjectId, :FolderIdList, :WorkFlowIdList, :WorkFlowNameList, :TaskNameList, :TaskIdList, :PageNumber, :PageSize, :SortItem, :SortType, :InChargeList, :TaskTypeIdList, :StatusList, :TaskCycleUnitList, :ProductNameList, :SourceServiceId, :SourceServiceType, :TargetServiceId, :TargetServiceType, :AlarmType, :ExecutorGroupIdList, :TaskTags, :KeyWord, :InitStrategy, :RequestResourceTypes

        def initialize(projectid=nil, folderidlist=nil, workflowidlist=nil, workflownamelist=nil, tasknamelist=nil, taskidlist=nil, pagenumber=nil, pagesize=nil, sortitem=nil, sorttype=nil, inchargelist=nil, tasktypeidlist=nil, statuslist=nil, taskcycleunitlist=nil, productnamelist=nil, sourceserviceid=nil, sourceservicetype=nil, targetserviceid=nil, targetservicetype=nil, alarmtype=nil, executorgroupidlist=nil, tasktags=nil, keyword=nil, initstrategy=nil, requestresourcetypes=nil)
          @ProjectId = projectid
          @FolderIdList = folderidlist
          @WorkFlowIdList = workflowidlist
          @WorkFlowNameList = workflownamelist
          @TaskNameList = tasknamelist
          @TaskIdList = taskidlist
          @PageNumber = pagenumber
          @PageSize = pagesize
          @SortItem = sortitem
          @SortType = sorttype
          @InChargeList = inchargelist
          @TaskTypeIdList = tasktypeidlist
          @StatusList = statuslist
          @TaskCycleUnitList = taskcycleunitlist
          @ProductNameList = productnamelist
          @SourceServiceId = sourceserviceid
          @SourceServiceType = sourceservicetype
          @TargetServiceId = targetserviceid
          @TargetServiceType = targetservicetype
          @AlarmType = alarmtype
          @ExecutorGroupIdList = executorgroupidlist
          @TaskTags = tasktags
          @KeyWord = keyword
          @InitStrategy = initstrategy
          @RequestResourceTypes = requestresourcetypes
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderIdList = params['FolderIdList']
          @WorkFlowIdList = params['WorkFlowIdList']
          @WorkFlowNameList = params['WorkFlowNameList']
          @TaskNameList = params['TaskNameList']
          @TaskIdList = params['TaskIdList']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @SortItem = params['SortItem']
          @SortType = params['SortType']
          @InChargeList = params['InChargeList']
          @TaskTypeIdList = params['TaskTypeIdList']
          @StatusList = params['StatusList']
          @TaskCycleUnitList = params['TaskCycleUnitList']
          @ProductNameList = params['ProductNameList']
          @SourceServiceId = params['SourceServiceId']
          @SourceServiceType = params['SourceServiceType']
          @TargetServiceId = params['TargetServiceId']
          @TargetServiceType = params['TargetServiceType']
          @AlarmType = params['AlarmType']
          @ExecutorGroupIdList = params['ExecutorGroupIdList']
          unless params['TaskTags'].nil?
            @TaskTags = []
            params['TaskTags'].each do |i|
              tasktag_tmp = TaskTag.new
              tasktag_tmp.deserialize(i)
              @TaskTags << tasktag_tmp
            end
          end
          @KeyWord = params['KeyWord']
          @InitStrategy = params['InitStrategy']
          @RequestResourceTypes = params['RequestResourceTypes']
        end
      end

      # DescribeOperateOpsTasks返回参数结构体
      class DescribeOperateOpsTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务列表信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OpsTaskInfoPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OpsTaskInfoPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOpsInstanceLogList请求参数结构体
      class DescribeOpsInstanceLogListRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String

        attr_accessor :TaskId, :CurRunDate

        def initialize(taskid=nil, currundate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
        end
      end

      # DescribeOpsInstanceLogList返回参数结构体
      class DescribeOpsInstanceLogListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 实例日志列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              instanceloginfo_tmp = InstanceLogInfo.new
              instanceloginfo_tmp.deserialize(i)
              @Data << instanceloginfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOpsMakePlanInstances请求参数结构体
      class DescribeOpsMakePlanInstancesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PlanId: 补录计划ID
        # @type PlanId: String
        # @param TaskId: 补录任务ID
        # @type TaskId: String
        # @param PageNumber: 分页页码,默认值1
        # @type PageNumber: Integer
        # @param PageSize: 分页大小,默认值10
        # @type PageSize: Integer
        # @param StateList: 实例状态列表
        # @type StateList: Array

        attr_accessor :ProjectId, :PlanId, :TaskId, :PageNumber, :PageSize, :StateList

        def initialize(projectid=nil, planid=nil, taskid=nil, pagenumber=nil, pagesize=nil, statelist=nil)
          @ProjectId = projectid
          @PlanId = planid
          @TaskId = taskid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @StateList = statelist
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PlanId = params['PlanId']
          @TaskId = params['TaskId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @StateList = params['StateList']
        end
      end

      # DescribeOpsMakePlanInstances返回参数结构体
      class DescribeOpsMakePlanInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 补录计划实例分页查询结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.MakePlanInstanceOpsDtoCollection`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = MakePlanInstanceOpsDtoCollection.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOpsMakePlanTasks请求参数结构体
      class DescribeOpsMakePlanTasksRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PlanId: 补录计划ID
        # @type PlanId: String
        # @param PageNumber: 分页页码,默认值1
        # @type PageNumber: Integer
        # @param PageSize: 分页大小,默认值10
        # @type PageSize: Integer

        attr_accessor :ProjectId, :PlanId, :PageNumber, :PageSize

        def initialize(projectid=nil, planid=nil, pagenumber=nil, pagesize=nil)
          @ProjectId = projectid
          @PlanId = planid
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PlanId = params['PlanId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeOpsMakePlanTasks返回参数结构体
      class DescribeOpsMakePlanTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 补录计划任务分页查询结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.MakePlanTaskOpsDtoCollection`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = MakePlanTaskOpsDtoCollection.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOpsMakePlans请求参数结构体
      class DescribeOpsMakePlansRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PageNumber: 分页数,默认值1
        # @type PageNumber: Integer
        # @param PageSize: 分页大小,默认值10
        # @type PageSize: Integer
        # @param PlanId: 补录计划ID
        # @type PlanId: String
        # @param PlanName: 补录计划名称
        # @type PlanName: String
        # @param TaskName: 补录任务名称
        # @type TaskName: String
        # @param TaskId: 补录任务ID
        # @type TaskId: String
        # @param Creator: 补录计划创建者
        # @type Creator: String
        # @param MinCreateTime: 补录计划最小创建时间
        # @type MinCreateTime: String
        # @param MaxCreateTime: 补录计划最大创建时间
        # @type MaxCreateTime: String

        attr_accessor :ProjectId, :PageNumber, :PageSize, :PlanId, :PlanName, :TaskName, :TaskId, :Creator, :MinCreateTime, :MaxCreateTime

        def initialize(projectid=nil, pagenumber=nil, pagesize=nil, planid=nil, planname=nil, taskname=nil, taskid=nil, creator=nil, mincreatetime=nil, maxcreatetime=nil)
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @PlanId = planid
          @PlanName = planname
          @TaskName = taskname
          @TaskId = taskid
          @Creator = creator
          @MinCreateTime = mincreatetime
          @MaxCreateTime = maxcreatetime
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @PlanId = params['PlanId']
          @PlanName = params['PlanName']
          @TaskName = params['TaskName']
          @TaskId = params['TaskId']
          @Creator = params['Creator']
          @MinCreateTime = params['MinCreateTime']
          @MaxCreateTime = params['MaxCreateTime']
        end
      end

      # DescribeOpsMakePlans返回参数结构体
      class DescribeOpsMakePlansResponse < TencentCloud::Common::AbstractModel
        # @param Data: 补录计划分页查询结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.MakePlanOpsDtoCollection`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = MakePlanOpsDtoCollection.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOpsWorkflows请求参数结构体
      class DescribeOpsWorkflowsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProductNameList: 任务产品类型名称列表,以 ',' 号分割
        # @type ProductNameList: String
        # @param FolderIdList: 文件id列表,以 ',' 号分割
        # @type FolderIdList: String
        # @param WorkFlowIdList: 工作流id,以 ',' 号分割
        # @type WorkFlowIdList: String
        # @param WorkFlowNameList: 工作流名称列表,以 ',' 号分割
        # @type WorkFlowNameList: String
        # @param TaskNameList: 任务名称列表,以 ',' 号分割
        # @type TaskNameList: String
        # @param TaskIdList: 任务id列表,以 ',' 号分割
        # @type TaskIdList: String
        # @param StatusList: 状态列表,以 ',' 号分割
        # @type StatusList: String
        # @param InChargeList: 负责人列表,以 ',' 号分割
        # @type InChargeList: String
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param SortItem: 排序项
        # @type SortItem: String
        # @param SortType: 排序方式,DESC或ASC
        # @type SortType: String

        attr_accessor :ProjectId, :ProductNameList, :FolderIdList, :WorkFlowIdList, :WorkFlowNameList, :TaskNameList, :TaskIdList, :StatusList, :InChargeList, :PageNumber, :PageSize, :SortItem, :SortType

        def initialize(projectid=nil, productnamelist=nil, folderidlist=nil, workflowidlist=nil, workflownamelist=nil, tasknamelist=nil, taskidlist=nil, statuslist=nil, inchargelist=nil, pagenumber=nil, pagesize=nil, sortitem=nil, sorttype=nil)
          @ProjectId = projectid
          @ProductNameList = productnamelist
          @FolderIdList = folderidlist
          @WorkFlowIdList = workflowidlist
          @WorkFlowNameList = workflownamelist
          @TaskNameList = tasknamelist
          @TaskIdList = taskidlist
          @StatusList = statuslist
          @InChargeList = inchargelist
          @PageNumber = pagenumber
          @PageSize = pagesize
          @SortItem = sortitem
          @SortType = sorttype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ProductNameList = params['ProductNameList']
          @FolderIdList = params['FolderIdList']
          @WorkFlowIdList = params['WorkFlowIdList']
          @WorkFlowNameList = params['WorkFlowNameList']
          @TaskNameList = params['TaskNameList']
          @TaskIdList = params['TaskIdList']
          @StatusList = params['StatusList']
          @InChargeList = params['InChargeList']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @SortItem = params['SortItem']
          @SortType = params['SortType']
        end
      end

      # DescribeOpsWorkflows返回参数结构体
      class DescribeOpsWorkflowsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 工作流列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkflowExtOpsDtoPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkflowExtOpsDtoPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeOrganizationalFunctions请求参数结构体
      class DescribeOrganizationalFunctionsRequest < TencentCloud::Common::AbstractModel
        # @param Type: 场景类型:开发、使用
        # @type Type: String
        # @param ProjectId: 项目 ID
        # @type ProjectId: String
        # @param Name: 函数名称
        # @type Name: String
        # @param DisplayName: 展示名称
        # @type DisplayName: String
        # @param EnvType: 标准模式开发环境:DEV
        # 标准模式生产环境:PROD
        # 简单模式:ALL
        # @type EnvType: String
        # @param Filters: 过滤条件
        # @type Filters: :class:`Tencentcloud::Wedata.v20210820.models.Filter`
        # @param OrderFields: 排序条件
        # @type OrderFields: :class:`Tencentcloud::Wedata.v20210820.models.OrderField`

        attr_accessor :Type, :ProjectId, :Name, :DisplayName, :EnvType, :Filters, :OrderFields

        def initialize(type=nil, projectid=nil, name=nil, displayname=nil, envtype=nil, filters=nil, orderfields=nil)
          @Type = type
          @ProjectId = projectid
          @Name = name
          @DisplayName = displayname
          @EnvType = envtype
          @Filters = filters
          @OrderFields = orderfields
        end

        def deserialize(params)
          @Type = params['Type']
          @ProjectId = params['ProjectId']
          @Name = params['Name']
          @DisplayName = params['DisplayName']
          @EnvType = params['EnvType']
          unless params['Filters'].nil?
            @Filters = Filter.new
            @Filters.deserialize(params['Filters'])
          end
          unless params['OrderFields'].nil?
            @OrderFields = OrderField.new
            @OrderFields.deserialize(params['OrderFields'])
          end
        end
      end

      # DescribeOrganizationalFunctions返回参数结构体
      class DescribeOrganizationalFunctionsResponse < TencentCloud::Common::AbstractModel
        # @param Content: 函数信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Content: Array
        # @param ErrorMessage: 操作失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Content, :ErrorMessage, :RequestId

        def initialize(content=nil, errormessage=nil, requestid=nil)
          @Content = content
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Content'].nil?
            @Content = []
            params['Content'].each do |i|
              organizationalfunction_tmp = OrganizationalFunction.new
              organizationalfunction_tmp.deserialize(i)
              @Content << organizationalfunction_tmp
            end
          end
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # 待提交任务信息
      class DescribePendingSubmitTaskInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务编号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param ModifyType: 修改类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyType: String
        # @param TaskStatus: 任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskStatus: String
        # @param SubmitPreCheck: 提交预检查(Y/N)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitPreCheck: String
        # @param SubmitPreCheckDetailList: 提交预检查提交可能会失败的原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitPreCheckDetailList: Array
        # @param ExecutorGroupId: 资源组编号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupId: String
        # @param ExecutorGroupName: 资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupName: String

        attr_accessor :TaskId, :TaskName, :ModifyType, :TaskStatus, :SubmitPreCheck, :SubmitPreCheckDetailList, :ExecutorGroupId, :ExecutorGroupName

        def initialize(taskid=nil, taskname=nil, modifytype=nil, taskstatus=nil, submitprecheck=nil, submitprecheckdetaillist=nil, executorgroupid=nil, executorgroupname=nil)
          @TaskId = taskid
          @TaskName = taskname
          @ModifyType = modifytype
          @TaskStatus = taskstatus
          @SubmitPreCheck = submitprecheck
          @SubmitPreCheckDetailList = submitprecheckdetaillist
          @ExecutorGroupId = executorgroupid
          @ExecutorGroupName = executorgroupname
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @ModifyType = params['ModifyType']
          @TaskStatus = params['TaskStatus']
          @SubmitPreCheck = params['SubmitPreCheck']
          unless params['SubmitPreCheckDetailList'].nil?
            @SubmitPreCheckDetailList = []
            params['SubmitPreCheckDetailList'].each do |i|
              tasksubmitprecheckdetailinfo_tmp = TaskSubmitPreCheckDetailInfo.new
              tasksubmitprecheckdetailinfo_tmp.deserialize(i)
              @SubmitPreCheckDetailList << tasksubmitprecheckdetailinfo_tmp
            end
          end
          @ExecutorGroupId = params['ExecutorGroupId']
          @ExecutorGroupName = params['ExecutorGroupName']
        end
      end

      # DescribePendingSubmitTaskList请求参数结构体
      class DescribePendingSubmitTaskListRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目编号
        # @type ProjectId: String
        # @param WorkflowId: 工作流编号
        # @type WorkflowId: String
        # @param TaskIdList: 任务编号列表
        # @type TaskIdList: Array

        attr_accessor :ProjectId, :WorkflowId, :TaskIdList

        def initialize(projectid=nil, workflowid=nil, taskidlist=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @TaskIdList = taskidlist
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @TaskIdList = params['TaskIdList']
        end
      end

      # DescribePendingSubmitTaskList返回参数结构体
      class DescribePendingSubmitTaskListResponse < TencentCloud::Common::AbstractModel
        # @param Data: 待提交任务信息
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              describependingsubmittaskinfo_tmp = DescribePendingSubmitTaskInfo.new
              describependingsubmittaskinfo_tmp.deserialize(i)
              @Data << describependingsubmittaskinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeProject请求参数结构体
      class DescribeProjectRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id。一般使用项目Id来查询,与projectName必须存在一个。
        # @type ProjectId: String
        # @param DescribeClusters: 是否展示关联集群信息
        # @type DescribeClusters: Boolean
        # @param DescribeExecutors: 是否展示关联执行组的信息,仅部分信息。
        # @type DescribeExecutors: Boolean
        # @param DescribeAdminUsers: 默认不展示项目管理员信息
        # @type DescribeAdminUsers: Boolean
        # @param DescribeMemberCount: 默认不统计项目人员数量
        # @type DescribeMemberCount: Boolean
        # @param DescribeCreator: 默认不查询创建者的信息
        # @type DescribeCreator: Boolean
        # @param ProjectName: 项目名只在租户内唯一,一般用来转化为项目ID。
        # @type ProjectName: String

        attr_accessor :ProjectId, :DescribeClusters, :DescribeExecutors, :DescribeAdminUsers, :DescribeMemberCount, :DescribeCreator, :ProjectName

        def initialize(projectid=nil, describeclusters=nil, describeexecutors=nil, describeadminusers=nil, describemembercount=nil, describecreator=nil, projectname=nil)
          @ProjectId = projectid
          @DescribeClusters = describeclusters
          @DescribeExecutors = describeexecutors
          @DescribeAdminUsers = describeadminusers
          @DescribeMemberCount = describemembercount
          @DescribeCreator = describecreator
          @ProjectName = projectname
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @DescribeClusters = params['DescribeClusters']
          @DescribeExecutors = params['DescribeExecutors']
          @DescribeAdminUsers = params['DescribeAdminUsers']
          @DescribeMemberCount = params['DescribeMemberCount']
          @DescribeCreator = params['DescribeCreator']
          @ProjectName = params['ProjectName']
        end
      end

      # DescribeProject返回参数结构体
      class DescribeProjectResponse < TencentCloud::Common::AbstractModel
        # @param Data: 项目信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.Project`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = Project.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeQualityScore请求参数结构体
      class DescribeQualityScoreRequest < TencentCloud::Common::AbstractModel
        # @param StatisticsDate: 统计日期
        # @type StatisticsDate: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DatasourceId: 数据来源id
        # @type DatasourceId: String
        # @param ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        # @type ScoreType: String
        # @param Filters: 过滤参数
        # @type Filters: Array

        attr_accessor :StatisticsDate, :ProjectId, :DatasourceId, :ScoreType, :Filters

        def initialize(statisticsdate=nil, projectid=nil, datasourceid=nil, scoretype=nil, filters=nil)
          @StatisticsDate = statisticsdate
          @ProjectId = projectid
          @DatasourceId = datasourceid
          @ScoreType = scoretype
          @Filters = filters
        end

        def deserialize(params)
          @StatisticsDate = params['StatisticsDate']
          @ProjectId = params['ProjectId']
          @DatasourceId = params['DatasourceId']
          @ScoreType = params['ScoreType']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeQualityScore返回参数结构体
      class DescribeQualityScoreResponse < TencentCloud::Common::AbstractModel
        # @param Data: 质量评分
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.QualityScore`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = QualityScore.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeQualityScoreTrend请求参数结构体
      class DescribeQualityScoreTrendRequest < TencentCloud::Common::AbstractModel
        # @param StatisticsStartDate: 统计开始日期
        # @type StatisticsStartDate: Integer
        # @param StatisticsEndDate: 统计结束日期
        # @type StatisticsEndDate: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DatasourceId: 数据来源id
        # @type DatasourceId: String
        # @param ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        # @type ScoreType: String
        # @param Filters: 过滤参数
        # @type Filters: Array

        attr_accessor :StatisticsStartDate, :StatisticsEndDate, :ProjectId, :DatasourceId, :ScoreType, :Filters

        def initialize(statisticsstartdate=nil, statisticsenddate=nil, projectid=nil, datasourceid=nil, scoretype=nil, filters=nil)
          @StatisticsStartDate = statisticsstartdate
          @StatisticsEndDate = statisticsenddate
          @ProjectId = projectid
          @DatasourceId = datasourceid
          @ScoreType = scoretype
          @Filters = filters
        end

        def deserialize(params)
          @StatisticsStartDate = params['StatisticsStartDate']
          @StatisticsEndDate = params['StatisticsEndDate']
          @ProjectId = params['ProjectId']
          @DatasourceId = params['DatasourceId']
          @ScoreType = params['ScoreType']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeQualityScoreTrend返回参数结构体
      class DescribeQualityScoreTrendResponse < TencentCloud::Common::AbstractModel
        # @param Data: 质量评分趋势视图
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.QualityScoreTrend`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = QualityScoreTrend.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRealTimeTaskInstanceNodeInfo请求参数结构体
      class DescribeRealTimeTaskInstanceNodeInfoRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 实时任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRealTimeTaskInstanceNodeInfo返回参数结构体
      class DescribeRealTimeTaskInstanceNodeInfoResponse < TencentCloud::Common::AbstractModel
        # @param RealTimeTaskInstanceNodeInfo: 实时任务实例节点相关信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RealTimeTaskInstanceNodeInfo: :class:`Tencentcloud::Wedata.v20210820.models.RealTimeTaskInstanceNodeInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :RealTimeTaskInstanceNodeInfo, :RequestId

        def initialize(realtimetaskinstancenodeinfo=nil, requestid=nil)
          @RealTimeTaskInstanceNodeInfo = realtimetaskinstancenodeinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['RealTimeTaskInstanceNodeInfo'].nil?
            @RealTimeTaskInstanceNodeInfo = RealTimeTaskInstanceNodeInfo.new
            @RealTimeTaskInstanceNodeInfo.deserialize(params['RealTimeTaskInstanceNodeInfo'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRealTimeTaskMetricOverview请求参数结构体
      class DescribeRealTimeTaskMetricOverviewRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 要查看的实时任务的任务ID,可在任务列表页面中获得
        # @type TaskId: String
        # @param ProjectId: 要查看的项目ID
        # @type ProjectId: String
        # @param StartTime: 开始时间
        # @type StartTime: Integer
        # @param EndTime: 结束时间
        # @type EndTime: Integer

        attr_accessor :TaskId, :ProjectId, :StartTime, :EndTime

        def initialize(taskid=nil, projectid=nil, starttime=nil, endtime=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @StartTime = starttime
          @EndTime = endtime
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
        end
      end

      # DescribeRealTimeTaskMetricOverview返回参数结构体
      class DescribeRealTimeTaskMetricOverviewResponse < TencentCloud::Common::AbstractModel
        # @param TotalRecordNumOfRead: 总读取记录数
        # @type TotalRecordNumOfRead: Integer
        # @param TotalRecordByteNumOfRead: 总读取字节数
        # @type TotalRecordByteNumOfRead: Integer
        # @param TotalRecordNumOfWrite: 总写入记录数
        # @type TotalRecordNumOfWrite: Integer
        # @param TotalRecordByteNumOfWrite: 总写入字节数 单位字节
        # @type TotalRecordByteNumOfWrite: Integer
        # @param TotalDirtyRecordNum: 总的脏记录数据
        # @type TotalDirtyRecordNum: Integer
        # @param TotalDirtyRecordByte: 总的脏字节数 单位字节
        # @type TotalDirtyRecordByte: Integer
        # @param TotalDuration: 运行时长 单位s
        # @type TotalDuration: Integer
        # @param BeginRunTime: 开始运行时间
        # @type BeginRunTime: String
        # @param EndRunTime: 目前运行到的时间
        # @type EndRunTime: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TotalRecordNumOfRead, :TotalRecordByteNumOfRead, :TotalRecordNumOfWrite, :TotalRecordByteNumOfWrite, :TotalDirtyRecordNum, :TotalDirtyRecordByte, :TotalDuration, :BeginRunTime, :EndRunTime, :RequestId

        def initialize(totalrecordnumofread=nil, totalrecordbytenumofread=nil, totalrecordnumofwrite=nil, totalrecordbytenumofwrite=nil, totaldirtyrecordnum=nil, totaldirtyrecordbyte=nil, totalduration=nil, beginruntime=nil, endruntime=nil, requestid=nil)
          @TotalRecordNumOfRead = totalrecordnumofread
          @TotalRecordByteNumOfRead = totalrecordbytenumofread
          @TotalRecordNumOfWrite = totalrecordnumofwrite
          @TotalRecordByteNumOfWrite = totalrecordbytenumofwrite
          @TotalDirtyRecordNum = totaldirtyrecordnum
          @TotalDirtyRecordByte = totaldirtyrecordbyte
          @TotalDuration = totalduration
          @BeginRunTime = beginruntime
          @EndRunTime = endruntime
          @RequestId = requestid
        end

        def deserialize(params)
          @TotalRecordNumOfRead = params['TotalRecordNumOfRead']
          @TotalRecordByteNumOfRead = params['TotalRecordByteNumOfRead']
          @TotalRecordNumOfWrite = params['TotalRecordNumOfWrite']
          @TotalRecordByteNumOfWrite = params['TotalRecordByteNumOfWrite']
          @TotalDirtyRecordNum = params['TotalDirtyRecordNum']
          @TotalDirtyRecordByte = params['TotalDirtyRecordByte']
          @TotalDuration = params['TotalDuration']
          @BeginRunTime = params['BeginRunTime']
          @EndRunTime = params['EndRunTime']
          @RequestId = params['RequestId']
        end
      end

      # DescribeRealTimeTaskSpeed请求参数结构体
      class DescribeRealTimeTaskSpeedRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param StartTime: 带毫秒的时间戳
        # @type StartTime: Integer
        # @param EndTime: 带毫秒的时间戳
        # @type EndTime: Integer
        # @param Granularity: 粒度,1或者5
        # @type Granularity: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :StartTime, :EndTime, :Granularity, :ProjectId

        def initialize(taskid=nil, starttime=nil, endtime=nil, granularity=nil, projectid=nil)
          @TaskId = taskid
          @StartTime = starttime
          @EndTime = endtime
          @Granularity = granularity
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @Granularity = params['Granularity']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRealTimeTaskSpeed返回参数结构体
      class DescribeRealTimeTaskSpeedResponse < TencentCloud::Common::AbstractModel
        # @param RecordsSpeedList: 同步速度条/s列表
        # @type RecordsSpeedList: Array
        # @param BytesSpeedList: 同步速度字节/s列表
        # @type BytesSpeedList: Array
        # @param Data: 同步速度,包括了RecordsSpeedList和BytesSpeedList
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RealTimeTaskSpeed`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :RecordsSpeedList, :BytesSpeedList, :Data, :RequestId

        def initialize(recordsspeedlist=nil, bytesspeedlist=nil, data=nil, requestid=nil)
          @RecordsSpeedList = recordsspeedlist
          @BytesSpeedList = bytesspeedlist
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['RecordsSpeedList'].nil?
            @RecordsSpeedList = []
            params['RecordsSpeedList'].each do |i|
              recordsspeed_tmp = RecordsSpeed.new
              recordsspeed_tmp.deserialize(i)
              @RecordsSpeedList << recordsspeed_tmp
            end
          end
          unless params['BytesSpeedList'].nil?
            @BytesSpeedList = []
            params['BytesSpeedList'].each do |i|
              bytesspeed_tmp = BytesSpeed.new
              bytesspeed_tmp.deserialize(i)
              @BytesSpeedList << bytesspeed_tmp
            end
          end
          unless params['Data'].nil?
            @Data = RealTimeTaskSpeed.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeResourceManagePathTrees请求参数结构体
      class DescribeResourceManagePathTreesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param Name: 名字,供搜索
        # @type Name: String
        # @param FileType: 文件类型
        # @type FileType: String
        # @param FilePath: 文件路径
        # @type FilePath: String
        # @param DirType: 文件夹类型
        # personal 个人
        # project 项目
        # resource 资源
        # @type DirType: String

        attr_accessor :ProjectId, :Name, :FileType, :FilePath, :DirType

        def initialize(projectid=nil, name=nil, filetype=nil, filepath=nil, dirtype=nil)
          @ProjectId = projectid
          @Name = name
          @FileType = filetype
          @FilePath = filepath
          @DirType = dirtype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Name = params['Name']
          @FileType = params['FileType']
          @FilePath = params['FilePath']
          @DirType = params['DirType']
        end
      end

      # DescribeResourceManagePathTrees返回参数结构体
      class DescribeResourceManagePathTreesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 响应数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              resourcepathtree_tmp = ResourcePathTree.new
              resourcepathtree_tmp.deserialize(i)
              @Data << resourcepathtree_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleDimStat请求参数结构体
      class DescribeRuleDimStatRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param BeginDate: 开始时间,时间戳到秒
        # @type BeginDate: String
        # @param EndDate: 结束时间,时间戳到秒
        # @type EndDate: String

        attr_accessor :ProjectId, :BeginDate, :EndDate

        def initialize(projectid=nil, begindate=nil, enddate=nil)
          @ProjectId = projectid
          @BeginDate = begindate
          @EndDate = enddate
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @BeginDate = params['BeginDate']
          @EndDate = params['EndDate']
        end
      end

      # DescribeRuleDimStat返回参数结构体
      class DescribeRuleDimStatResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleDimStat`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleDimStat.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleExecDetail请求参数结构体
      class DescribeRuleExecDetailRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param RuleExecId: 规则执行id
        # @type RuleExecId: Integer

        attr_accessor :ProjectId, :RuleExecId

        def initialize(projectid=nil, ruleexecid=nil)
          @ProjectId = projectid
          @RuleExecId = ruleexecid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @RuleExecId = params['RuleExecId']
        end
      end

      # DescribeRuleExecDetail返回参数结构体
      class DescribeRuleExecDetailResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则执行结果详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecResultDetail`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleExecResultDetail.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleExecLog请求参数结构体
      class DescribeRuleExecLogRequest < TencentCloud::Common::AbstractModel
        # @param RuleExecId: 规则执行Id
        # @type RuleExecId: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param RuleGroupExecId: 规则组执行id
        # @type RuleGroupExecId: Integer

        attr_accessor :RuleExecId, :ProjectId, :RuleGroupExecId

        def initialize(ruleexecid=nil, projectid=nil, rulegroupexecid=nil)
          @RuleExecId = ruleexecid
          @ProjectId = projectid
          @RuleGroupExecId = rulegroupexecid
        end

        def deserialize(params)
          @RuleExecId = params['RuleExecId']
          @ProjectId = params['ProjectId']
          @RuleGroupExecId = params['RuleGroupExecId']
        end
      end

      # DescribeRuleExecLog返回参数结构体
      class DescribeRuleExecLogResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则执行日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecLog`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleExecLog.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleExecResults请求参数结构体
      class DescribeRuleExecResultsRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupExecId: 规则组执行Id
        # @type RuleGroupExecId: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :RuleGroupExecId, :ProjectId

        def initialize(rulegroupexecid=nil, projectid=nil)
          @RuleGroupExecId = rulegroupexecid
          @ProjectId = projectid
        end

        def deserialize(params)
          @RuleGroupExecId = params['RuleGroupExecId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRuleExecResults返回参数结构体
      class DescribeRuleExecResultsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则执行结果列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecResultPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleExecResultPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleExecStat请求参数结构体
      class DescribeRuleExecStatRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param BeginDate: 开始时间,时间戳到秒
        # @type BeginDate: String
        # @param EndDate: 结束时间,时间戳到秒
        # @type EndDate: String

        attr_accessor :ProjectId, :BeginDate, :EndDate

        def initialize(projectid=nil, begindate=nil, enddate=nil)
          @ProjectId = projectid
          @BeginDate = begindate
          @EndDate = enddate
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @BeginDate = params['BeginDate']
          @EndDate = params['EndDate']
        end
      end

      # DescribeRuleExecStat返回参数结构体
      class DescribeRuleExecStatResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecStat`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleExecStat.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleGroupExecResultsByPage请求参数结构体
      class DescribeRuleGroupExecResultsByPageRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页序号
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤条件
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields, :ProjectId

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, projectid=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @ProjectId = projectid
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRuleGroupExecResultsByPage返回参数结构体
      class DescribeRuleGroupExecResultsByPageResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组执行结果列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupExecResultPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupExecResultPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleGroup请求参数结构体
      class DescribeRuleGroupRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param DatasourceId: 数据来源ID
        # @type DatasourceId: String
        # @param TableId: 数据表Id
        # @type TableId: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param DatabaseId: 数据库ID
        # @type DatabaseId: String

        attr_accessor :RuleGroupId, :DatasourceId, :TableId, :ProjectId, :DatabaseId

        def initialize(rulegroupid=nil, datasourceid=nil, tableid=nil, projectid=nil, databaseid=nil)
          @RuleGroupId = rulegroupid
          @DatasourceId = datasourceid
          @TableId = tableid
          @ProjectId = projectid
          @DatabaseId = databaseid
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @DatasourceId = params['DatasourceId']
          @TableId = params['TableId']
          @ProjectId = params['ProjectId']
          @DatabaseId = params['DatabaseId']
        end
      end

      # DescribeRuleGroup返回参数结构体
      class DescribeRuleGroupResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据质量规则组详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroup`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroup.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleGroupSubscription请求参数结构体
      class DescribeRuleGroupSubscriptionRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :RuleGroupId, :ProjectId

        def initialize(rulegroupid=nil, projectid=nil)
          @RuleGroupId = rulegroupid
          @ProjectId = projectid
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRuleGroupSubscription返回参数结构体
      class DescribeRuleGroupSubscriptionResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组订阅信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupSubscribe`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupSubscribe.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleGroupTable请求参数结构体
      class DescribeRuleGroupTableRequest < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # @type TableId: String

        attr_accessor :TableId

        def initialize(tableid=nil)
          @TableId = tableid
        end

        def deserialize(params)
          @TableId = params['TableId']
        end
      end

      # DescribeRuleGroupTable返回参数结构体
      class DescribeRuleGroupTableResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupTable`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupTable.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleGroupsByPage请求参数结构体
      class DescribeRuleGroupsByPageRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页序号
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤条件,每次请求的Filters的上限为10,Filter.Values的上限为5
        # @type Filters: Array
        # @param OrderFields: 排序方式
        # @type OrderFields: Array
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields, :ProjectId

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, projectid=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @ProjectId = projectid
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRuleGroupsByPage返回参数结构体
      class DescribeRuleGroupsByPageResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleGroupPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRule请求参数结构体
      class DescribeRuleRequest < TencentCloud::Common::AbstractModel
        # @param RuleId: 质量规则ID
        # @type RuleId: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :RuleId, :ProjectId

        def initialize(ruleid=nil, projectid=nil)
          @RuleId = ruleid
          @ProjectId = projectid
        end

        def deserialize(params)
          @RuleId = params['RuleId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRule返回参数结构体
      class DescribeRuleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.Rule`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = Rule.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleTemplate请求参数结构体
      class DescribeRuleTemplateRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TemplateId: 规则模板Id
        # @type TemplateId: Integer

        attr_accessor :ProjectId, :TemplateId

        def initialize(projectid=nil, templateid=nil)
          @ProjectId = projectid
          @TemplateId = templateid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TemplateId = params['TemplateId']
        end
      end

      # DescribeRuleTemplate返回参数结构体
      class DescribeRuleTemplateResponse < TencentCloud::Common::AbstractModel
        # @param Data: 模板详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleTemplate`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleTemplate.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleTemplatesByPage请求参数结构体
      class DescribeRuleTemplatesByPageRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 当前页
        # @type PageNumber: Integer
        # @param PageSize: 每页记录数
        # @type PageSize: Integer
        # @param ProjectId: 工作空间ID
        # @type ProjectId: String
        # @param OrderFields: 通用排序字段
        # @type OrderFields: Array
        # @param Filters: 通用过滤条件
        # @type Filters: Array

        attr_accessor :PageNumber, :PageSize, :ProjectId, :OrderFields, :Filters

        def initialize(pagenumber=nil, pagesize=nil, projectid=nil, orderfields=nil, filters=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @ProjectId = projectid
          @OrderFields = orderfields
          @Filters = filters
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @ProjectId = params['ProjectId']
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
        end
      end

      # DescribeRuleTemplatesByPage返回参数结构体
      class DescribeRuleTemplatesByPageResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RuleTemplatePage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RuleTemplatePage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRuleTemplates请求参数结构体
      class DescribeRuleTemplatesRequest < TencentCloud::Common::AbstractModel
        # @param Type: 模板类型 1.系统模板 2.自定义模板
        # @type Type: Integer
        # @param SourceObjectType: 1.常量 2.离线表级 2.离线字段级
        # @type SourceObjectType: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param SourceEngineTypes: 源端对应的引擎类型
        # @type SourceEngineTypes: Array

        attr_accessor :Type, :SourceObjectType, :ProjectId, :SourceEngineTypes

        def initialize(type=nil, sourceobjecttype=nil, projectid=nil, sourceenginetypes=nil)
          @Type = type
          @SourceObjectType = sourceobjecttype
          @ProjectId = projectid
          @SourceEngineTypes = sourceenginetypes
        end

        def deserialize(params)
          @Type = params['Type']
          @SourceObjectType = params['SourceObjectType']
          @ProjectId = params['ProjectId']
          @SourceEngineTypes = params['SourceEngineTypes']
        end
      end

      # DescribeRuleTemplates返回参数结构体
      class DescribeRuleTemplatesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则模板列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              ruletemplate_tmp = RuleTemplate.new
              ruletemplate_tmp.deserialize(i)
              @Data << ruletemplate_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRulesByPage请求参数结构体
      class DescribeRulesByPageRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页序号
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤条件
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields, :ProjectId

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, projectid=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @ProjectId = projectid
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeRulesByPage返回参数结构体
      class DescribeRulesByPageResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则质量列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.RulePage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = RulePage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeRules请求参数结构体
      class DescribeRulesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param RuleGroupId: 规则组id
        # @type RuleGroupId: Integer
        # @param EngineType: 该规则运行的执行引擎,不传时会请求该数据源下默认的执行引擎
        # @type EngineType: String

        attr_accessor :ProjectId, :RuleGroupId, :EngineType

        def initialize(projectid=nil, rulegroupid=nil, enginetype=nil)
          @ProjectId = projectid
          @RuleGroupId = rulegroupid
          @EngineType = enginetype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @RuleGroupId = params['RuleGroupId']
          @EngineType = params['EngineType']
        end
      end

      # DescribeRules返回参数结构体
      class DescribeRulesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              rule_tmp = Rule.new
              rule_tmp.deserialize(i)
              @Data << rule_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeScheduleInstances请求参数结构体
      class DescribeScheduleInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param SearchCondition: 查询条件
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :SearchCondition, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, searchcondition=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @SearchCondition = searchcondition
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # DescribeScheduleInstances返回参数结构体
      class DescribeScheduleInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 实例结果集
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CollectionInstanceOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CollectionInstanceOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeSchedulerInstanceStatus请求参数结构体
      class DescribeSchedulerInstanceStatusRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskTypeId: 任务类型ID
        # @type TaskTypeId: String
        # @param ExecutionGroupId: 执行资源组ID
        # @type ExecutionGroupId: String
        # @param ExecutionGroupName: 执行资源组名字
        # @type ExecutionGroupName: String
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param InCharge: 责任人
        # @type InCharge: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :ProjectId, :TaskTypeId, :ExecutionGroupId, :ExecutionGroupName, :StartTime, :EndTime, :InCharge, :WorkflowId

        def initialize(projectid=nil, tasktypeid=nil, executiongroupid=nil, executiongroupname=nil, starttime=nil, endtime=nil, incharge=nil, workflowid=nil)
          @ProjectId = projectid
          @TaskTypeId = tasktypeid
          @ExecutionGroupId = executiongroupid
          @ExecutionGroupName = executiongroupname
          @StartTime = starttime
          @EndTime = endtime
          @InCharge = incharge
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskTypeId = params['TaskTypeId']
          @ExecutionGroupId = params['ExecutionGroupId']
          @ExecutionGroupName = params['ExecutionGroupName']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @InCharge = params['InCharge']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeSchedulerInstanceStatus返回参数结构体
      class DescribeSchedulerInstanceStatusResponse < TencentCloud::Common::AbstractModel
        # @param Data: 响应数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              screeninstanceinfo_tmp = ScreenInstanceInfo.new
              screeninstanceinfo_tmp.deserialize(i)
              @Data << screeninstanceinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeSchedulerRunTimeInstanceCntByStatus请求参数结构体
      class DescribeSchedulerRunTimeInstanceCntByStatusRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param CycleUnit: 周期类型
        # @type CycleUnit: String
        # @param TimeUnit: 时间单元 eg: 12h
        # @type TimeUnit: String
        # @param StartTime: 开始日期:2023-03-02
        # @type StartTime: String
        # @param EndTime: 结束日前:2023-03-20
        # @type EndTime: String
        # @param TaskType: 任务类型
        # @type TaskType: Integer
        # @param InCharge: 责任人
        # @type InCharge: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param SortItem: 排序字段
        # @type SortItem: String
        # @param SortType: 升序降序
        # @type SortType: String

        attr_accessor :ProjectId, :CycleUnit, :TimeUnit, :StartTime, :EndTime, :TaskType, :InCharge, :WorkflowId, :SortItem, :SortType

        def initialize(projectid=nil, cycleunit=nil, timeunit=nil, starttime=nil, endtime=nil, tasktype=nil, incharge=nil, workflowid=nil, sortitem=nil, sorttype=nil)
          @ProjectId = projectid
          @CycleUnit = cycleunit
          @TimeUnit = timeunit
          @StartTime = starttime
          @EndTime = endtime
          @TaskType = tasktype
          @InCharge = incharge
          @WorkflowId = workflowid
          @SortItem = sortitem
          @SortType = sorttype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @CycleUnit = params['CycleUnit']
          @TimeUnit = params['TimeUnit']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskType = params['TaskType']
          @InCharge = params['InCharge']
          @WorkflowId = params['WorkflowId']
          @SortItem = params['SortItem']
          @SortType = params['SortType']
        end
      end

      # DescribeSchedulerRunTimeInstanceCntByStatus返回参数结构体
      class DescribeSchedulerRunTimeInstanceCntByStatusResponse < TencentCloud::Common::AbstractModel
        # @param Data: 响应数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              runtimeinstancecnttop_tmp = RuntimeInstanceCntTop.new
              runtimeinstancecnttop_tmp.deserialize(i)
              @Data << runtimeinstancecnttop_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeSchedulerTaskCntByStatus请求参数结构体
      class DescribeSchedulerTaskCntByStatusRequest < TencentCloud::Common::AbstractModel
        # @param TaskType: 1
        # @type TaskType: Integer
        # @param TypeName: Y
        # @type TypeName: String
        # @param ProjectId: 111
        # @type ProjectId: String
        # @param InCharge: 1
        # @type InCharge: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :TaskType, :TypeName, :ProjectId, :InCharge, :WorkflowId

        def initialize(tasktype=nil, typename=nil, projectid=nil, incharge=nil, workflowid=nil)
          @TaskType = tasktype
          @TypeName = typename
          @ProjectId = projectid
          @InCharge = incharge
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @TaskType = params['TaskType']
          @TypeName = params['TypeName']
          @ProjectId = params['ProjectId']
          @InCharge = params['InCharge']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeSchedulerTaskCntByStatus返回参数结构体
      class DescribeSchedulerTaskCntByStatusResponse < TencentCloud::Common::AbstractModel
        # @param Data: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              screentaskinfo_tmp = ScreenTaskInfo.new
              screentaskinfo_tmp.deserialize(i)
              @Data << screentaskinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeSchedulerTaskTypeCnt请求参数结构体
      class DescribeSchedulerTaskTypeCntRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param InCharge: 责任人
        # @type InCharge: String

        attr_accessor :ProjectId, :InCharge

        def initialize(projectid=nil, incharge=nil)
          @ProjectId = projectid
          @InCharge = incharge
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @InCharge = params['InCharge']
        end
      end

      # DescribeSchedulerTaskTypeCnt返回参数结构体
      class DescribeSchedulerTaskTypeCntResponse < TencentCloud::Common::AbstractModel
        # @param Data: data
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              tasktypecnt_tmp = TaskTypeCnt.new
              tasktypecnt_tmp.deserialize(i)
              @Data << tasktypecnt_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeStatisticInstanceStatusTrendOps请求参数结构体
      class DescribeStatisticInstanceStatusTrendOpsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskTypeId: 任务类型Id
        # @type TaskTypeId: String
        # @param TimeType: 时间类型
        # @type TimeType: String
        # @param TypeName: 任务类型名称
        # @type TypeName: String
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param ExecutionGroupId: 资源组ID
        # @type ExecutionGroupId: String
        # @param ExecutionGroupName: 资源组名称
        # @type ExecutionGroupName: String
        # @param InCharge: 1
        # @type InCharge: String
        # @param TaskType: 1
        # @type TaskType: Integer
        # @param StateList: 1
        # @type StateList: Array
        # @param AggregationUnit: D代表天,H代表小时
        # @type AggregationUnit: String
        # @param AverageWindowSize: 1
        # @type AverageWindowSize: Integer
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :ProjectId, :TaskTypeId, :TimeType, :TypeName, :StartTime, :EndTime, :ExecutionGroupId, :ExecutionGroupName, :InCharge, :TaskType, :StateList, :AggregationUnit, :AverageWindowSize, :WorkflowId

        def initialize(projectid=nil, tasktypeid=nil, timetype=nil, typename=nil, starttime=nil, endtime=nil, executiongroupid=nil, executiongroupname=nil, incharge=nil, tasktype=nil, statelist=nil, aggregationunit=nil, averagewindowsize=nil, workflowid=nil)
          @ProjectId = projectid
          @TaskTypeId = tasktypeid
          @TimeType = timetype
          @TypeName = typename
          @StartTime = starttime
          @EndTime = endtime
          @ExecutionGroupId = executiongroupid
          @ExecutionGroupName = executiongroupname
          @InCharge = incharge
          @TaskType = tasktype
          @StateList = statelist
          @AggregationUnit = aggregationunit
          @AverageWindowSize = averagewindowsize
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskTypeId = params['TaskTypeId']
          @TimeType = params['TimeType']
          @TypeName = params['TypeName']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @ExecutionGroupId = params['ExecutionGroupId']
          @ExecutionGroupName = params['ExecutionGroupName']
          @InCharge = params['InCharge']
          @TaskType = params['TaskType']
          @StateList = params['StateList']
          @AggregationUnit = params['AggregationUnit']
          @AverageWindowSize = params['AverageWindowSize']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeStatisticInstanceStatusTrendOps返回参数结构体
      class DescribeStatisticInstanceStatusTrendOpsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 实例状态统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              instancestatisticinfo_tmp = InstanceStatisticInfo.new
              instancestatisticinfo_tmp.deserialize(i)
              @Data << instancestatisticinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeStreamTaskLogList请求参数结构体
      class DescribeStreamTaskLogListRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param JobId: 作业ID
        # @type JobId: String
        # @param EndTime: 结束时间
        # @type EndTime: Integer
        # @param StartTime: 开始时间
        # @type StartTime: Integer
        # @param Container: container名字
        # @type Container: String
        # @param Limit: 条数
        # @type Limit: Integer
        # @param OrderType: 排序类型 desc asc
        # @type OrderType: String
        # @param RunningOrderId: 作业运行的实例ID
        # @type RunningOrderId: Integer
        # @param Keyword: 关键字
        # @type Keyword: String

        attr_accessor :ProjectId, :TaskId, :JobId, :EndTime, :StartTime, :Container, :Limit, :OrderType, :RunningOrderId, :Keyword

        def initialize(projectid=nil, taskid=nil, jobid=nil, endtime=nil, starttime=nil, container=nil, limit=nil, ordertype=nil, runningorderid=nil, keyword=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @JobId = jobid
          @EndTime = endtime
          @StartTime = starttime
          @Container = container
          @Limit = limit
          @OrderType = ordertype
          @RunningOrderId = runningorderid
          @Keyword = keyword
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @JobId = params['JobId']
          @EndTime = params['EndTime']
          @StartTime = params['StartTime']
          @Container = params['Container']
          @Limit = params['Limit']
          @OrderType = params['OrderType']
          @RunningOrderId = params['RunningOrderId']
          @Keyword = params['Keyword']
        end
      end

      # DescribeStreamTaskLogList返回参数结构体
      class DescribeStreamTaskLogListResponse < TencentCloud::Common::AbstractModel
        # @param ListOver: 是否是全量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ListOver: Boolean
        # @param LogContentList: 日志集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LogContentList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :ListOver, :LogContentList, :RequestId

        def initialize(listover=nil, logcontentlist=nil, requestid=nil)
          @ListOver = listover
          @LogContentList = logcontentlist
          @RequestId = requestid
        end

        def deserialize(params)
          @ListOver = params['ListOver']
          unless params['LogContentList'].nil?
            @LogContentList = []
            params['LogContentList'].each do |i|
              logcontentinfo_tmp = LogContentInfo.new
              logcontentinfo_tmp.deserialize(i)
              @LogContentList << logcontentinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeSuccessorOpsTaskInfos请求参数结构体
      class DescribeSuccessorOpsTaskInfosRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeSuccessorOpsTaskInfos返回参数结构体
      class DescribeSuccessorOpsTaskInfosResponse < TencentCloud::Common::AbstractModel
        # @param Data: 下游任务列表
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskopsdto_tmp = TaskOpsDto.new
              taskopsdto_tmp.deserialize(i)
              @Data << taskopsdto_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableBasicInfo请求参数结构体
      class DescribeTableBasicInfoRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤字段
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
        end
      end

      # DescribeTableBasicInfo返回参数结构体
      class DescribeTableBasicInfoResponse < TencentCloud::Common::AbstractModel
        # @param TableBasicInfoList: 表元数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableBasicInfoList: Array
        # @param TotalCount: 总条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableBasicInfoList, :TotalCount, :RequestId

        def initialize(tablebasicinfolist=nil, totalcount=nil, requestid=nil)
          @TableBasicInfoList = tablebasicinfolist
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableBasicInfoList'].nil?
            @TableBasicInfoList = []
            params['TableBasicInfoList'].each do |i|
              tablebasicinfo_tmp = TableBasicInfo.new
              tablebasicinfo_tmp.deserialize(i)
              @TableBasicInfoList << tablebasicinfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableInfoList请求参数结构体
      class DescribeTableInfoListRequest < TencentCloud::Common::AbstractModel
        # @param Filters: 表名
        # @type Filters: Array
        # @param ConnectionType: 如果是hive这里写rpc,如果是其他类型不传
        # @type ConnectionType: String
        # @param Catalog: 数据库源类型
        # @type Catalog: String

        attr_accessor :Filters, :ConnectionType, :Catalog

        def initialize(filters=nil, connectiontype=nil, catalog=nil)
          @Filters = filters
          @ConnectionType = connectiontype
          @Catalog = catalog
        end

        def deserialize(params)
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          @ConnectionType = params['ConnectionType']
          @Catalog = params['Catalog']
        end
      end

      # DescribeTableInfoList返回参数结构体
      class DescribeTableInfoListResponse < TencentCloud::Common::AbstractModel
        # @param TableInfo: 表信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableInfo: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableInfo, :RequestId

        def initialize(tableinfo=nil, requestid=nil)
          @TableInfo = tableinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableInfo'].nil?
            @TableInfo = []
            params['TableInfo'].each do |i|
              tableinfo_tmp = TableInfo.new
              tableinfo_tmp.deserialize(i)
              @TableInfo << tableinfo_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableLineageInfo请求参数结构体
      class DescribeTableLineageInfoRequest < TencentCloud::Common::AbstractModel
        # @param Direction: 查询方向,INPUT,OUTPUT,BOTH枚举值
        # @type Direction: String
        # @param Data: 表信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TableLineageInfo`
        # @param InputDepth: 单次查询入度,默认 1
        # @type InputDepth: Integer
        # @param OutputDepth: 单次查询出度,默认 1
        # @type OutputDepth: Integer
        # @param ExtParams: 额外参数(传递调用方信息)
        # @type ExtParams: Array
        # @param IgnoreTemp: 是否过滤临时表,默认true
        # @type IgnoreTemp: Boolean
        # @param RecursiveSecond: 是否递归查询二级节点数目,默认为true
        # @type RecursiveSecond: Boolean

        attr_accessor :Direction, :Data, :InputDepth, :OutputDepth, :ExtParams, :IgnoreTemp, :RecursiveSecond

        def initialize(direction=nil, data=nil, inputdepth=nil, outputdepth=nil, extparams=nil, ignoretemp=nil, recursivesecond=nil)
          @Direction = direction
          @Data = data
          @InputDepth = inputdepth
          @OutputDepth = outputdepth
          @ExtParams = extparams
          @IgnoreTemp = ignoretemp
          @RecursiveSecond = recursivesecond
        end

        def deserialize(params)
          @Direction = params['Direction']
          unless params['Data'].nil?
            @Data = TableLineageInfo.new
            @Data.deserialize(params['Data'])
          end
          @InputDepth = params['InputDepth']
          @OutputDepth = params['OutputDepth']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              lineageparamrecord_tmp = LineageParamRecord.new
              lineageparamrecord_tmp.deserialize(i)
              @ExtParams << lineageparamrecord_tmp
            end
          end
          @IgnoreTemp = params['IgnoreTemp']
          @RecursiveSecond = params['RecursiveSecond']
        end
      end

      # DescribeTableLineageInfo返回参数结构体
      class DescribeTableLineageInfoResponse < TencentCloud::Common::AbstractModel
        # @param TableLineageBasicInfo: 表血缘信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableLineageBasicInfo: :class:`Tencentcloud::Wedata.v20210820.models.TableLineageBaseInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableLineageBasicInfo, :RequestId

        def initialize(tablelineagebasicinfo=nil, requestid=nil)
          @TableLineageBasicInfo = tablelineagebasicinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableLineageBasicInfo'].nil?
            @TableLineageBasicInfo = TableLineageBaseInfo.new
            @TableLineageBasicInfo.deserialize(params['TableLineageBasicInfo'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableLineage请求参数结构体
      class DescribeTableLineageRequest < TencentCloud::Common::AbstractModel
        # @param Direction: 查询方向,INPUT,OUTPUT,BOTH枚举值
        # @type Direction: String
        # @param Data: 表信息
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TableLineageInfo`
        # @param InputDepth: 单次查询入度,默认 1
        # @type InputDepth: Integer
        # @param OutputDepth: 单次查询出度,默认 1
        # @type OutputDepth: Integer
        # @param ExtParams: 额外参数(传递调用方信息)
        # @type ExtParams: Array
        # @param IgnoreTemp: 是否过滤临时表,默认true
        # @type IgnoreTemp: Boolean
        # @param RecursiveSecond: 是否递归查询二级节点数目,默认为true
        # @type RecursiveSecond: Boolean

        attr_accessor :Direction, :Data, :InputDepth, :OutputDepth, :ExtParams, :IgnoreTemp, :RecursiveSecond

        def initialize(direction=nil, data=nil, inputdepth=nil, outputdepth=nil, extparams=nil, ignoretemp=nil, recursivesecond=nil)
          @Direction = direction
          @Data = data
          @InputDepth = inputdepth
          @OutputDepth = outputdepth
          @ExtParams = extparams
          @IgnoreTemp = ignoretemp
          @RecursiveSecond = recursivesecond
        end

        def deserialize(params)
          @Direction = params['Direction']
          unless params['Data'].nil?
            @Data = TableLineageInfo.new
            @Data.deserialize(params['Data'])
          end
          @InputDepth = params['InputDepth']
          @OutputDepth = params['OutputDepth']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              lineageparamrecord_tmp = LineageParamRecord.new
              lineageparamrecord_tmp.deserialize(i)
              @ExtParams << lineageparamrecord_tmp
            end
          end
          @IgnoreTemp = params['IgnoreTemp']
          @RecursiveSecond = params['RecursiveSecond']
        end
      end

      # DescribeTableLineage返回参数结构体
      class DescribeTableLineageResponse < TencentCloud::Common::AbstractModel
        # @param TableLineage: 表血缘信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableLineage: :class:`Tencentcloud::Wedata.v20210820.models.TableLineageInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableLineage, :RequestId

        def initialize(tablelineage=nil, requestid=nil)
          @TableLineage = tablelineage
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableLineage'].nil?
            @TableLineage = TableLineageInfo.new
            @TableLineage.deserialize(params['TableLineage'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableMeta请求参数结构体
      class DescribeTableMetaRequest < TencentCloud::Common::AbstractModel
        # @param TableId: 表唯一id
        # @type TableId: String
        # @param TableNameFilter: 按名称查询的条件
        # @type TableNameFilter: :class:`Tencentcloud::Wedata.v20210820.models.TableNameFilter`
        # @param TableFilterType: 查询条件类型0按id,1按名称,默认为0
        # @type TableFilterType: Integer
        # @param SearchNames: 查询字段列表
        # @type SearchNames: Array

        attr_accessor :TableId, :TableNameFilter, :TableFilterType, :SearchNames

        def initialize(tableid=nil, tablenamefilter=nil, tablefiltertype=nil, searchnames=nil)
          @TableId = tableid
          @TableNameFilter = tablenamefilter
          @TableFilterType = tablefiltertype
          @SearchNames = searchnames
        end

        def deserialize(params)
          @TableId = params['TableId']
          unless params['TableNameFilter'].nil?
            @TableNameFilter = TableNameFilter.new
            @TableNameFilter.deserialize(params['TableNameFilter'])
          end
          @TableFilterType = params['TableFilterType']
          @SearchNames = params['SearchNames']
        end
      end

      # DescribeTableMeta返回参数结构体
      class DescribeTableMetaResponse < TencentCloud::Common::AbstractModel
        # @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: :class:`Tencentcloud::Wedata.v20210820.models.TagVoteSum`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableMeta, :LifecycleInfo, :TagVoteSumList, :RequestId

        def initialize(tablemeta=nil, lifecycleinfo=nil, tagvotesumlist=nil, requestid=nil)
          @TableMeta = tablemeta
          @LifecycleInfo = lifecycleinfo
          @TagVoteSumList = tagvotesumlist
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableMeta'].nil?
            @TableMeta = TableMeta.new
            @TableMeta.deserialize(params['TableMeta'])
          end
          unless params['LifecycleInfo'].nil?
            @LifecycleInfo = LifecycleInfo.new
            @LifecycleInfo.deserialize(params['LifecycleInfo'])
          end
          unless params['TagVoteSumList'].nil?
            @TagVoteSumList = TagVoteSum.new
            @TagVoteSumList.deserialize(params['TagVoteSumList'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableMetas请求参数结构体
      class DescribeTableMetasRequest < TencentCloud::Common::AbstractModel
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤字段
        # @type Filters: Array
        # @param OrderFields: 排序字段
        # @type OrderFields: Array

        attr_accessor :PageNumber, :PageSize, :Filters, :OrderFields

        def initialize(pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
        end
      end

      # DescribeTableMetas返回参数结构体
      class DescribeTableMetasResponse < TencentCloud::Common::AbstractModel
        # @param TableMetas: 表元数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableMetas: Array
        # @param TotalCount: 总条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TableMetas, :TotalCount, :RequestId

        def initialize(tablemetas=nil, totalcount=nil, requestid=nil)
          @TableMetas = tablemetas
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TableMetas'].nil?
            @TableMetas = []
            params['TableMetas'].each do |i|
              tablemeta_tmp = TableMeta.new
              tablemeta_tmp.deserialize(i)
              @TableMetas << tablemeta_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeTablePartitions请求参数结构体
      class DescribeTablePartitionsRequest < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # @type TableId: String
        # @param PageNumber: 分页number
        # @type PageNumber: Integer
        # @param PageSize: 分页size
        # @type PageSize: Integer
        # @param FilterSet: 过滤器
        # @type FilterSet: Array
        # @param OrderFieldSet: 排序字段
        # @type OrderFieldSet: Array

        attr_accessor :TableId, :PageNumber, :PageSize, :FilterSet, :OrderFieldSet

        def initialize(tableid=nil, pagenumber=nil, pagesize=nil, filterset=nil, orderfieldset=nil)
          @TableId = tableid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @FilterSet = filterset
          @OrderFieldSet = orderfieldset
        end

        def deserialize(params)
          @TableId = params['TableId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['FilterSet'].nil?
            @FilterSet = []
            params['FilterSet'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @FilterSet << filter_tmp
            end
          end
          unless params['OrderFieldSet'].nil?
            @OrderFieldSet = []
            params['OrderFieldSet'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFieldSet << orderfield_tmp
            end
          end
        end
      end

      # DescribeTablePartitions返回参数结构体
      class DescribeTablePartitionsResponse < TencentCloud::Common::AbstractModel
        # @param TablePartitionSet: 分区详情列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TablePartitionSet: Array
        # @param TotalCount: 总记录数
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TablePartitionSet, :TotalCount, :RequestId

        def initialize(tablepartitionset=nil, totalcount=nil, requestid=nil)
          @TablePartitionSet = tablepartitionset
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TablePartitionSet'].nil?
            @TablePartitionSet = []
            params['TablePartitionSet'].each do |i|
              tablepartition_tmp = TablePartition.new
              tablepartition_tmp.deserialize(i)
              @TablePartitionSet << tablepartition_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableQualityDetails请求参数结构体
      class DescribeTableQualityDetailsRequest < TencentCloud::Common::AbstractModel
        # @param StatisticsDate: 统计日期
        # @type StatisticsDate: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param PageNumber: 分页序号
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param Filters: 过滤参数TableName、DatabaseId 、DatabaseName、OwnerUserName
        # @type Filters: Array
        # @param OrderFields: 排序参数 排序方式 DESC 或者 ASC,表得分排序 TableScore
        # @type OrderFields: Array
        # @param DatasourceId: 数据来源id
        # @type DatasourceId: String
        # @param ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        # @type ScoreType: String

        attr_accessor :StatisticsDate, :ProjectId, :PageNumber, :PageSize, :Filters, :OrderFields, :DatasourceId, :ScoreType

        def initialize(statisticsdate=nil, projectid=nil, pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, datasourceid=nil, scoretype=nil)
          @StatisticsDate = statisticsdate
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @DatasourceId = datasourceid
          @ScoreType = scoretype
        end

        def deserialize(params)
          @StatisticsDate = params['StatisticsDate']
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @DatasourceId = params['DatasourceId']
          @ScoreType = params['ScoreType']
        end
      end

      # DescribeTableQualityDetails返回参数结构体
      class DescribeTableQualityDetailsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 表质量分详情结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TableQualityDetailPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = TableQualityDetailPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableSchemaInfo请求参数结构体
      class DescribeTableSchemaInfoRequest < TencentCloud::Common::AbstractModel
        # @param Name: 表名称
        # @type Name: String
        # @param DatabaseName: 数据库名称
        # @type DatabaseName: String
        # @param MsType: 数据源的类型(例如MYSQL、HIVE、KAFKA等)
        # @type MsType: String
        # @param DatasourceId: 数据源id
        # @type DatasourceId: String
        # @param ConnectionType: 连接类型(示例值rpc)
        # @type ConnectionType: String
        # @param SchemaName: 元数据Database下的Schema名称
        # @type SchemaName: String
        # @param ProjectId: 项目空间ID
        # @type ProjectId: String
        # @param Env: 环境信息
        # @type Env: String
        # @param Model: 空间模式
        # @type Model: String
        # @param DevDatasourceId: 开发态的datasourceId
        # @type DevDatasourceId: String

        attr_accessor :Name, :DatabaseName, :MsType, :DatasourceId, :ConnectionType, :SchemaName, :ProjectId, :Env, :Model, :DevDatasourceId

        def initialize(name=nil, databasename=nil, mstype=nil, datasourceid=nil, connectiontype=nil, schemaname=nil, projectid=nil, env=nil, model=nil, devdatasourceid=nil)
          @Name = name
          @DatabaseName = databasename
          @MsType = mstype
          @DatasourceId = datasourceid
          @ConnectionType = connectiontype
          @SchemaName = schemaname
          @ProjectId = projectid
          @Env = env
          @Model = model
          @DevDatasourceId = devdatasourceid
        end

        def deserialize(params)
          @Name = params['Name']
          @DatabaseName = params['DatabaseName']
          @MsType = params['MsType']
          @DatasourceId = params['DatasourceId']
          @ConnectionType = params['ConnectionType']
          @SchemaName = params['SchemaName']
          @ProjectId = params['ProjectId']
          @Env = params['Env']
          @Model = params['Model']
          @DevDatasourceId = params['DevDatasourceId']
        end
      end

      # DescribeTableSchemaInfo返回参数结构体
      class DescribeTableSchemaInfoResponse < TencentCloud::Common::AbstractModel
        # @param SchemaInfoList: 查询到的SchemaInfo信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaInfoList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :SchemaInfoList, :RequestId

        def initialize(schemainfolist=nil, requestid=nil)
          @SchemaInfoList = schemainfolist
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['SchemaInfoList'].nil?
            @SchemaInfoList = []
            params['SchemaInfoList'].each do |i|
              schemadetail_tmp = SchemaDetail.new
              schemadetail_tmp.deserialize(i)
              @SchemaInfoList << schemadetail_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTableScoreTrend请求参数结构体
      class DescribeTableScoreTrendRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param StatisticsStartDate: 开始时间 秒级时间戳
        # @type StatisticsStartDate: Integer
        # @param StatisticsEndDate: 结束时间 秒级时间戳
        # @type StatisticsEndDate: Integer
        # @param TableId: 表id
        # @type TableId: String
        # @param ScoreType: 1:按全维度权重计算,2:按已配置维度权重计算,3:不按维度权重计算,默认1
        # @type ScoreType: String

        attr_accessor :ProjectId, :StatisticsStartDate, :StatisticsEndDate, :TableId, :ScoreType

        def initialize(projectid=nil, statisticsstartdate=nil, statisticsenddate=nil, tableid=nil, scoretype=nil)
          @ProjectId = projectid
          @StatisticsStartDate = statisticsstartdate
          @StatisticsEndDate = statisticsenddate
          @TableId = tableid
          @ScoreType = scoretype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @StatisticsStartDate = params['StatisticsStartDate']
          @StatisticsEndDate = params['StatisticsEndDate']
          @TableId = params['TableId']
          @ScoreType = params['ScoreType']
        end
      end

      # DescribeTableScoreTrend返回参数结构体
      class DescribeTableScoreTrendResponse < TencentCloud::Common::AbstractModel
        # @param Data: 表得分趋势
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.QualityScoreTrend`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = QualityScoreTrend.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskAlarmRegulations请求参数结构体
      class DescribeTaskAlarmRegulationsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PageNumber: 当前页
        # @type PageNumber: Integer
        # @param PageSize: 每页记录数
        # @type PageSize: Integer
        # @param Filters: 过滤条件(name有RegularStatus、AlarmLevel、AlarmIndicator、RegularName)
        # @type Filters: Array
        # @param OrderFields: 排序条件(RegularId)
        # @type OrderFields: Array
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param TaskType: 任务类型(201代表实时任务,202代表离线任务)
        # @type TaskType: Integer

        attr_accessor :ProjectId, :PageNumber, :PageSize, :Filters, :OrderFields, :TaskId, :TaskType

        def initialize(projectid=nil, pagenumber=nil, pagesize=nil, filters=nil, orderfields=nil, taskid=nil, tasktype=nil)
          @ProjectId = projectid
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Filters = filters
          @OrderFields = orderfields
          @TaskId = taskid
          @TaskType = tasktype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Filters'].nil?
            @Filters = []
            params['Filters'].each do |i|
              filter_tmp = Filter.new
              filter_tmp.deserialize(i)
              @Filters << filter_tmp
            end
          end
          unless params['OrderFields'].nil?
            @OrderFields = []
            params['OrderFields'].each do |i|
              orderfield_tmp = OrderField.new
              orderfield_tmp.deserialize(i)
              @OrderFields << orderfield_tmp
            end
          end
          @TaskId = params['TaskId']
          @TaskType = params['TaskType']
        end
      end

      # DescribeTaskAlarmRegulations返回参数结构体
      class DescribeTaskAlarmRegulationsResponse < TencentCloud::Common::AbstractModel
        # @param TaskAlarmInfos: 告警规则信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAlarmInfos: Array
        # @param TotalCount: 总记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskAlarmInfos, :TotalCount, :RequestId

        def initialize(taskalarminfos=nil, totalcount=nil, requestid=nil)
          @TaskAlarmInfos = taskalarminfos
          @TotalCount = totalcount
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TaskAlarmInfos'].nil?
            @TaskAlarmInfos = []
            params['TaskAlarmInfos'].each do |i|
              taskalarminfo_tmp = TaskAlarmInfo.new
              taskalarminfo_tmp.deserialize(i)
              @TaskAlarmInfos << taskalarminfo_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskByCycleReport请求参数结构体
      class DescribeTaskByCycleReportRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Type: 任务周期类型
        # @type Type: String
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String

        attr_accessor :ProjectId, :Type, :StartTime, :EndTime

        def initialize(projectid=nil, type=nil, starttime=nil, endtime=nil)
          @ProjectId = projectid
          @Type = type
          @StartTime = starttime
          @EndTime = endtime
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Type = params['Type']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
        end
      end

      # DescribeTaskByCycleReport返回参数结构体
      class DescribeTaskByCycleReportResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务周期增长趋势统计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskbystatus_tmp = TaskByStatus.new
              taskbystatus_tmp.deserialize(i)
              @Data << taskbystatus_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskByCycle请求参数结构体
      class DescribeTaskByCycleRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param InCharge: 1
        # @type InCharge: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :ProjectId, :InCharge, :WorkflowId

        def initialize(projectid=nil, incharge=nil, workflowid=nil)
          @ProjectId = projectid
          @InCharge = incharge
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @InCharge = params['InCharge']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeTaskByCycle返回参数结构体
      class DescribeTaskByCycleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 周期任务统计值
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskbycycle_tmp = TaskByCycle.new
              taskbycycle_tmp.deserialize(i)
              @Data << taskbycycle_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskByStatusReport请求参数结构体
      class DescribeTaskByStatusReportRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param Type: 时间类型
        # @type Type: String
        # @param TaskType: 类型
        # @type TaskType: String
        # @param TypeName: 类型名称
        # @type TypeName: String
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param AggregationUnit: 聚合单元,H小时
        # @type AggregationUnit: String
        # @param CycleUnit: 周期
        # @type CycleUnit: String
        # @param Status: 状态
        # @type Status: String
        # @param InCharge: 责任人
        # @type InCharge: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :ProjectId, :Type, :TaskType, :TypeName, :StartTime, :EndTime, :AggregationUnit, :CycleUnit, :Status, :InCharge, :WorkflowId

        def initialize(projectid=nil, type=nil, tasktype=nil, typename=nil, starttime=nil, endtime=nil, aggregationunit=nil, cycleunit=nil, status=nil, incharge=nil, workflowid=nil)
          @ProjectId = projectid
          @Type = type
          @TaskType = tasktype
          @TypeName = typename
          @StartTime = starttime
          @EndTime = endtime
          @AggregationUnit = aggregationunit
          @CycleUnit = cycleunit
          @Status = status
          @InCharge = incharge
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Type = params['Type']
          @TaskType = params['TaskType']
          @TypeName = params['TypeName']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @AggregationUnit = params['AggregationUnit']
          @CycleUnit = params['CycleUnit']
          @Status = params['Status']
          @InCharge = params['InCharge']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeTaskByStatusReport返回参数结构体
      class DescribeTaskByStatusReportResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务上报趋势指标
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              taskbystatus_tmp = TaskByStatus.new
              taskbystatus_tmp.deserialize(i)
              @Data << taskbystatus_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskLineage请求参数结构体
      class DescribeTaskLineageRequest < TencentCloud::Common::AbstractModel
        # @param RequestFromSource: 请求来源,WEB 前端;CLIENT 客户端
        # @type RequestFromSource: String
        # @param TaskId: 任务ID
        # @type TaskId: String

        attr_accessor :RequestFromSource, :TaskId

        def initialize(requestfromsource=nil, taskid=nil)
          @RequestFromSource = requestfromsource
          @TaskId = taskid
        end

        def deserialize(params)
          @RequestFromSource = params['RequestFromSource']
          @TaskId = params['TaskId']
        end
      end

      # DescribeTaskLineage返回参数结构体
      class DescribeTaskLineageResponse < TencentCloud::Common::AbstractModel
        # @param RequestFromSource: 请求来源,WEB 前端;CLIENT 客户端
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RequestFromSource: String
        # @param TaskLineageInfos: 通过任务ID查询集成任务信息列表
        # @type TaskLineageInfos: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :RequestFromSource, :TaskLineageInfos, :RequestId

        def initialize(requestfromsource=nil, tasklineageinfos=nil, requestid=nil)
          @RequestFromSource = requestfromsource
          @TaskLineageInfos = tasklineageinfos
          @RequestId = requestid
        end

        def deserialize(params)
          @RequestFromSource = params['RequestFromSource']
          unless params['TaskLineageInfos'].nil?
            @TaskLineageInfos = []
            params['TaskLineageInfos'].each do |i|
              tasklineageinfopair_tmp = TaskLineageInfoPair.new
              tasklineageinfopair_tmp.deserialize(i)
              @TaskLineageInfos << tasklineageinfopair_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskLockStatus请求参数结构体
      class DescribeTaskLockStatusRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型:201. stream,   202. offline
        # @type TaskType: Integer

        attr_accessor :TaskId, :ProjectId, :TaskType

        def initialize(taskid=nil, projectid=nil, tasktype=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @TaskType = tasktype
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
        end
      end

      # DescribeTaskLockStatus返回参数结构体
      class DescribeTaskLockStatusResponse < TencentCloud::Common::AbstractModel
        # @param TaskLockStatus: 任务锁状态信息
        # @type TaskLockStatus: :class:`Tencentcloud::Wedata.v20210820.models.TaskLockStatus`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskLockStatus, :RequestId

        def initialize(tasklockstatus=nil, requestid=nil)
          @TaskLockStatus = tasklockstatus
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['TaskLockStatus'].nil?
            @TaskLockStatus = TaskLockStatus.new
            @TaskLockStatus.deserialize(params['TaskLockStatus'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskRunHistory请求参数结构体
      class DescribeTaskRunHistoryRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param SearchCondition: 检索条件
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceSearchCondition`
        # @param PageSize: 分页大小
        # @type PageSize: Integer
        # @param PageNumber: 分页页码
        # @type PageNumber: Integer

        attr_accessor :ProjectId, :SearchCondition, :PageSize, :PageNumber

        def initialize(projectid=nil, searchcondition=nil, pagesize=nil, pagenumber=nil)
          @ProjectId = projectid
          @SearchCondition = searchcondition
          @PageSize = pagesize
          @PageNumber = pagenumber
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceSearchCondition.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @PageSize = params['PageSize']
          @PageNumber = params['PageNumber']
        end
      end

      # DescribeTaskRunHistory返回参数结构体
      class DescribeTaskRunHistoryResponse < TencentCloud::Common::AbstractModel
        # @param Data: 分页查询任务运行历史结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.InstanceOpsInfoPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = InstanceOpsInfoPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTaskScript请求参数结构体
      class DescribeTaskScriptRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String

        attr_accessor :ProjectId, :TaskId

        def initialize(projectid=nil, taskid=nil)
          @ProjectId = projectid
          @TaskId = taskid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
        end
      end

      # DescribeTaskScript返回参数结构体
      class DescribeTaskScriptResponse < TencentCloud::Common::AbstractModel
        # @param Data: 任务脚本内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TaskScriptContent`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = TaskScriptContent.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTemplateDimCount请求参数结构体
      class DescribeTemplateDimCountRequest < TencentCloud::Common::AbstractModel
        # @param Type: 模板类型
        # @type Type: Integer
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :Type, :ProjectId

        def initialize(type=nil, projectid=nil)
          @Type = type
          @ProjectId = projectid
        end

        def deserialize(params)
          @Type = params['Type']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeTemplateDimCount返回参数结构体
      class DescribeTemplateDimCountResponse < TencentCloud::Common::AbstractModel
        # @param Data: 维度统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              dimensioncount_tmp = DimensionCount.new
              dimensioncount_tmp.deserialize(i)
              @Data << dimensioncount_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeThirdTaskRunLog请求参数结构体
      class DescribeThirdTaskRunLogRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param CurRunDate: 实例数据时间
        # @type CurRunDate: String

        attr_accessor :TaskId, :CurRunDate

        def initialize(taskid=nil, currundate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
        end
      end

      # DescribeThirdTaskRunLog返回参数结构体
      class DescribeThirdTaskRunLogResponse < TencentCloud::Common::AbstractModel
        # @param Data: 获取第三方运行日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # DescribeTopTableStat请求参数结构体
      class DescribeTopTableStatRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param BeginDate: 开始时间,时间戳到秒
        # @type BeginDate: String
        # @param EndDate: 结束时间,时间戳到秒
        # @type EndDate: String

        attr_accessor :ProjectId, :BeginDate, :EndDate

        def initialize(projectid=nil, begindate=nil, enddate=nil)
          @ProjectId = projectid
          @BeginDate = begindate
          @EndDate = enddate
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @BeginDate = params['BeginDate']
          @EndDate = params['EndDate']
        end
      end

      # DescribeTopTableStat返回参数结构体
      class DescribeTopTableStatResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.TopTableStat`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = TopTableStat.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeTrendStat请求参数结构体
      class DescribeTrendStatRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param BeginDate: 开始时间,时间戳到秒
        # @type BeginDate: String
        # @param EndDate: 结束时间,时间戳到秒
        # @type EndDate: String

        attr_accessor :ProjectId, :BeginDate, :EndDate

        def initialize(projectid=nil, begindate=nil, enddate=nil)
          @ProjectId = projectid
          @BeginDate = begindate
          @EndDate = enddate
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @BeginDate = params['BeginDate']
          @EndDate = params['EndDate']
        end
      end

      # DescribeTrendStat返回参数结构体
      class DescribeTrendStatResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              ruleexecdatestat_tmp = RuleExecDateStat.new
              ruleexecdatestat_tmp.deserialize(i)
              @Data << ruleexecdatestat_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowCanvasInfo请求参数结构体
      class DescribeWorkflowCanvasInfoRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :WorkflowId, :ProjectId

        def initialize(workflowid=nil, projectid=nil)
          @WorkflowId = workflowid
          @ProjectId = projectid
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeWorkflowCanvasInfo返回参数结构体
      class DescribeWorkflowCanvasInfoResponse < TencentCloud::Common::AbstractModel
        # @param Data: 工作流调度详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkflowCanvasOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkflowCanvasOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowExecuteById请求参数结构体
      class DescribeWorkflowExecuteByIdRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param WorkFlowIdList: 工作流ID
        # @type WorkFlowIdList: String
        # @param PageNumber: 分页大小
        # @type PageNumber: Integer
        # @param PageSize: 分页索引
        # @type PageSize: Integer

        attr_accessor :ProjectId, :WorkFlowIdList, :PageNumber, :PageSize

        def initialize(projectid=nil, workflowidlist=nil, pagenumber=nil, pagesize=nil)
          @ProjectId = projectid
          @WorkFlowIdList = workflowidlist
          @PageNumber = pagenumber
          @PageSize = pagesize
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkFlowIdList = params['WorkFlowIdList']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
        end
      end

      # DescribeWorkflowExecuteById返回参数结构体
      class DescribeWorkflowExecuteByIdResponse < TencentCloud::Common::AbstractModel
        # @param Data: 工作流运行时间信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkFlowExecuteDtoByPage`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkFlowExecuteDtoByPage.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowInfoById请求参数结构体
      class DescribeWorkflowInfoByIdRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :WorkflowId, :ProjectId

        def initialize(workflowid=nil, projectid=nil)
          @WorkflowId = workflowid
          @ProjectId = projectid
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeWorkflowInfoById返回参数结构体
      class DescribeWorkflowInfoByIdResponse < TencentCloud::Common::AbstractModel
        # @param Data: 工作流调度详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkflowSchedulerOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkflowSchedulerOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowListByProjectId请求参数结构体
      class DescribeWorkflowListByProjectIdRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :ProjectId

        def initialize(projectid=nil)
          @ProjectId = projectid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeWorkflowListByProjectId返回参数结构体
      class DescribeWorkflowListByProjectIdResponse < TencentCloud::Common::AbstractModel
        # @param Data: 根据项目id获取项目下所有工作流列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              workflowcanvasopsdto_tmp = WorkflowCanvasOpsDto.new
              workflowcanvasopsdto_tmp.deserialize(i)
              @Data << workflowcanvasopsdto_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowSchedulerInfoDs请求参数结构体
      class DescribeWorkflowSchedulerInfoDsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String

        attr_accessor :ProjectId, :WorkflowId

        def initialize(projectid=nil, workflowid=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
        end
      end

      # DescribeWorkflowSchedulerInfoDs返回参数结构体
      class DescribeWorkflowSchedulerInfoDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkflowScheduleDtoDs`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkflowScheduleDtoDs.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DescribeWorkflowTaskCount请求参数结构体
      class DescribeWorkflowTaskCountRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流列表
        # @type WorkflowId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :WorkflowId, :ProjectId

        def initialize(workflowid=nil, projectid=nil)
          @WorkflowId = workflowid
          @ProjectId = projectid
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @ProjectId = params['ProjectId']
        end
      end

      # DescribeWorkflowTaskCount返回参数结构体
      class DescribeWorkflowTaskCountResponse < TencentCloud::Common::AbstractModel
        # @param Data: 统计结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.WorkflowTaskCountOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = WorkflowTaskCountOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DiagnosePro请求参数结构体
      class DiagnoseProRequest < TencentCloud::Common::AbstractModel
        # @param SearchCondition: 查询条件(当前接口TaskId和CurRunDate需要填充在该字段方可诊断)
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :SearchCondition, :ProjectId, :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :OptType, :OperatorName, :OperatorId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(searchcondition=nil, projectid=nil, instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, opttype=nil, operatorname=nil, operatorid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @SearchCondition = searchcondition
          @ProjectId = projectid
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @ProjectId = params['ProjectId']
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # DiagnosePro返回参数结构体
      class DiagnoseProResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.DiagnoseRep`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = DiagnoseRep.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # DiagnoseRep
      class DiagnoseRep < TencentCloud::Common::AbstractModel
        # @param Content: 诊断信息内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Content: :class:`Tencentcloud::Wedata.v20210820.models.Content`
        # @param Table: 诊断结果相关信息列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Table: :class:`Tencentcloud::Wedata.v20210820.models.Table`

        attr_accessor :Content, :Table

        def initialize(content=nil, table=nil)
          @Content = content
          @Table = table
        end

        def deserialize(params)
          unless params['Content'].nil?
            @Content = Content.new
            @Content.deserialize(params['Content'])
          end
          unless params['Table'].nil?
            @Table = Table.new
            @Table.deserialize(params['Table'])
          end
        end
      end

      # 维度统计业务视图
      class DimensionCount < TencentCloud::Common::AbstractModel
        # @param DimType: 维度类型1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DimType: Integer
        # @param Count: 统计值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Count: Integer
        # @param QualityDim: 维度类型1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualityDim: Integer

        attr_accessor :DimType, :Count, :QualityDim
        extend Gem::Deprecate
        deprecate :DimType, :none, 2024, 9
        deprecate :DimType=, :none, 2024, 9

        def initialize(dimtype=nil, count=nil, qualitydim=nil)
          @DimType = dimtype
          @Count = count
          @QualityDim = qualitydim
        end

        def deserialize(params)
          @DimType = params['DimType']
          @Count = params['Count']
          @QualityDim = params['QualityDim']
        end
      end

      # 维度评分
      class DimensionScore < TencentCloud::Common::AbstractModel
        # @param DimensionScoreList: 维度评分列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DimensionScoreList: Array

        attr_accessor :DimensionScoreList

        def initialize(dimensionscorelist=nil)
          @DimensionScoreList = dimensionscorelist
        end

        def deserialize(params)
          unless params['DimensionScoreList'].nil?
            @DimensionScoreList = []
            params['DimensionScoreList'].each do |i|
              dimensionscoreinfo_tmp = DimensionScoreInfo.new
              dimensionscoreinfo_tmp.deserialize(i)
              @DimensionScoreList << dimensionscoreinfo_tmp
            end
          end
        end
      end

      # 维度评分信息
      class DimensionScoreInfo < TencentCloud::Common::AbstractModel
        # @param Name: 维度名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Weight: 权重
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Weight: Float
        # @param UserId: 设置人id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: Integer
        # @param UserName: 设置人名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserName: String
        # @param UpdateTime: 更新时间 时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: Integer
        # @param JoinTableNumber: 参与评估表数量
        # @type JoinTableNumber: Integer
        # @param Score: 评分
        # @type Score: Float
        # @param UserIdStr: 设置人idStr
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserIdStr: String

        attr_accessor :Name, :Weight, :UserId, :UserName, :UpdateTime, :JoinTableNumber, :Score, :UserIdStr

        def initialize(name=nil, weight=nil, userid=nil, username=nil, updatetime=nil, jointablenumber=nil, score=nil, useridstr=nil)
          @Name = name
          @Weight = weight
          @UserId = userid
          @UserName = username
          @UpdateTime = updatetime
          @JoinTableNumber = jointablenumber
          @Score = score
          @UserIdStr = useridstr
        end

        def deserialize(params)
          @Name = params['Name']
          @Weight = params['Weight']
          @UserId = params['UserId']
          @UserName = params['UserName']
          @UpdateTime = params['UpdateTime']
          @JoinTableNumber = params['JoinTableNumber']
          @Score = params['Score']
          @UserIdStr = params['UserIdStr']
        end
      end

      # 数据治理配置项
      class DlcDataGovernPolicy < TencentCloud::Common::AbstractModel
        # @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: String
        # @param RuleType: 治理规则类型,Customize: 自定义;Intelligence: 智能治理
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleType: String
        # @param GovernEngine: 治理引擎
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type GovernEngine: String

        attr_accessor :RewriteDataPolicy, :ExpiredSnapshotsPolicy, :RemoveOrphanFilesPolicy, :MergeManifestsPolicy, :InheritDataBase, :RuleType, :GovernEngine

        def initialize(rewritedatapolicy=nil, expiredsnapshotspolicy=nil, removeorphanfilespolicy=nil, mergemanifestspolicy=nil, inheritdatabase=nil, ruletype=nil, governengine=nil)
          @RewriteDataPolicy = rewritedatapolicy
          @ExpiredSnapshotsPolicy = expiredsnapshotspolicy
          @RemoveOrphanFilesPolicy = removeorphanfilespolicy
          @MergeManifestsPolicy = mergemanifestspolicy
          @InheritDataBase = inheritdatabase
          @RuleType = ruletype
          @GovernEngine = governengine
        end

        def deserialize(params)
          unless params['RewriteDataPolicy'].nil?
            @RewriteDataPolicy = DlcRewriteDataInfo.new
            @RewriteDataPolicy.deserialize(params['RewriteDataPolicy'])
          end
          unless params['ExpiredSnapshotsPolicy'].nil?
            @ExpiredSnapshotsPolicy = DlcExpiredSnapshotsInfo.new
            @ExpiredSnapshotsPolicy.deserialize(params['ExpiredSnapshotsPolicy'])
          end
          unless params['RemoveOrphanFilesPolicy'].nil?
            @RemoveOrphanFilesPolicy = DlcRemoveOrphanFilesInfo.new
            @RemoveOrphanFilesPolicy.deserialize(params['RemoveOrphanFilesPolicy'])
          end
          unless params['MergeManifestsPolicy'].nil?
            @MergeManifestsPolicy = DlcMergeManifestsInfo.new
            @MergeManifestsPolicy.deserialize(params['MergeManifestsPolicy'])
          end
          @InheritDataBase = params['InheritDataBase']
          @RuleType = params['RuleType']
          @GovernEngine = params['GovernEngine']
        end
      end

      # 快照过期治理项
      class DlcExpiredSnapshotsInfo < TencentCloud::Common::AbstractModel
        # @param ExpiredSnapshotsEnable: 是否启用快照过期治理项:enable、none
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExpiredSnapshotsEnable: String
        # @param Engine: 用于运行快照过期治理项的引擎名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Engine: String
        # @param RetainLast: 需要保留的最近快照个数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RetainLast: Integer
        # @param BeforeDays: 过期指定天前的快照
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BeforeDays: Integer
        # @param MaxConcurrentDeletes: 清理过期快照的并行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MaxConcurrentDeletes: Integer
        # @param IntervalMin: 快照过期治理运行周期,单位为分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntervalMin: Integer

        attr_accessor :ExpiredSnapshotsEnable, :Engine, :RetainLast, :BeforeDays, :MaxConcurrentDeletes, :IntervalMin

        def initialize(expiredsnapshotsenable=nil, engine=nil, retainlast=nil, beforedays=nil, maxconcurrentdeletes=nil, intervalmin=nil)
          @ExpiredSnapshotsEnable = expiredsnapshotsenable
          @Engine = engine
          @RetainLast = retainlast
          @BeforeDays = beforedays
          @MaxConcurrentDeletes = maxconcurrentdeletes
          @IntervalMin = intervalmin
        end

        def deserialize(params)
          @ExpiredSnapshotsEnable = params['ExpiredSnapshotsEnable']
          @Engine = params['Engine']
          @RetainLast = params['RetainLast']
          @BeforeDays = params['BeforeDays']
          @MaxConcurrentDeletes = params['MaxConcurrentDeletes']
          @IntervalMin = params['IntervalMin']
        end
      end

      # 合并元数据Manifests治理项
      class DlcMergeManifestsInfo < TencentCloud::Common::AbstractModel
        # @param MergeManifestsEnable: 是否启用合并元数据Manifests文件治理项:enable、none
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MergeManifestsEnable: String
        # @param Engine: 用于运行合并元数据Manifests文件治理项的引擎名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Engine: String
        # @param IntervalMin: 合并元数据Manifests文件治理运行周期,单位为分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntervalMin: Integer

        attr_accessor :MergeManifestsEnable, :Engine, :IntervalMin

        def initialize(mergemanifestsenable=nil, engine=nil, intervalmin=nil)
          @MergeManifestsEnable = mergemanifestsenable
          @Engine = engine
          @IntervalMin = intervalmin
        end

        def deserialize(params)
          @MergeManifestsEnable = params['MergeManifestsEnable']
          @Engine = params['Engine']
          @IntervalMin = params['IntervalMin']
        end
      end

      # 移除孤立文件治理项
      class DlcRemoveOrphanFilesInfo < TencentCloud::Common::AbstractModel
        # @param RemoveOrphanFilesEnable: 是否启用移除孤立文件治理项:enable、none
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemoveOrphanFilesEnable: String
        # @param Engine: 用于运行移除孤立文件治理项的引擎名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Engine: String
        # @param BeforeDays: 移除指定天前的孤立文件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BeforeDays: Integer
        # @param MaxConcurrentDeletes: 移除孤立文件的并行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MaxConcurrentDeletes: Integer
        # @param IntervalMin: 移除孤立文件治理运行周期,单位为分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntervalMin: Integer

        attr_accessor :RemoveOrphanFilesEnable, :Engine, :BeforeDays, :MaxConcurrentDeletes, :IntervalMin

        def initialize(removeorphanfilesenable=nil, engine=nil, beforedays=nil, maxconcurrentdeletes=nil, intervalmin=nil)
          @RemoveOrphanFilesEnable = removeorphanfilesenable
          @Engine = engine
          @BeforeDays = beforedays
          @MaxConcurrentDeletes = maxconcurrentdeletes
          @IntervalMin = intervalmin
        end

        def deserialize(params)
          @RemoveOrphanFilesEnable = params['RemoveOrphanFilesEnable']
          @Engine = params['Engine']
          @BeforeDays = params['BeforeDays']
          @MaxConcurrentDeletes = params['MaxConcurrentDeletes']
          @IntervalMin = params['IntervalMin']
        end
      end

      # 数据排布治理项
      class DlcRewriteDataInfo < TencentCloud::Common::AbstractModel
        # @param RewriteDataEnable: 是否启用数据重排布治理项:enable(启动)、disable(不启用,默认)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RewriteDataEnable: String
        # @param Engine: 用于运行数据重排布治理项的引擎名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Engine: String
        # @param MinInputFiles: 重排布任务执行的文件个数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MinInputFiles: Integer
        # @param TargetFileSizeBytes: 数据重排布写后的数据文件大小,单位为字节
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetFileSizeBytes: Integer
        # @param IntervalMin: 数据重排布治理运行周期,单位为分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntervalMin: Integer

        attr_accessor :RewriteDataEnable, :Engine, :MinInputFiles, :TargetFileSizeBytes, :IntervalMin

        def initialize(rewritedataenable=nil, engine=nil, mininputfiles=nil, targetfilesizebytes=nil, intervalmin=nil)
          @RewriteDataEnable = rewritedataenable
          @Engine = engine
          @MinInputFiles = mininputfiles
          @TargetFileSizeBytes = targetfilesizebytes
          @IntervalMin = intervalmin
        end

        def deserialize(params)
          @RewriteDataEnable = params['RewriteDataEnable']
          @Engine = params['Engine']
          @MinInputFiles = params['MinInputFiles']
          @TargetFileSizeBytes = params['TargetFileSizeBytes']
          @IntervalMin = params['IntervalMin']
        end
      end

      # 试运行记录
      class DrInstanceOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskSource: 任务来源
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskSource: String
        # @param JobId: 编排空间jobId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type JobId: String
        # @param RecordId: 任务提交记录Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RecordId: Integer
        # @param SonRecordId: 子任务记录id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SonRecordId: Integer
        # @param InstanceId: 任务实例Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param TaskId: 编排空间为任务id, 开发空间为脚本id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param RemotePath: 脚本cos地址
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemotePath: String
        # @param ScriptContent: 试运行内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScriptContent: String
        # @param CreateTime: 任务提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param StartTime: 任务启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param Duration: 运行时长(秒)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Duration: String
        # @param Status: 试运行状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param TaskName: 编排空间为任务名称,开发空间为脚本名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param SubmitUserName: 试运行提交人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitUserName: String
        # @param SubmitUserId: 试运行提交人userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitUserId: String
        # @param TaskType: 任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskType: String
        # @param HasResultSet: 是否含有结果集
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HasResultSet: Boolean

        attr_accessor :TaskSource, :JobId, :RecordId, :SonRecordId, :InstanceId, :TaskId, :RemotePath, :ScriptContent, :CreateTime, :StartTime, :Duration, :Status, :TaskName, :SubmitUserName, :SubmitUserId, :TaskType, :HasResultSet

        def initialize(tasksource=nil, jobid=nil, recordid=nil, sonrecordid=nil, instanceid=nil, taskid=nil, remotepath=nil, scriptcontent=nil, createtime=nil, starttime=nil, duration=nil, status=nil, taskname=nil, submitusername=nil, submituserid=nil, tasktype=nil, hasresultset=nil)
          @TaskSource = tasksource
          @JobId = jobid
          @RecordId = recordid
          @SonRecordId = sonrecordid
          @InstanceId = instanceid
          @TaskId = taskid
          @RemotePath = remotepath
          @ScriptContent = scriptcontent
          @CreateTime = createtime
          @StartTime = starttime
          @Duration = duration
          @Status = status
          @TaskName = taskname
          @SubmitUserName = submitusername
          @SubmitUserId = submituserid
          @TaskType = tasktype
          @HasResultSet = hasresultset
        end

        def deserialize(params)
          @TaskSource = params['TaskSource']
          @JobId = params['JobId']
          @RecordId = params['RecordId']
          @SonRecordId = params['SonRecordId']
          @InstanceId = params['InstanceId']
          @TaskId = params['TaskId']
          @RemotePath = params['RemotePath']
          @ScriptContent = params['ScriptContent']
          @CreateTime = params['CreateTime']
          @StartTime = params['StartTime']
          @Duration = params['Duration']
          @Status = params['Status']
          @TaskName = params['TaskName']
          @SubmitUserName = params['SubmitUserName']
          @SubmitUserId = params['SubmitUserId']
          @TaskType = params['TaskType']
          @HasResultSet = params['HasResultSet']
        end
      end

      # 试运行记录
      class DrInstanceOpsDtoPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              drinstanceopsdto_tmp = DrInstanceOpsDto.new
              drinstanceopsdto_tmp.deserialize(i)
              @Items << drinstanceopsdto_tmp
            end
          end
        end
      end

      # DryRunDIOfflineTask请求参数结构体
      class DryRunDIOfflineTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务Id
        # @type TaskId: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param ResourceGroup: 资源组Id
        # @type ResourceGroup: String
        # @param TaskTypeId: 默认 27
        # @type TaskTypeId: Integer

        attr_accessor :TaskId, :ProjectId, :ResourceGroup, :TaskTypeId

        def initialize(taskid=nil, projectid=nil, resourcegroup=nil, tasktypeid=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @ResourceGroup = resourcegroup
          @TaskTypeId = tasktypeid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @ResourceGroup = params['ResourceGroup']
          @TaskTypeId = params['TaskTypeId']
        end
      end

      # DryRunDIOfflineTask返回参数结构体
      class DryRunDIOfflineTaskResponse < TencentCloud::Common::AbstractModel
        # @param CurrentRunDate: 数据时间
        # @type CurrentRunDate: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Status: 任务状态
        # @type Status: String
        # @param TaskId: 任务Id
        # @type TaskId: String
        # @param TaskInstanceKey: 任务实例唯一key
        # @type TaskInstanceKey: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :CurrentRunDate, :ProjectId, :Status, :TaskId, :TaskInstanceKey, :RequestId

        def initialize(currentrundate=nil, projectid=nil, status=nil, taskid=nil, taskinstancekey=nil, requestid=nil)
          @CurrentRunDate = currentrundate
          @ProjectId = projectid
          @Status = status
          @TaskId = taskid
          @TaskInstanceKey = taskinstancekey
          @RequestId = requestid
        end

        def deserialize(params)
          @CurrentRunDate = params['CurrentRunDate']
          @ProjectId = params['ProjectId']
          @Status = params['Status']
          @TaskId = params['TaskId']
          @TaskInstanceKey = params['TaskInstanceKey']
          @RequestId = params['RequestId']
        end
      end

      # 值班信息
      class Duty < TencentCloud::Common::AbstractModel
        # @param DutyScheduleId: 值班Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DutyScheduleId: Integer
        # @param StartTime: 值班开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 值班结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param DutyPersons: 值班人员
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DutyPersons: Array

        attr_accessor :DutyScheduleId, :StartTime, :EndTime, :DutyPersons

        def initialize(dutyscheduleid=nil, starttime=nil, endtime=nil, dutypersons=nil)
          @DutyScheduleId = dutyscheduleid
          @StartTime = starttime
          @EndTime = endtime
          @DutyPersons = dutypersons
        end

        def deserialize(params)
          @DutyScheduleId = params['DutyScheduleId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          unless params['DutyPersons'].nil?
            @DutyPersons = []
            params['DutyPersons'].each do |i|
              dutyperson_tmp = DutyPerson.new
              dutyperson_tmp.deserialize(i)
              @DutyPersons << dutyperson_tmp
            end
          end
        end
      end

      # 值班人员
      class DutyPerson < TencentCloud::Common::AbstractModel
        # @param UserId: 值班人子账号id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: String
        # @param UserName: 值班人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserName: String
        # @param OwnerUserId: 值班人员主账号用户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserId: String
        # @param TenantId: 值班人tenantId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantId: Integer
        # @param AddTime: 2023-11-02 08:00:00
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AddTime: String
        # @param Params: 扩展字段
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String

        attr_accessor :UserId, :UserName, :OwnerUserId, :TenantId, :AddTime, :Params

        def initialize(userid=nil, username=nil, owneruserid=nil, tenantid=nil, addtime=nil, params=nil)
          @UserId = userid
          @UserName = username
          @OwnerUserId = owneruserid
          @TenantId = tenantid
          @AddTime = addtime
          @Params = params
        end

        def deserialize(params)
          @UserId = params['UserId']
          @UserName = params['UserName']
          @OwnerUserId = params['OwnerUserId']
          @TenantId = params['TenantId']
          @AddTime = params['AddTime']
          @Params = params['Params']
        end
      end

      # 值班表列表
      class DutySchedule < TencentCloud::Common::AbstractModel
        # @param Rows: 值班表列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Rows: Array
        # @param TotalCount: 总条数
        # @type TotalCount: Integer
        # @param PageNumber: 页号
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # @type PageSize: Integer
        # @param TotalPageNumber: 总页数
        # @type TotalPageNumber: Integer

        attr_accessor :Rows, :TotalCount, :PageNumber, :PageSize, :TotalPageNumber

        def initialize(rows=nil, totalcount=nil, pagenumber=nil, pagesize=nil, totalpagenumber=nil)
          @Rows = rows
          @TotalCount = totalcount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @TotalPageNumber = totalpagenumber
        end

        def deserialize(params)
          unless params['Rows'].nil?
            @Rows = []
            params['Rows'].each do |i|
              dutyscheduledata_tmp = DutyScheduleData.new
              dutyscheduledata_tmp.deserialize(i)
              @Rows << dutyscheduledata_tmp
            end
          end
          @TotalCount = params['TotalCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          @TotalPageNumber = params['TotalPageNumber']
        end
      end

      # 值班表列表
      class DutyScheduleData < TencentCloud::Common::AbstractModel
        # @param Id: 值班表Id
        # @type Id: Integer
        # @param Name: 值班表名称
        # @type Name: String
        # @param Creator: 创建人
        # @type Creator: String

        attr_accessor :Id, :Name, :Creator

        def initialize(id=nil, name=nil, creator=nil)
          @Id = id
          @Name = name
          @Creator = creator
        end

        def deserialize(params)
          @Id = params['Id']
          @Name = params['Name']
          @Creator = params['Creator']
        end
      end

      # 值班信息表
      class DutyScheduleDetailsInfo < TencentCloud::Common::AbstractModel
        # @param Day: 值班日期
        # @type Day: String
        # @param Duty: 值班信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Duty: Array

        attr_accessor :Day, :Duty

        def initialize(day=nil, duty=nil)
          @Day = day
          @Duty = duty
        end

        def deserialize(params)
          @Day = params['Day']
          unless params['Duty'].nil?
            @Duty = []
            params['Duty'].each do |i|
              duty_tmp = Duty.new
              duty_tmp.deserialize(i)
              @Duty << duty_tmp
            end
          end
        end
      end

      # 事件连续时间实例信息
      class EventBatchCaseDTO < TencentCloud::Common::AbstractModel
        # @param CaseId: 事件实例id
        # @type CaseId: String
        # @param Name: 事件名
        # @type Name: String
        # @param StartDimension: 事件触发起始时间
        # @type StartDimension: String
        # @param CreationTs: 创建时间
        # @type CreationTs: String
        # @param ConsumerId: 消费者id
        # @type ConsumerId: String
        # @param Description: 描述信息
        # @type Description: String
        # @param EndDimension: 事件触发结束时间
        # @type EndDimension: String
        # @param EventSubType: 事件周期
        # @type EventSubType: String

        attr_accessor :CaseId, :Name, :StartDimension, :CreationTs, :ConsumerId, :Description, :EndDimension, :EventSubType

        def initialize(caseid=nil, name=nil, startdimension=nil, creationts=nil, consumerid=nil, description=nil, enddimension=nil, eventsubtype=nil)
          @CaseId = caseid
          @Name = name
          @StartDimension = startdimension
          @CreationTs = creationts
          @ConsumerId = consumerid
          @Description = description
          @EndDimension = enddimension
          @EventSubType = eventsubtype
        end

        def deserialize(params)
          @CaseId = params['CaseId']
          @Name = params['Name']
          @StartDimension = params['StartDimension']
          @CreationTs = params['CreationTs']
          @ConsumerId = params['ConsumerId']
          @Description = params['Description']
          @EndDimension = params['EndDimension']
          @EventSubType = params['EventSubType']
        end
      end

      # 事件实例
      class EventCaseAuditLogOptDto < TencentCloud::Common::AbstractModel
        # @param CaseId: 事件实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CaseId: String
        # @param EventName: 事件名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventName: String
        # @param EventType: 事件类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventType: String
        # @param EventSubType: 事件分割类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventSubType: String
        # @param EventBroadcastType: 事件广播类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventBroadcastType: String
        # @param TTL: 事件实例存活时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TTL: Integer
        # @param TimeUnit: 事件实例存活时间单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TimeUnit: String
        # @param Dimension: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Dimension: String
        # @param Status: 事件实例状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param EventTriggerTimestamp: 事件实例触发时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventTriggerTimestamp: String
        # @param LogTimestamp: 事件实例消费时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LogTimestamp: String
        # @param Description: 事件实例描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String

        attr_accessor :CaseId, :EventName, :EventType, :EventSubType, :EventBroadcastType, :TTL, :TimeUnit, :Dimension, :Status, :EventTriggerTimestamp, :LogTimestamp, :Description

        def initialize(caseid=nil, eventname=nil, eventtype=nil, eventsubtype=nil, eventbroadcasttype=nil, ttl=nil, timeunit=nil, dimension=nil, status=nil, eventtriggertimestamp=nil, logtimestamp=nil, description=nil)
          @CaseId = caseid
          @EventName = eventname
          @EventType = eventtype
          @EventSubType = eventsubtype
          @EventBroadcastType = eventbroadcasttype
          @TTL = ttl
          @TimeUnit = timeunit
          @Dimension = dimension
          @Status = status
          @EventTriggerTimestamp = eventtriggertimestamp
          @LogTimestamp = logtimestamp
          @Description = description
        end

        def deserialize(params)
          @CaseId = params['CaseId']
          @EventName = params['EventName']
          @EventType = params['EventType']
          @EventSubType = params['EventSubType']
          @EventBroadcastType = params['EventBroadcastType']
          @TTL = params['TTL']
          @TimeUnit = params['TimeUnit']
          @Dimension = params['Dimension']
          @Status = params['Status']
          @EventTriggerTimestamp = params['EventTriggerTimestamp']
          @LogTimestamp = params['LogTimestamp']
          @Description = params['Description']
        end
      end

      # 事件实例分页查询结果
      class EventCaseAuditLogVOCollection < TencentCloud::Common::AbstractModel
        # @param TotalCount: 结果总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 总页数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 分页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 分页数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              eventcaseauditlogoptdto_tmp = EventCaseAuditLogOptDto.new
              eventcaseauditlogoptdto_tmp.deserialize(i)
              @Items << eventcaseauditlogoptdto_tmp
            end
          end
        end
      end

      # 事件消费记录
      class EventCaseConsumeLogOptDto < TencentCloud::Common::AbstractModel
        # @param ConsumeLogId: 消费ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConsumeLogId: String
        # @param EventCaseId: 事件案例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventCaseId: String
        # @param ConsumerId: 消费者ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConsumerId: String
        # @param CreationTimestamp: 消费时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreationTimestamp: String
        # @param ConsumerDetail: 任务详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConsumerDetail: :class:`Tencentcloud::Wedata.v20210820.models.TaskOpsDto`

        attr_accessor :ConsumeLogId, :EventCaseId, :ConsumerId, :CreationTimestamp, :ConsumerDetail

        def initialize(consumelogid=nil, eventcaseid=nil, consumerid=nil, creationtimestamp=nil, consumerdetail=nil)
          @ConsumeLogId = consumelogid
          @EventCaseId = eventcaseid
          @ConsumerId = consumerid
          @CreationTimestamp = creationtimestamp
          @ConsumerDetail = consumerdetail
        end

        def deserialize(params)
          @ConsumeLogId = params['ConsumeLogId']
          @EventCaseId = params['EventCaseId']
          @ConsumerId = params['ConsumerId']
          @CreationTimestamp = params['CreationTimestamp']
          unless params['ConsumerDetail'].nil?
            @ConsumerDetail = TaskOpsDto.new
            @ConsumerDetail.deserialize(params['ConsumerDetail'])
          end
        end
      end

      # 事件消费任务记录列表
      class EventCaseConsumeLogOptDtoCollection < TencentCloud::Common::AbstractModel
        # @param TotalCount: 结果总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 结果总页数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页结果数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 每页数目
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 分页数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              eventcaseconsumelogoptdto_tmp = EventCaseConsumeLogOptDto.new
              eventcaseconsumelogoptdto_tmp.deserialize(i)
              @Items << eventcaseconsumelogoptdto_tmp
            end
          end
        end
      end

      # 事件实例信息
      class EventCaseDTO < TencentCloud::Common::AbstractModel
        # @param CaseId: 事件实例id
        # @type CaseId: String
        # @param Name: 事件名
        # @type Name: String
        # @param Dimension: 事件格式
        # @type Dimension: String
        # @param CreationTs: 创建时间
        # @type CreationTs: String
        # @param ConsumerId: 消费者id
        # @type ConsumerId: String
        # @param Description: 描述信息
        # @type Description: String

        attr_accessor :CaseId, :Name, :Dimension, :CreationTs, :ConsumerId, :Description

        def initialize(caseid=nil, name=nil, dimension=nil, creationts=nil, consumerid=nil, description=nil)
          @CaseId = caseid
          @Name = name
          @Dimension = dimension
          @CreationTs = creationts
          @ConsumerId = consumerid
          @Description = description
        end

        def deserialize(params)
          @CaseId = params['CaseId']
          @Name = params['Name']
          @Dimension = params['Dimension']
          @CreationTs = params['CreationTs']
          @ConsumerId = params['ConsumerId']
          @Description = params['Description']
        end
      end

      # EventCaseOpsDto
      class EventCaseOpsDto < TencentCloud::Common::AbstractModel
        # @param CaseId: 案例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CaseId: String
        # @param Name: 案例名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Dimension: 时间格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Dimension: String
        # @param CreationTimestamp: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreationTimestamp: String
        # @param ConsumerId: 消费者id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConsumerId: String
        # @param Description: 描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String

        attr_accessor :CaseId, :Name, :Dimension, :CreationTimestamp, :ConsumerId, :Description

        def initialize(caseid=nil, name=nil, dimension=nil, creationtimestamp=nil, consumerid=nil, description=nil)
          @CaseId = caseid
          @Name = name
          @Dimension = dimension
          @CreationTimestamp = creationtimestamp
          @ConsumerId = consumerid
          @Description = description
        end

        def deserialize(params)
          @CaseId = params['CaseId']
          @Name = params['Name']
          @Dimension = params['Dimension']
          @CreationTimestamp = params['CreationTimestamp']
          @ConsumerId = params['ConsumerId']
          @Description = params['Description']
        end
      end

      # 事件监听器
      class EventListenerOpsDto < TencentCloud::Common::AbstractModel
        # @param EventName: 事件名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventName: String
        # @param Key: 关键字,如果是任务,则是任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Key: String
        # @param Type: 触发方式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Properties: 事件属性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Properties: String
        # @param CreationTimestamp: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreationTimestamp: String

        attr_accessor :EventName, :Key, :Type, :Properties, :CreationTimestamp

        def initialize(eventname=nil, key=nil, type=nil, properties=nil, creationtimestamp=nil)
          @EventName = eventname
          @Key = key
          @Type = type
          @Properties = properties
          @CreationTimestamp = creationtimestamp
        end

        def deserialize(params)
          @EventName = params['EventName']
          @Key = params['Key']
          @Type = params['Type']
          @Properties = params['Properties']
          @CreationTimestamp = params['CreationTimestamp']
        end
      end

      # 事件详情
      class EventOpsDto < TencentCloud::Common::AbstractModel
        # @param Name: 事件名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param EventType: 事件类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventType: String
        # @param EventSubType: 事件分割类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventSubType: String
        # @param EventBroadcastType: 事件广播类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventBroadcastType: String
        # @param DimensionFormat: 数据时间格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DimensionFormat: String
        # @param TimeToLive: 存活时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TimeToLive: Integer
        # @param TimeUnit: 存活时间单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TimeUnit: String
        # @param CreationTimestamp: 创建时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreationTimestamp: String
        # @param Owner: 所属者
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param Properties: 属性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Properties: String
        # @param Description: 描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Listeners: 监听器
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Listeners: Array
        # @param EventCases: 事件案例
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventCases: Array

        attr_accessor :Name, :EventType, :EventSubType, :EventBroadcastType, :DimensionFormat, :TimeToLive, :TimeUnit, :CreationTimestamp, :Owner, :Properties, :Description, :Listeners, :EventCases

        def initialize(name=nil, eventtype=nil, eventsubtype=nil, eventbroadcasttype=nil, dimensionformat=nil, timetolive=nil, timeunit=nil, creationtimestamp=nil, owner=nil, properties=nil, description=nil, listeners=nil, eventcases=nil)
          @Name = name
          @EventType = eventtype
          @EventSubType = eventsubtype
          @EventBroadcastType = eventbroadcasttype
          @DimensionFormat = dimensionformat
          @TimeToLive = timetolive
          @TimeUnit = timeunit
          @CreationTimestamp = creationtimestamp
          @Owner = owner
          @Properties = properties
          @Description = description
          @Listeners = listeners
          @EventCases = eventcases
        end

        def deserialize(params)
          @Name = params['Name']
          @EventType = params['EventType']
          @EventSubType = params['EventSubType']
          @EventBroadcastType = params['EventBroadcastType']
          @DimensionFormat = params['DimensionFormat']
          @TimeToLive = params['TimeToLive']
          @TimeUnit = params['TimeUnit']
          @CreationTimestamp = params['CreationTimestamp']
          @Owner = params['Owner']
          @Properties = params['Properties']
          @Description = params['Description']
          unless params['Listeners'].nil?
            @Listeners = []
            params['Listeners'].each do |i|
              eventlisteneropsdto_tmp = EventListenerOpsDto.new
              eventlisteneropsdto_tmp.deserialize(i)
              @Listeners << eventlisteneropsdto_tmp
            end
          end
          unless params['EventCases'].nil?
            @EventCases = []
            params['EventCases'].each do |i|
              eventcaseopsdto_tmp = EventCaseOpsDto.new
              eventcaseopsdto_tmp.deserialize(i)
              @EventCases << eventcaseopsdto_tmp
            end
          end
        end
      end

      # 扩展信息参数
      class ExtResourceFlagDto < TencentCloud::Common::AbstractModel
        # @param ParentTask: 父任务信息获取标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentTask: Boolean
        # @param EventListener: 生产事件获取标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventListener: String
        # @param DlcResourceConfig: Dlc相关配置获取标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DlcResourceConfig: String
        # @param Script: 脚本信息获取标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Script: String
        # @param OfflineSyncTask: 离线任务信息获取标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OfflineSyncTask: String

        attr_accessor :ParentTask, :EventListener, :DlcResourceConfig, :Script, :OfflineSyncTask

        def initialize(parenttask=nil, eventlistener=nil, dlcresourceconfig=nil, script=nil, offlinesynctask=nil)
          @ParentTask = parenttask
          @EventListener = eventlistener
          @DlcResourceConfig = dlcresourceconfig
          @Script = script
          @OfflineSyncTask = offlinesynctask
        end

        def deserialize(params)
          @ParentTask = params['ParentTask']
          @EventListener = params['EventListener']
          @DlcResourceConfig = params['DlcResourceConfig']
          @Script = params['Script']
          @OfflineSyncTask = params['OfflineSyncTask']
        end
      end

      # 错误处理结果信息
      class FailMessage < TencentCloud::Common::AbstractModel
        # @param Key: 数据唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Key: String
        # @param ErrorMessage: 失败原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String

        attr_accessor :Key, :ErrorMessage

        def initialize(key=nil, errormessage=nil)
          @Key = key
          @ErrorMessage = errormessage
        end

        def deserialize(params)
          @Key = params['Key']
          @ErrorMessage = params['ErrorMessage']
        end
      end

      # 字段变量
      class FieldConfig < TencentCloud::Common::AbstractModel
        # @param FieldKey: 字段key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldKey: String
        # @param FieldValue: 字段值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldValue: String
        # @param FieldDataType: 字段值类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldDataType: String

        attr_accessor :FieldKey, :FieldValue, :FieldDataType

        def initialize(fieldkey=nil, fieldvalue=nil, fielddatatype=nil)
          @FieldKey = fieldkey
          @FieldValue = fieldvalue
          @FieldDataType = fielddatatype
        end

        def deserialize(params)
          @FieldKey = params['FieldKey']
          @FieldValue = params['FieldValue']
          @FieldDataType = params['FieldDataType']
        end
      end

      # 通用过滤器
      class Filter < TencentCloud::Common::AbstractModel
        # @param Name: 过滤字段名称
        # @type Name: String
        # @param Values: 过滤值列表
        # @type Values: Array

        attr_accessor :Name, :Values

        def initialize(name=nil, values=nil)
          @Name = name
          @Values = values
        end

        def deserialize(params)
          @Name = params['Name']
          @Values = params['Values']
        end
      end

      # 通用过滤器
      class FilterOptional < TencentCloud::Common::AbstractModel
        # @param Name: 过滤字段名称
        # @type Name: String
        # @param Values: 过滤值列表
        # @type Values: Array

        attr_accessor :Name, :Values

        def initialize(name=nil, values=nil)
          @Name = name
          @Values = values
        end

        def deserialize(params)
          @Name = params['Name']
          @Values = params['Values']
        end
      end

      # FindAllFolder请求参数结构体
      class FindAllFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :ProjectId

        def initialize(projectid=nil)
          @ProjectId = projectid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
        end
      end

      # FindAllFolder返回参数结构体
      class FindAllFolderResponse < TencentCloud::Common::AbstractModel
        # @param FolderList: 文件夹列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :FolderList, :RequestId

        def initialize(folderlist=nil, requestid=nil)
          @FolderList = folderlist
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['FolderList'].nil?
            @FolderList = []
            params['FolderList'].each do |i|
              folderdsdto_tmp = FolderDsDto.new
              folderdsdto_tmp.deserialize(i)
              @FolderList << folderdsdto_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # 文件夹属性
      class FolderDsDto < TencentCloud::Common::AbstractModel
        # @param Id: 文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param Name: 文件夹名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param ProjectId: 所属项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param ParentsFolderId: 父文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentsFolderId: String
        # @param Total: 工作流总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Total: Integer
        # @param Workflows: 工作流列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Workflows: Array
        # @param TotalFolders: 子文件夹总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalFolders: Integer
        # @param Folders: 子文件夹列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Folders: Array
        # @param FindType: 搜索类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FindType: String

        attr_accessor :Id, :CreateTime, :Name, :ProjectId, :UpdateTime, :ParentsFolderId, :Total, :Workflows, :TotalFolders, :Folders, :FindType

        def initialize(id=nil, createtime=nil, name=nil, projectid=nil, updatetime=nil, parentsfolderid=nil, total=nil, workflows=nil, totalfolders=nil, folders=nil, findtype=nil)
          @Id = id
          @CreateTime = createtime
          @Name = name
          @ProjectId = projectid
          @UpdateTime = updatetime
          @ParentsFolderId = parentsfolderid
          @Total = total
          @Workflows = workflows
          @TotalFolders = totalfolders
          @Folders = folders
          @FindType = findtype
        end

        def deserialize(params)
          @Id = params['Id']
          @CreateTime = params['CreateTime']
          @Name = params['Name']
          @ProjectId = params['ProjectId']
          @UpdateTime = params['UpdateTime']
          @ParentsFolderId = params['ParentsFolderId']
          @Total = params['Total']
          unless params['Workflows'].nil?
            @Workflows = []
            params['Workflows'].each do |i|
              workflowcanvasopsdto_tmp = WorkflowCanvasOpsDto.new
              workflowcanvasopsdto_tmp.deserialize(i)
              @Workflows << workflowcanvasopsdto_tmp
            end
          end
          @TotalFolders = params['TotalFolders']
          unless params['Folders'].nil?
            @Folders = []
            params['Folders'].each do |i|
              folderdsdto_tmp = FolderDsDto.new
              folderdsdto_tmp.deserialize(i)
              @Folders << folderdsdto_tmp
            end
          end
          @FindType = params['FindType']
        end
      end

      # 文件夹属性
      class FolderOpsDto < TencentCloud::Common::AbstractModel
        # @param Id: 文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param Name: 文件夹名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param ProjectId: 所属项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param ParentsFolderId: 父文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentsFolderId: String
        # @param Total: 工作流总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Total: Integer
        # @param Workflows: 工作流列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Workflows: Array
        # @param TotalFolders: 子文件夹总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalFolders: Integer
        # @param FoldersList: 子文件夹列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FoldersList: String
        # @param FindType: 搜索类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FindType: String

        attr_accessor :Id, :CreateTime, :Name, :ProjectId, :UpdateTime, :ParentsFolderId, :Total, :Workflows, :TotalFolders, :FoldersList, :FindType

        def initialize(id=nil, createtime=nil, name=nil, projectid=nil, updatetime=nil, parentsfolderid=nil, total=nil, workflows=nil, totalfolders=nil, folderslist=nil, findtype=nil)
          @Id = id
          @CreateTime = createtime
          @Name = name
          @ProjectId = projectid
          @UpdateTime = updatetime
          @ParentsFolderId = parentsfolderid
          @Total = total
          @Workflows = workflows
          @TotalFolders = totalfolders
          @FoldersList = folderslist
          @FindType = findtype
        end

        def deserialize(params)
          @Id = params['Id']
          @CreateTime = params['CreateTime']
          @Name = params['Name']
          @ProjectId = params['ProjectId']
          @UpdateTime = params['UpdateTime']
          @ParentsFolderId = params['ParentsFolderId']
          @Total = params['Total']
          unless params['Workflows'].nil?
            @Workflows = []
            params['Workflows'].each do |i|
              workflowcanvasopsdto_tmp = WorkflowCanvasOpsDto.new
              workflowcanvasopsdto_tmp.deserialize(i)
              @Workflows << workflowcanvasopsdto_tmp
            end
          end
          @TotalFolders = params['TotalFolders']
          @FoldersList = params['FoldersList']
          @FindType = params['FindType']
        end
      end

      # FreezeOpsTasks请求参数结构体
      class FreezeOpsTasksRequest < TencentCloud::Common::AbstractModel
        # @param Tasks: 任务列表
        # @type Tasks: Array
        # @param OperateIsInform: 任务操作是否消息通知下游任务责任人
        # @type OperateIsInform: Boolean
        # @param KillInstance: 是否终止已生成的实例
        # @type KillInstance: Boolean

        attr_accessor :Tasks, :OperateIsInform, :KillInstance

        def initialize(tasks=nil, operateisinform=nil, killinstance=nil)
          @Tasks = tasks
          @OperateIsInform = operateisinform
          @KillInstance = killinstance
        end

        def deserialize(params)
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              simpletaskinfo_tmp = SimpleTaskInfo.new
              simpletaskinfo_tmp.deserialize(i)
              @Tasks << simpletaskinfo_tmp
            end
          end
          @OperateIsInform = params['OperateIsInform']
          @KillInstance = params['KillInstance']
        end
      end

      # FreezeOpsTasks返回参数结构体
      class FreezeOpsTasksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # FreezeTasksByWorkflowIds请求参数结构体
      class FreezeTasksByWorkflowIdsRequest < TencentCloud::Common::AbstractModel
        # @param WorkflowIds: 工作流id列表
        # @type WorkflowIds: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param KillInstance: 是否终止已生成的实例
        # @type KillInstance: Boolean

        attr_accessor :WorkflowIds, :ProjectId, :KillInstance

        def initialize(workflowids=nil, projectid=nil, killinstance=nil)
          @WorkflowIds = workflowids
          @ProjectId = projectid
          @KillInstance = killinstance
        end

        def deserialize(params)
          @WorkflowIds = params['WorkflowIds']
          @ProjectId = params['ProjectId']
          @KillInstance = params['KillInstance']
        end
      end

      # FreezeTasksByWorkflowIds返回参数结构体
      class FreezeTasksByWorkflowIdsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作返回结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 函数资源信息
      class FunctionResource < TencentCloud::Common::AbstractModel
        # @param Path: 资源路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Path: String
        # @param Name: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Id: 资源唯一标识
        # @type Id: String
        # @param Md5: 资源 MD5 值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Md5: String
        # @param Type: 默认是 hdfs
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String

        attr_accessor :Path, :Name, :Id, :Md5, :Type

        def initialize(path=nil, name=nil, id=nil, md5=nil, type=nil)
          @Path = path
          @Name = name
          @Id = id
          @Md5 = md5
          @Type = type
        end

        def deserialize(params)
          @Path = params['Path']
          @Name = params['Name']
          @Id = params['Id']
          @Md5 = params['Md5']
          @Type = params['Type']
        end
      end

      # 函数类型或函数分类
      class FunctionTypeOrKind < TencentCloud::Common::AbstractModel
        # @param Name: 名称
        # @type Name: String
        # @param ZhName: 函数分类英文名
        # @type ZhName: String
        # @param EnName: 函数分类中文名
        # @type EnName: String

        attr_accessor :Name, :ZhName, :EnName

        def initialize(name=nil, zhname=nil, enname=nil)
          @Name = name
          @ZhName = zhname
          @EnName = enname
        end

        def deserialize(params)
          @Name = params['Name']
          @ZhName = params['ZhName']
          @EnName = params['EnName']
        end
      end

      # 函数提交版本信息
      class FunctionVersion < TencentCloud::Common::AbstractModel
        # @param Tag: 版本号:V0 V1 V2
        # @type Tag: String
        # @param UserId: 提交人 ID
        # @type UserId: String
        # @param Type: 变更类型:ADD、MODIFY
        # @type Type: String
        # @param Comment: 备注
        # @type Comment: String
        # @param Timestamp: 提交时间: UTC 秒数
        # @type Timestamp: String
        # @param UserName: 提交人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserName: String
        # @param Content: 版本内容:json string 格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Content: String

        attr_accessor :Tag, :UserId, :Type, :Comment, :Timestamp, :UserName, :Content

        def initialize(tag=nil, userid=nil, type=nil, comment=nil, timestamp=nil, username=nil, content=nil)
          @Tag = tag
          @UserId = userid
          @Type = type
          @Comment = comment
          @Timestamp = timestamp
          @UserName = username
          @Content = content
        end

        def deserialize(params)
          @Tag = params['Tag']
          @UserId = params['UserId']
          @Type = params['Type']
          @Comment = params['Comment']
          @Timestamp = params['Timestamp']
          @UserName = params['UserName']
          @Content = params['Content']
        end
      end

      # GenHiveTableDDLSql请求参数结构体
      class GenHiveTableDDLSqlRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param SinkDatabase: 目标数据库
        # @type SinkDatabase: String
        # @param Id: 节点id
        # @type Id: String
        # @param MsType: 元数据类型(MYSQL、ORACLE)
        # @type MsType: String
        # @param DatasourceId: 数据源id
        # @type DatasourceId: String
        # @param SourceDatabase: 来源库名
        # @type SourceDatabase: String
        # @param TableName: 来源表名
        # @type TableName: String
        # @param SinkType: 目标表元数据类型(HIVE、GBASE)
        # @type SinkType: String
        # @param SchemaName: 源端schema名称
        # @type SchemaName: String
        # @param SourceFieldInfoList: 上游节点的字段信息
        # @type SourceFieldInfoList: Array
        # @param Partitions: 分区字段
        # @type Partitions: Array
        # @param Properties: 建表属性
        # @type Properties: Array
        # @param TableMode: 建表模式,0:向导模式,1:ddl
        # @type TableMode: Integer
        # @param TableVersion: DLC表版本,v1/v2
        # @type TableVersion: String
        # @param UpsertFlag: 是否upsert写入
        # @type UpsertFlag: Boolean
        # @param TableComment: 表描述信息
        # @type TableComment: String
        # @param AddDataFiles: 增加的文件数量阈值, 超过值将触发小文件合并
        # @type AddDataFiles: Integer
        # @param AddEqualityDeletes: 增加的Equality delete数量阈值, 超过值将触发小文件合并
        # @type AddEqualityDeletes: Integer
        # @param AddPositionDeletes: 增加的Position delete数量阈值, 超过值将触发小文件合并
        # @type AddPositionDeletes: Integer
        # @param AddDeleteFiles: 增加的delete file数量阈值
        # @type AddDeleteFiles: Integer
        # @param TargetDatasourceId: 下游节点数据源ID
        # @type TargetDatasourceId: String
        # @param UpsertKeys: dlc upsert主键
        # @type UpsertKeys: Array
        # @param TableBaseInfo: dlc表治理信息
        # @type TableBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.TableBaseInfo`
        # @param SinkSchemaName: 目标端schema名称
        # @type SinkSchemaName: String

        attr_accessor :ProjectId, :SinkDatabase, :Id, :MsType, :DatasourceId, :SourceDatabase, :TableName, :SinkType, :SchemaName, :SourceFieldInfoList, :Partitions, :Properties, :TableMode, :TableVersion, :UpsertFlag, :TableComment, :AddDataFiles, :AddEqualityDeletes, :AddPositionDeletes, :AddDeleteFiles, :TargetDatasourceId, :UpsertKeys, :TableBaseInfo, :SinkSchemaName

        def initialize(projectid=nil, sinkdatabase=nil, id=nil, mstype=nil, datasourceid=nil, sourcedatabase=nil, tablename=nil, sinktype=nil, schemaname=nil, sourcefieldinfolist=nil, partitions=nil, properties=nil, tablemode=nil, tableversion=nil, upsertflag=nil, tablecomment=nil, adddatafiles=nil, addequalitydeletes=nil, addpositiondeletes=nil, adddeletefiles=nil, targetdatasourceid=nil, upsertkeys=nil, tablebaseinfo=nil, sinkschemaname=nil)
          @ProjectId = projectid
          @SinkDatabase = sinkdatabase
          @Id = id
          @MsType = mstype
          @DatasourceId = datasourceid
          @SourceDatabase = sourcedatabase
          @TableName = tablename
          @SinkType = sinktype
          @SchemaName = schemaname
          @SourceFieldInfoList = sourcefieldinfolist
          @Partitions = partitions
          @Properties = properties
          @TableMode = tablemode
          @TableVersion = tableversion
          @UpsertFlag = upsertflag
          @TableComment = tablecomment
          @AddDataFiles = adddatafiles
          @AddEqualityDeletes = addequalitydeletes
          @AddPositionDeletes = addpositiondeletes
          @AddDeleteFiles = adddeletefiles
          @TargetDatasourceId = targetdatasourceid
          @UpsertKeys = upsertkeys
          @TableBaseInfo = tablebaseinfo
          @SinkSchemaName = sinkschemaname
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @SinkDatabase = params['SinkDatabase']
          @Id = params['Id']
          @MsType = params['MsType']
          @DatasourceId = params['DatasourceId']
          @SourceDatabase = params['SourceDatabase']
          @TableName = params['TableName']
          @SinkType = params['SinkType']
          @SchemaName = params['SchemaName']
          unless params['SourceFieldInfoList'].nil?
            @SourceFieldInfoList = []
            params['SourceFieldInfoList'].each do |i|
              sourcefieldinfo_tmp = SourceFieldInfo.new
              sourcefieldinfo_tmp.deserialize(i)
              @SourceFieldInfoList << sourcefieldinfo_tmp
            end
          end
          unless params['Partitions'].nil?
            @Partitions = []
            params['Partitions'].each do |i|
              partition_tmp = Partition.new
              partition_tmp.deserialize(i)
              @Partitions << partition_tmp
            end
          end
          unless params['Properties'].nil?
            @Properties = []
            params['Properties'].each do |i|
              property_tmp = Property.new
              property_tmp.deserialize(i)
              @Properties << property_tmp
            end
          end
          @TableMode = params['TableMode']
          @TableVersion = params['TableVersion']
          @UpsertFlag = params['UpsertFlag']
          @TableComment = params['TableComment']
          @AddDataFiles = params['AddDataFiles']
          @AddEqualityDeletes = params['AddEqualityDeletes']
          @AddPositionDeletes = params['AddPositionDeletes']
          @AddDeleteFiles = params['AddDeleteFiles']
          @TargetDatasourceId = params['TargetDatasourceId']
          @UpsertKeys = params['UpsertKeys']
          unless params['TableBaseInfo'].nil?
            @TableBaseInfo = TableBaseInfo.new
            @TableBaseInfo.deserialize(params['TableBaseInfo'])
          end
          @SinkSchemaName = params['SinkSchemaName']
        end
      end

      # GenHiveTableDDLSql返回参数结构体
      class GenHiveTableDDLSqlResponse < TencentCloud::Common::AbstractModel
        # @param DDLSql: 生成的ddl语句
        # @type DDLSql: String
        # @param Data: 生成的ddl语句。与DDLSql相同含义,优先取Data,如果Data为空,则取DDLSql。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :DDLSql, :Data, :RequestId

        def initialize(ddlsql=nil, data=nil, requestid=nil)
          @DDLSql = ddlsql
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @DDLSql = params['DDLSql']
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # Spark SQL配置参数
      class GeneralTaskParam < TencentCloud::Common::AbstractModel
        # @param Type: 通用任务参数类型,例:SPARK_SQL
        # @type Type: String
        # @param Value: 通用任务参数内容,直接作用于任务的参数。不同参数用;
        # 分割
        # @type Value: String

        attr_accessor :Type, :Value

        def initialize(type=nil, value=nil)
          @Type = type
          @Value = value
        end

        def deserialize(params)
          @Type = params['Type']
          @Value = params['Value']
        end
      end

      # GetCosToken请求参数结构体
      class GetCosTokenRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param OriginDomain: 请求域名
        # @type OriginDomain: String
        # @param CrossFlag: 是否需要跨域
        # @type CrossFlag: Boolean
        # @param BucketName: 桶名
        # @type BucketName: String
        # @param RemotePath: 远程地址
        # @type RemotePath: String

        attr_accessor :ProjectId, :OriginDomain, :CrossFlag, :BucketName, :RemotePath

        def initialize(projectid=nil, origindomain=nil, crossflag=nil, bucketname=nil, remotepath=nil)
          @ProjectId = projectid
          @OriginDomain = origindomain
          @CrossFlag = crossflag
          @BucketName = bucketname
          @RemotePath = remotepath
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @OriginDomain = params['OriginDomain']
          @CrossFlag = params['CrossFlag']
          @BucketName = params['BucketName']
          @RemotePath = params['RemotePath']
        end
      end

      # GetCosToken返回参数结构体
      class GetCosTokenResponse < TencentCloud::Common::AbstractModel
        # @param Region: cos地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param Token: Token信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Token: :class:`Tencentcloud::Wedata.v20210820.models.CosTokenResponse`
        # @param Bucket: 桶名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Bucket: String
        # @param EndPoint: 终止点(针对私有云环境)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndPoint: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Region, :Token, :Bucket, :EndPoint, :RequestId

        def initialize(region=nil, token=nil, bucket=nil, endpoint=nil, requestid=nil)
          @Region = region
          @Token = token
          @Bucket = bucket
          @EndPoint = endpoint
          @RequestId = requestid
        end

        def deserialize(params)
          @Region = params['Region']
          unless params['Token'].nil?
            @Token = CosTokenResponse.new
            @Token.deserialize(params['Token'])
          end
          @Bucket = params['Bucket']
          @EndPoint = params['EndPoint']
          @RequestId = params['RequestId']
        end
      end

      # GetFileInfo请求参数结构体
      class GetFileInfoRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param FilePath: 文件路径
        # 项目区1470575647377821696项目,f1目录下: /datastudio/project/1470575647377821696/f1/sql1234.sql 个人区: /datastudio/personal/sqlTTT.sql
        # @type FilePath: String

        attr_accessor :ProjectId, :FilePath

        def initialize(projectid=nil, filepath=nil)
          @ProjectId = projectid
          @FilePath = filepath
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FilePath = params['FilePath']
        end
      end

      # GetFileInfo返回参数结构体
      class GetFileInfoResponse < TencentCloud::Common::AbstractModel
        # @param UserFileInfo: 当前脚本信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserFileInfo: :class:`Tencentcloud::Wedata.v20210820.models.UserFileInfo`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :UserFileInfo, :RequestId

        def initialize(userfileinfo=nil, requestid=nil)
          @UserFileInfo = userfileinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['UserFileInfo'].nil?
            @UserFileInfo = UserFileInfo.new
            @UserFileInfo.deserialize(params['UserFileInfo'])
          end
          @RequestId = params['RequestId']
        end
      end

      # GetIntegrationNodeColumnSchema请求参数结构体
      class GetIntegrationNodeColumnSchemaRequest < TencentCloud::Common::AbstractModel
        # @param ColumnContent: 字段示例(json格式)
        # @type ColumnContent: String
        # @param DatasourceType: 数据源类型 MYSQL|HIVE|KAFKA|ES|MONGODB|REST_API|SYBASE|TIDB|DORIS|DM|
        # @type DatasourceType: String

        attr_accessor :ColumnContent, :DatasourceType

        def initialize(columncontent=nil, datasourcetype=nil)
          @ColumnContent = columncontent
          @DatasourceType = datasourcetype
        end

        def deserialize(params)
          @ColumnContent = params['ColumnContent']
          @DatasourceType = params['DatasourceType']
        end
      end

      # GetIntegrationNodeColumnSchema返回参数结构体
      class GetIntegrationNodeColumnSchemaResponse < TencentCloud::Common::AbstractModel
        # @param Schemas: 字段列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Schemas: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Schemas, :RequestId

        def initialize(schemas=nil, requestid=nil)
          @Schemas = schemas
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Schemas'].nil?
            @Schemas = []
            params['Schemas'].each do |i|
              integrationnodeschema_tmp = IntegrationNodeSchema.new
              integrationnodeschema_tmp.deserialize(i)
              @Schemas << integrationnodeschema_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # GetOfflineDIInstanceList请求参数结构体
      class GetOfflineDIInstanceListRequest < TencentCloud::Common::AbstractModel
        # @param PageIndex: 第几页
        # @type PageIndex: Integer
        # @param PageSize: 每页几条
        # @type PageSize: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param SearchCondition: 无
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.SearchConditionNew`

        attr_accessor :PageIndex, :PageSize, :ProjectId, :SearchCondition

        def initialize(pageindex=nil, pagesize=nil, projectid=nil, searchcondition=nil)
          @PageIndex = pageindex
          @PageSize = pagesize
          @ProjectId = projectid
          @SearchCondition = searchcondition
        end

        def deserialize(params)
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @ProjectId = params['ProjectId']
          unless params['SearchCondition'].nil?
            @SearchCondition = SearchConditionNew.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
        end
      end

      # GetOfflineDIInstanceList返回参数结构体
      class GetOfflineDIInstanceListResponse < TencentCloud::Common::AbstractModel
        # @param Total: 总条数
        # @type Total: Integer
        # @param List: 实例详情
        # @type List: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Total, :List, :RequestId

        def initialize(total=nil, list=nil, requestid=nil)
          @Total = total
          @List = list
          @RequestId = requestid
        end

        def deserialize(params)
          @Total = params['Total']
          unless params['List'].nil?
            @List = []
            params['List'].each do |i|
              offlineinstance_tmp = OfflineInstance.new
              offlineinstance_tmp.deserialize(i)
              @List << offlineinstance_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # GetOfflineInstanceList请求参数结构体
      class GetOfflineInstanceListRequest < TencentCloud::Common::AbstractModel
        # @param PageIndex: 第几页
        # @type PageIndex: String
        # @param PageSize: 每页几条
        # @type PageSize: Integer
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param SearchCondition: 无
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.SearchCondition`

        attr_accessor :PageIndex, :PageSize, :ProjectId, :SearchCondition

        def initialize(pageindex=nil, pagesize=nil, projectid=nil, searchcondition=nil)
          @PageIndex = pageindex
          @PageSize = pagesize
          @ProjectId = projectid
          @SearchCondition = searchcondition
        end

        def deserialize(params)
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @ProjectId = params['ProjectId']
          unless params['SearchCondition'].nil?
            @SearchCondition = SearchCondition.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
        end
      end

      # GetOfflineInstanceList返回参数结构体
      class GetOfflineInstanceListResponse < TencentCloud::Common::AbstractModel
        # @param Total: 总条数
        # @type Total: Integer
        # @param List: 实例详情
        # @type List: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Total, :List, :RequestId

        def initialize(total=nil, list=nil, requestid=nil)
          @Total = total
          @List = list
          @RequestId = requestid
        end

        def deserialize(params)
          @Total = params['Total']
          unless params['List'].nil?
            @List = []
            params['List'].each do |i|
              offlineinstance_tmp = OfflineInstance.new
              offlineinstance_tmp.deserialize(i)
              @List << offlineinstance_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # 实例查询类型
      class InstanceApiOpsRequest < TencentCloud::Common::AbstractModel
        # @param Instance: 单个查询条件
        # @type Instance: :class:`Tencentcloud::Wedata.v20210820.models.InstanceOpsDto`
        # @param SortCol: 排序字段,目前包含:重试次数,实例数据时间,运行耗时
        # @type SortCol: String
        # @param TaskIdList: 任务id列表
        # @type TaskIdList: Array
        # @param TaskNameList: 按照taskName模糊查询
        # @type TaskNameList: Array
        # @param FolderList: 文件夹列表
        # @type FolderList: Array
        # @param Sort: 升序或者降序
        # @type Sort: String
        # @param StateList: 实例状态列表
        # @type StateList: Array
        # @param TaskTypeList: 实例类型列表
        # @type TaskTypeList: Array
        # @param CycleList: 周期类型
        # @type CycleList: Array
        # @param OwnerList: 责任人
        # @type OwnerList: Array
        # @param DateFrom: 数据时间
        # @type DateFrom: String
        # @param DateTo: 数据时间
        # @type DateTo: String
        # @param CreateTimeFrom: 实例入库时间
        # @type CreateTimeFrom: String
        # @param CreateTimeTo: 实例入库时间
        # @type CreateTimeTo: String
        # @param StartFrom:  开始执行时间
        # @type StartFrom: String
        # @param StartTo:  开始执行时间
        # @type StartTo: String
        # @param WorkflowIdList: 所属工作流
        # @type WorkflowIdList: Array
        # @param WorkflowNameList: 按照workflowName模糊查询
        # @type WorkflowNameList: Array
        # @param Keyword: 关键字模糊查询
        # @type Keyword: String
        # @param SearchColumns: searchColumns是搜索的字段名列表
        # @type SearchColumns: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Limit: 限制
        # @type Limit: Integer
        # @param TaskTypeMap: 任务类型映射关系, 存储任务类型id和任务类型描述信息
        # @type TaskTypeMap: Array
        # @param InstanceType: 0 补录类型 1 周期实例 2 非周期实例
        # @type InstanceType: String
        # @param DagDeal: 是否dag
        # @type DagDeal: Boolean
        # @param DagType:  1 父实例 2 子实例
        # @type DagType: String
        # @param DagDependent: 1 自依赖 2 任务依赖  3 所有依赖
        # @type DagDependent: String
        # @param DagDepth: dag深度 默认为1,取值 1-6
        # @type DagDepth: Integer
        # @param TenantId: 租户id
        # @type TenantId: String
        # @param DataTimeCycle: 根据当前数据时间或者是下一个数据时间查询, 默认当前数据时间
        # @type DataTimeCycle: String
        # @param ExecutorGroupIdList: 资源组id,多个资源组id用英文逗号分隔
        # @type ExecutorGroupIdList: Array

        attr_accessor :Instance, :SortCol, :TaskIdList, :TaskNameList, :FolderList, :Sort, :StateList, :TaskTypeList, :CycleList, :OwnerList, :DateFrom, :DateTo, :CreateTimeFrom, :CreateTimeTo, :StartFrom, :StartTo, :WorkflowIdList, :WorkflowNameList, :Keyword, :SearchColumns, :ProjectId, :Limit, :TaskTypeMap, :InstanceType, :DagDeal, :DagType, :DagDependent, :DagDepth, :TenantId, :DataTimeCycle, :ExecutorGroupIdList

        def initialize(instance=nil, sortcol=nil, taskidlist=nil, tasknamelist=nil, folderlist=nil, sort=nil, statelist=nil, tasktypelist=nil, cyclelist=nil, ownerlist=nil, datefrom=nil, dateto=nil, createtimefrom=nil, createtimeto=nil, startfrom=nil, startto=nil, workflowidlist=nil, workflownamelist=nil, keyword=nil, searchcolumns=nil, projectid=nil, limit=nil, tasktypemap=nil, instancetype=nil, dagdeal=nil, dagtype=nil, dagdependent=nil, dagdepth=nil, tenantid=nil, datatimecycle=nil, executorgroupidlist=nil)
          @Instance = instance
          @SortCol = sortcol
          @TaskIdList = taskidlist
          @TaskNameList = tasknamelist
          @FolderList = folderlist
          @Sort = sort
          @StateList = statelist
          @TaskTypeList = tasktypelist
          @CycleList = cyclelist
          @OwnerList = ownerlist
          @DateFrom = datefrom
          @DateTo = dateto
          @CreateTimeFrom = createtimefrom
          @CreateTimeTo = createtimeto
          @StartFrom = startfrom
          @StartTo = startto
          @WorkflowIdList = workflowidlist
          @WorkflowNameList = workflownamelist
          @Keyword = keyword
          @SearchColumns = searchcolumns
          @ProjectId = projectid
          @Limit = limit
          @TaskTypeMap = tasktypemap
          @InstanceType = instancetype
          @DagDeal = dagdeal
          @DagType = dagtype
          @DagDependent = dagdependent
          @DagDepth = dagdepth
          @TenantId = tenantid
          @DataTimeCycle = datatimecycle
          @ExecutorGroupIdList = executorgroupidlist
        end

        def deserialize(params)
          unless params['Instance'].nil?
            @Instance = InstanceOpsDto.new
            @Instance.deserialize(params['Instance'])
          end
          @SortCol = params['SortCol']
          @TaskIdList = params['TaskIdList']
          @TaskNameList = params['TaskNameList']
          @FolderList = params['FolderList']
          @Sort = params['Sort']
          @StateList = params['StateList']
          @TaskTypeList = params['TaskTypeList']
          @CycleList = params['CycleList']
          @OwnerList = params['OwnerList']
          @DateFrom = params['DateFrom']
          @DateTo = params['DateTo']
          @CreateTimeFrom = params['CreateTimeFrom']
          @CreateTimeTo = params['CreateTimeTo']
          @StartFrom = params['StartFrom']
          @StartTo = params['StartTo']
          @WorkflowIdList = params['WorkflowIdList']
          @WorkflowNameList = params['WorkflowNameList']
          @Keyword = params['Keyword']
          @SearchColumns = params['SearchColumns']
          @ProjectId = params['ProjectId']
          @Limit = params['Limit']
          unless params['TaskTypeMap'].nil?
            @TaskTypeMap = []
            params['TaskTypeMap'].each do |i|
              tasktypemap_tmp = TaskTypeMap.new
              tasktypemap_tmp.deserialize(i)
              @TaskTypeMap << tasktypemap_tmp
            end
          end
          @InstanceType = params['InstanceType']
          @DagDeal = params['DagDeal']
          @DagType = params['DagType']
          @DagDependent = params['DagDependent']
          @DagDepth = params['DagDepth']
          @TenantId = params['TenantId']
          @DataTimeCycle = params['DataTimeCycle']
          @ExecutorGroupIdList = params['ExecutorGroupIdList']
        end
      end

      # 实例检索条件
      class InstanceCondition < TencentCloud::Common::AbstractModel
        # @param ExecutionSpace: 执行类型
        # @type ExecutionSpace: String
        # @param ProductName: 任务产品类型
        # @type ProductName: String

        attr_accessor :ExecutionSpace, :ProductName

        def initialize(executionspace=nil, productname=nil)
          @ExecutionSpace = executionspace
          @ProductName = productname
        end

        def deserialize(params)
          @ExecutionSpace = params['ExecutionSpace']
          @ProductName = params['ProductName']
        end
      end

      # 下载日志详情
      class InstanceDownloadLogInfo < TencentCloud::Common::AbstractModel
        # @param FileName: 文件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileName: String
        # @param FileUrl: 文件URL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileUrl: String

        attr_accessor :FileName, :FileUrl

        def initialize(filename=nil, fileurl=nil)
          @FileName = filename
          @FileUrl = fileurl
        end

        def deserialize(params)
          @FileName = params['FileName']
          @FileUrl = params['FileUrl']
        end
      end

      # 实例生命周期详情
      class InstanceLifeCycleOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param LifeRound: 实例生命次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LifeRound: Integer
        # @param RunType: 运行类型 重跑/补录/周期/非周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunType: String
        # @param Tries: 重跑次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tries: Integer
        # @param InstanceLifeDetailDtoList: 实例生命周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLifeDetailDtoList: Array
        # @param RunnerState: Runner运行状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunnerState: String
        # @param ErrorDesc: 错误码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String
        # @param ErrorCodeLevel: 错误告警级别
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorCodeLevel: String
        # @param InstanceLogListOpsDto: 实例日志简略信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLogListOpsDto: :class:`Tencentcloud::Wedata.v20210820.models.InstanceLogInfo`
        # @param InstanceState: 实例状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceState: String

        attr_accessor :TaskId, :CurRunDate, :LifeRound, :RunType, :Tries, :InstanceLifeDetailDtoList, :RunnerState, :ErrorDesc, :ErrorCodeLevel, :InstanceLogListOpsDto, :InstanceState

        def initialize(taskid=nil, currundate=nil, liferound=nil, runtype=nil, tries=nil, instancelifedetaildtolist=nil, runnerstate=nil, errordesc=nil, errorcodelevel=nil, instanceloglistopsdto=nil, instancestate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
          @LifeRound = liferound
          @RunType = runtype
          @Tries = tries
          @InstanceLifeDetailDtoList = instancelifedetaildtolist
          @RunnerState = runnerstate
          @ErrorDesc = errordesc
          @ErrorCodeLevel = errorcodelevel
          @InstanceLogListOpsDto = instanceloglistopsdto
          @InstanceState = instancestate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @LifeRound = params['LifeRound']
          @RunType = params['RunType']
          @Tries = params['Tries']
          unless params['InstanceLifeDetailDtoList'].nil?
            @InstanceLifeDetailDtoList = []
            params['InstanceLifeDetailDtoList'].each do |i|
              instancelifedetaildto_tmp = InstanceLifeDetailDto.new
              instancelifedetaildto_tmp.deserialize(i)
              @InstanceLifeDetailDtoList << instancelifedetaildto_tmp
            end
          end
          @RunnerState = params['RunnerState']
          @ErrorDesc = params['ErrorDesc']
          @ErrorCodeLevel = params['ErrorCodeLevel']
          unless params['InstanceLogListOpsDto'].nil?
            @InstanceLogListOpsDto = InstanceLogInfo.new
            @InstanceLogListOpsDto.deserialize(params['InstanceLogListOpsDto'])
          end
          @InstanceState = params['InstanceState']
        end
      end

      # 实例生命周期detail
      class InstanceLifeDetailDto < TencentCloud::Common::AbstractModel
        # @param State: 实例状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type State: String
        # @param StartTime: 该状态开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param DetailState: 实例生命周期阶段状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DetailState: String
        # @param EndTime: 该状态结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String

        attr_accessor :State, :StartTime, :DetailState, :EndTime

        def initialize(state=nil, starttime=nil, detailstate=nil, endtime=nil)
          @State = state
          @StartTime = starttime
          @DetailState = detailstate
          @EndTime = endtime
        end

        def deserialize(params)
          @State = params['State']
          @StartTime = params['StartTime']
          @DetailState = params['DetailState']
          @EndTime = params['EndTime']
        end
      end

      # 离线运维实例列表
      class InstanceList < TencentCloud::Common::AbstractModel
        # @param CostTime: 耗费时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CostTime: String
        # @param CurRunDate: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param CycleType: 周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param DoFlag: 是否补录
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DoFlag: Integer
        # @param InCharge: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param LastLog: 日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastLog: String
        # @param SchedulerDesc: 调度计划
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDesc: String
        # @param StartTime: 开始启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @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: String
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param TryLimit: 尝试运行次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TryLimit: Integer

        attr_accessor :CostTime, :CurRunDate, :CycleType, :DoFlag, :InCharge, :LastLog, :SchedulerDesc, :StartTime, :State, :TaskId, :TaskName, :TryLimit

        def initialize(costtime=nil, currundate=nil, cycletype=nil, doflag=nil, incharge=nil, lastlog=nil, schedulerdesc=nil, starttime=nil, state=nil, taskid=nil, taskname=nil, trylimit=nil)
          @CostTime = costtime
          @CurRunDate = currundate
          @CycleType = cycletype
          @DoFlag = doflag
          @InCharge = incharge
          @LastLog = lastlog
          @SchedulerDesc = schedulerdesc
          @StartTime = starttime
          @State = state
          @TaskId = taskid
          @TaskName = taskname
          @TryLimit = trylimit
        end

        def deserialize(params)
          @CostTime = params['CostTime']
          @CurRunDate = params['CurRunDate']
          @CycleType = params['CycleType']
          @DoFlag = params['DoFlag']
          @InCharge = params['InCharge']
          @LastLog = params['LastLog']
          @SchedulerDesc = params['SchedulerDesc']
          @StartTime = params['StartTime']
          @State = params['State']
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @TryLimit = params['TryLimit']
        end
      end

      # 实例日志简述信息
      class InstanceLogInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param Tries: 尝试运行次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tries: String
        # @param LastUpdate: 日志更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastUpdate: String
        # @param BrokerIp: 日志所在节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BrokerIp: String
        # @param FileSize: 文件大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileSize: String
        # @param OriginFileName: 文件名 含全路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginFileName: String
        # @param CreateTime: 日志创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param InstanceLogType: 实例日志类型, run: 运行; kill: 终止
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLogType: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param CostTime: 运行耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CostTime: String
        # @param InstanceStatus: 实例状态 COMPLETED 完成 FAILED失败重试 EXPIRED失败 RUNNING运行中
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceStatus: String
        # @param CodeFileName: 实例代码文件,为空表示对应代码文件不存在,可能是因为执行机未升级/对应类型任务无代码。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CodeFileName: String
        # @param ExtensionInfo: 扩展属性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtensionInfo: Array

        attr_accessor :TaskId, :CurRunDate, :Tries, :LastUpdate, :BrokerIp, :FileSize, :OriginFileName, :CreateTime, :InstanceLogType, :TaskName, :CostTime, :InstanceStatus, :CodeFileName, :ExtensionInfo

        def initialize(taskid=nil, currundate=nil, tries=nil, lastupdate=nil, brokerip=nil, filesize=nil, originfilename=nil, createtime=nil, instancelogtype=nil, taskname=nil, costtime=nil, instancestatus=nil, codefilename=nil, extensioninfo=nil)
          @TaskId = taskid
          @CurRunDate = currundate
          @Tries = tries
          @LastUpdate = lastupdate
          @BrokerIp = brokerip
          @FileSize = filesize
          @OriginFileName = originfilename
          @CreateTime = createtime
          @InstanceLogType = instancelogtype
          @TaskName = taskname
          @CostTime = costtime
          @InstanceStatus = instancestatus
          @CodeFileName = codefilename
          @ExtensionInfo = extensioninfo
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @Tries = params['Tries']
          @LastUpdate = params['LastUpdate']
          @BrokerIp = params['BrokerIp']
          @FileSize = params['FileSize']
          @OriginFileName = params['OriginFileName']
          @CreateTime = params['CreateTime']
          @InstanceLogType = params['InstanceLogType']
          @TaskName = params['TaskName']
          @CostTime = params['CostTime']
          @InstanceStatus = params['InstanceStatus']
          @CodeFileName = params['CodeFileName']
          unless params['ExtensionInfo'].nil?
            @ExtensionInfo = []
            params['ExtensionInfo'].each do |i|
              attributeitemdto_tmp = AttributeItemDTO.new
              attributeitemdto_tmp.deserialize(i)
              @ExtensionInfo << attributeitemdto_tmp
            end
          end
        end
      end

      # 实例日志信息详情
      class InstanceLogInfoOpsDto < TencentCloud::Common::AbstractModel
        # @param LogInfo: 实例运行日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LogInfo: String
        # @param YarnLogInfo: 实例运行提交的yarn日志地址
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type YarnLogInfo: Array
        # @param DataLogInfo: 实例运行产生的datax日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataLogInfo: String
        # @param ThirdTaskRunLogInfo: 第三方任务运行日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ThirdTaskRunLogInfo: String
        # @param ThirdTaskLogUrlDesc: 第三方任务日志链接描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ThirdTaskLogUrlDesc: String
        # @param LineCount: 日志行数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LineCount: Integer

        attr_accessor :LogInfo, :YarnLogInfo, :DataLogInfo, :ThirdTaskRunLogInfo, :ThirdTaskLogUrlDesc, :LineCount

        def initialize(loginfo=nil, yarnloginfo=nil, dataloginfo=nil, thirdtaskrunloginfo=nil, thirdtasklogurldesc=nil, linecount=nil)
          @LogInfo = loginfo
          @YarnLogInfo = yarnloginfo
          @DataLogInfo = dataloginfo
          @ThirdTaskRunLogInfo = thirdtaskrunloginfo
          @ThirdTaskLogUrlDesc = thirdtasklogurldesc
          @LineCount = linecount
        end

        def deserialize(params)
          @LogInfo = params['LogInfo']
          @YarnLogInfo = params['YarnLogInfo']
          @DataLogInfo = params['DataLogInfo']
          @ThirdTaskRunLogInfo = params['ThirdTaskRunLogInfo']
          @ThirdTaskLogUrlDesc = params['ThirdTaskLogUrlDesc']
          @LineCount = params['LineCount']
        end
      end

      # 实例日志信息
      class InstanceLogList < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param Tries: 重试次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tries: String
        # @param LastUpdate: 最后更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastUpdate: String
        # @param BrokerIp: 节点ip
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BrokerIp: String
        # @param FileSize: 文件大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileSize: String
        # @param OriginFileName: 原始文件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginFileName: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param InstanceLogType: 实例日志类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLogType: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param CostTime: 耗费时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CostTime: String

        attr_accessor :TaskId, :CurRunDate, :Tries, :LastUpdate, :BrokerIp, :FileSize, :OriginFileName, :CreateTime, :InstanceLogType, :TaskName, :CostTime

        def initialize(taskid=nil, currundate=nil, tries=nil, lastupdate=nil, brokerip=nil, filesize=nil, originfilename=nil, createtime=nil, instancelogtype=nil, taskname=nil, costtime=nil)
          @TaskId = taskid
          @CurRunDate = currundate
          @Tries = tries
          @LastUpdate = lastupdate
          @BrokerIp = brokerip
          @FileSize = filesize
          @OriginFileName = originfilename
          @CreateTime = createtime
          @InstanceLogType = instancelogtype
          @TaskName = taskname
          @CostTime = costtime
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @Tries = params['Tries']
          @LastUpdate = params['LastUpdate']
          @BrokerIp = params['BrokerIp']
          @FileSize = params['FileSize']
          @OriginFileName = params['OriginFileName']
          @CreateTime = params['CreateTime']
          @InstanceLogType = params['InstanceLogType']
          @TaskName = params['TaskName']
          @CostTime = params['CostTime']
        end
      end

      # 查询实时任务实例当前的节点信息
      class InstanceNodeInfo < TencentCloud::Common::AbstractModel
        # @param NodeType: 读取节点SOURCE 写入节点SINK
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeType: String
        # @param NodeId: 节点id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeId: String
        # @param NodeName: 节点名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeName: String

        attr_accessor :NodeType, :NodeId, :NodeName

        def initialize(nodetype=nil, nodeid=nil, nodename=nil)
          @NodeType = nodetype
          @NodeId = nodeid
          @NodeName = nodename
        end

        def deserialize(params)
          @NodeType = params['NodeType']
          @NodeId = params['NodeId']
          @NodeName = params['NodeName']
        end
      end

      # 实例运维详情
      class InstanceOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param WorkflowId: 工作流ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param WorkflowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param InCharge: 负责人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param CycleType: 周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param CurRunDate: 数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunDate: String
        # @param NextCurDate: 下一个数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NextCurDate: String
        # @param RunPriority: 运行优先级
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunPriority: Integer
        # @param TryLimit: 尝试运行次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TryLimit: Integer
        # @param Tries: 当前运行次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tries: Integer
        # @param TotalRunNum: 重跑总次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalRunNum: Integer
        # @param DoFlag: 是否补录
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DoFlag: Integer
        # @param RedoFlag: 是否是重跑
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RedoFlag: Integer
        # @param State: 实例状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type State: String
        # @param RuntimeBroker: 运行节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuntimeBroker: String
        # @param ErrorDesc: 失败的原因
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String
        # @param TaskType: 任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskType: :class:`Tencentcloud::Wedata.v20210820.models.TaskTypeOpsDto`
        # @param DependenceFulfillTime: 依赖判断完成时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependenceFulfillTime: String
        # @param FirstDependenceFulfillTime: 首次依赖判断通过时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstDependenceFulfillTime: String
        # @param FirstStartTime: 首次启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstStartTime: String
        # @param StartTime: 开始启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 运行完成时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param CostTime: 耗费时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CostTime: String
        # @param CostMillisecond: 耗费时间(ms)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CostMillisecond: Integer
        # @param MaxCostTime: 最大运行耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MaxCostTime: Integer
        # @param MinCostTime: 最小运行耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MinCostTime: Integer
        # @param AvgCostTime: 平均运行耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AvgCostTime: Float
        # @param LastLog: 最近日志
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastLog: String
        # @param SchedulerDateTime: 调度时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDateTime: String
        # @param LastSchedulerDateTime: 上次调度时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastSchedulerDateTime: String
        # @param LastUpdate: 最后更新事件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastUpdate: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param DependencyRel: 分支,依赖关系 and、or
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyRel: String
        # @param ExecutionSpace: 执行空间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionSpace: String
        # @param IgnoreEvent: 忽略事件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IgnoreEvent: Boolean
        # @param VirtualFlag: 虚拟任务实例
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualFlag: Boolean
        # @param FolderId: 文件夹ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param FolderName: 文件夹名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderName: String
        # @param SonList: 递归实例信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SonList: String
        # @param ProductName: 产品业务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProductName: String
        # @param ResourceGroup: 资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceGroup: String
        # @param ResourceInstanceId: 资源组指定执行节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceInstanceId: String
        # @param YarnQueue: 资源队列
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type YarnQueue: String
        # @param SchedulerDesc: 调度计划
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDesc: String
        # @param FirstSubmitTime: 最近提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstSubmitTime: String
        # @param FirstRunTime: 首次执行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstRunTime: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param TenantId: 租户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantId: String
        # @param InstanceKey: 实例标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceKey: String
        # @param ExecutorGroupId: 资源组id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupId: String
        # @param ExecutorGroupName: 资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupName: String
        # @param RelatedInstanceList: 关联实例信息。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelatedInstanceList: Array
        # @param RelatedInstanceSize: 关联实例信息数量,不和RelatedInstanceList强关联。
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelatedInstanceSize: Integer
        # @param OwnerId: ownerId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerId: String
        # @param UserId: 用户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: String
        # @param InstanceLifeCycleOpsDto: 实例生命周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceLifeCycleOpsDto: :class:`Tencentcloud::Wedata.v20210820.models.InstanceLifeCycleOpsDto`
        # @param RetryAttempts: 自动重试次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RetryAttempts: Integer
        # @param DeletedFatherList: 紧急去除的依赖父实例列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeletedFatherList: Array
        # @param CirculateInstanceList: 循环依赖关联的实例
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CirculateInstanceList: Array

        attr_accessor :TaskId, :TaskName, :WorkflowId, :WorkflowName, :InCharge, :CycleType, :CurRunDate, :NextCurDate, :RunPriority, :TryLimit, :Tries, :TotalRunNum, :DoFlag, :RedoFlag, :State, :RuntimeBroker, :ErrorDesc, :TaskType, :DependenceFulfillTime, :FirstDependenceFulfillTime, :FirstStartTime, :StartTime, :EndTime, :CostTime, :CostMillisecond, :MaxCostTime, :MinCostTime, :AvgCostTime, :LastLog, :SchedulerDateTime, :LastSchedulerDateTime, :LastUpdate, :CreateTime, :DependencyRel, :ExecutionSpace, :IgnoreEvent, :VirtualFlag, :FolderId, :FolderName, :SonList, :ProductName, :ResourceGroup, :ResourceInstanceId, :YarnQueue, :SchedulerDesc, :FirstSubmitTime, :FirstRunTime, :ProjectId, :ProjectIdent, :ProjectName, :TenantId, :InstanceKey, :ExecutorGroupId, :ExecutorGroupName, :RelatedInstanceList, :RelatedInstanceSize, :OwnerId, :UserId, :InstanceLifeCycleOpsDto, :RetryAttempts, :DeletedFatherList, :CirculateInstanceList

        def initialize(taskid=nil, taskname=nil, workflowid=nil, workflowname=nil, incharge=nil, cycletype=nil, currundate=nil, nextcurdate=nil, runpriority=nil, trylimit=nil, tries=nil, totalrunnum=nil, doflag=nil, redoflag=nil, state=nil, runtimebroker=nil, errordesc=nil, tasktype=nil, dependencefulfilltime=nil, firstdependencefulfilltime=nil, firststarttime=nil, starttime=nil, endtime=nil, costtime=nil, costmillisecond=nil, maxcosttime=nil, mincosttime=nil, avgcosttime=nil, lastlog=nil, schedulerdatetime=nil, lastschedulerdatetime=nil, lastupdate=nil, createtime=nil, dependencyrel=nil, executionspace=nil, ignoreevent=nil, virtualflag=nil, folderid=nil, foldername=nil, sonlist=nil, productname=nil, resourcegroup=nil, resourceinstanceid=nil, yarnqueue=nil, schedulerdesc=nil, firstsubmittime=nil, firstruntime=nil, projectid=nil, projectident=nil, projectname=nil, tenantid=nil, instancekey=nil, executorgroupid=nil, executorgroupname=nil, relatedinstancelist=nil, relatedinstancesize=nil, ownerid=nil, userid=nil, instancelifecycleopsdto=nil, retryattempts=nil, deletedfatherlist=nil, circulateinstancelist=nil)
          @TaskId = taskid
          @TaskName = taskname
          @WorkflowId = workflowid
          @WorkflowName = workflowname
          @InCharge = incharge
          @CycleType = cycletype
          @CurRunDate = currundate
          @NextCurDate = nextcurdate
          @RunPriority = runpriority
          @TryLimit = trylimit
          @Tries = tries
          @TotalRunNum = totalrunnum
          @DoFlag = doflag
          @RedoFlag = redoflag
          @State = state
          @RuntimeBroker = runtimebroker
          @ErrorDesc = errordesc
          @TaskType = tasktype
          @DependenceFulfillTime = dependencefulfilltime
          @FirstDependenceFulfillTime = firstdependencefulfilltime
          @FirstStartTime = firststarttime
          @StartTime = starttime
          @EndTime = endtime
          @CostTime = costtime
          @CostMillisecond = costmillisecond
          @MaxCostTime = maxcosttime
          @MinCostTime = mincosttime
          @AvgCostTime = avgcosttime
          @LastLog = lastlog
          @SchedulerDateTime = schedulerdatetime
          @LastSchedulerDateTime = lastschedulerdatetime
          @LastUpdate = lastupdate
          @CreateTime = createtime
          @DependencyRel = dependencyrel
          @ExecutionSpace = executionspace
          @IgnoreEvent = ignoreevent
          @VirtualFlag = virtualflag
          @FolderId = folderid
          @FolderName = foldername
          @SonList = sonlist
          @ProductName = productname
          @ResourceGroup = resourcegroup
          @ResourceInstanceId = resourceinstanceid
          @YarnQueue = yarnqueue
          @SchedulerDesc = schedulerdesc
          @FirstSubmitTime = firstsubmittime
          @FirstRunTime = firstruntime
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @TenantId = tenantid
          @InstanceKey = instancekey
          @ExecutorGroupId = executorgroupid
          @ExecutorGroupName = executorgroupname
          @RelatedInstanceList = relatedinstancelist
          @RelatedInstanceSize = relatedinstancesize
          @OwnerId = ownerid
          @UserId = userid
          @InstanceLifeCycleOpsDto = instancelifecycleopsdto
          @RetryAttempts = retryattempts
          @DeletedFatherList = deletedfatherlist
          @CirculateInstanceList = circulateinstancelist
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @WorkflowId = params['WorkflowId']
          @WorkflowName = params['WorkflowName']
          @InCharge = params['InCharge']
          @CycleType = params['CycleType']
          @CurRunDate = params['CurRunDate']
          @NextCurDate = params['NextCurDate']
          @RunPriority = params['RunPriority']
          @TryLimit = params['TryLimit']
          @Tries = params['Tries']
          @TotalRunNum = params['TotalRunNum']
          @DoFlag = params['DoFlag']
          @RedoFlag = params['RedoFlag']
          @State = params['State']
          @RuntimeBroker = params['RuntimeBroker']
          @ErrorDesc = params['ErrorDesc']
          unless params['TaskType'].nil?
            @TaskType = TaskTypeOpsDto.new
            @TaskType.deserialize(params['TaskType'])
          end
          @DependenceFulfillTime = params['DependenceFulfillTime']
          @FirstDependenceFulfillTime = params['FirstDependenceFulfillTime']
          @FirstStartTime = params['FirstStartTime']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CostTime = params['CostTime']
          @CostMillisecond = params['CostMillisecond']
          @MaxCostTime = params['MaxCostTime']
          @MinCostTime = params['MinCostTime']
          @AvgCostTime = params['AvgCostTime']
          @LastLog = params['LastLog']
          @SchedulerDateTime = params['SchedulerDateTime']
          @LastSchedulerDateTime = params['LastSchedulerDateTime']
          @LastUpdate = params['LastUpdate']
          @CreateTime = params['CreateTime']
          @DependencyRel = params['DependencyRel']
          @ExecutionSpace = params['ExecutionSpace']
          @IgnoreEvent = params['IgnoreEvent']
          @VirtualFlag = params['VirtualFlag']
          @FolderId = params['FolderId']
          @FolderName = params['FolderName']
          @SonList = params['SonList']
          @ProductName = params['ProductName']
          @ResourceGroup = params['ResourceGroup']
          @ResourceInstanceId = params['ResourceInstanceId']
          @YarnQueue = params['YarnQueue']
          @SchedulerDesc = params['SchedulerDesc']
          @FirstSubmitTime = params['FirstSubmitTime']
          @FirstRunTime = params['FirstRunTime']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @TenantId = params['TenantId']
          @InstanceKey = params['InstanceKey']
          @ExecutorGroupId = params['ExecutorGroupId']
          @ExecutorGroupName = params['ExecutorGroupName']
          unless params['RelatedInstanceList'].nil?
            @RelatedInstanceList = []
            params['RelatedInstanceList'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @RelatedInstanceList << instanceopsdto_tmp
            end
          end
          @RelatedInstanceSize = params['RelatedInstanceSize']
          @OwnerId = params['OwnerId']
          @UserId = params['UserId']
          unless params['InstanceLifeCycleOpsDto'].nil?
            @InstanceLifeCycleOpsDto = InstanceLifeCycleOpsDto.new
            @InstanceLifeCycleOpsDto.deserialize(params['InstanceLifeCycleOpsDto'])
          end
          @RetryAttempts = params['RetryAttempts']
          @DeletedFatherList = params['DeletedFatherList']
          unless params['CirculateInstanceList'].nil?
            @CirculateInstanceList = []
            params['CirculateInstanceList'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @CirculateInstanceList << instanceopsdto_tmp
            end
          end
        end
      end

      # 任务运行历史分页记录
      class InstanceOpsInfoPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Items << instanceopsdto_tmp
            end
          end
        end
      end

      # 实例检索条件
      class InstanceSearchCondition < TencentCloud::Common::AbstractModel
        # @param CycleList: 任务调度周期类型
        # @type CycleList: Array
        # @param DateFrom: 起始时间
        # @type DateFrom: String
        # @param DateTo: 截止时间
        # @type DateTo: String
        # @param Instance: 实例过滤条件
        # @type Instance: :class:`Tencentcloud::Wedata.v20210820.models.InstanceCondition`
        # @param Keyword: 模糊查询关键字
        # @type Keyword: String
        # @param Sort: 排序方式
        # @type Sort: String
        # @param SortCol: 排序字段
        # @type SortCol: String
        # @param StateList: 实例状态类型
        # @type StateList: Array

        attr_accessor :CycleList, :DateFrom, :DateTo, :Instance, :Keyword, :Sort, :SortCol, :StateList

        def initialize(cyclelist=nil, datefrom=nil, dateto=nil, instance=nil, keyword=nil, sort=nil, sortcol=nil, statelist=nil)
          @CycleList = cyclelist
          @DateFrom = datefrom
          @DateTo = dateto
          @Instance = instance
          @Keyword = keyword
          @Sort = sort
          @SortCol = sortcol
          @StateList = statelist
        end

        def deserialize(params)
          @CycleList = params['CycleList']
          @DateFrom = params['DateFrom']
          @DateTo = params['DateTo']
          unless params['Instance'].nil?
            @Instance = InstanceCondition.new
            @Instance.deserialize(params['Instance'])
          end
          @Keyword = params['Keyword']
          @Sort = params['Sort']
          @SortCol = params['SortCol']
          @StateList = params['StateList']
        end
      end

      # 运维大屏实例状态统计和实例状态趋势
      class InstanceStatisticInfo < TencentCloud::Common::AbstractModel
        # @param CountList: 实例状态趋势状态统计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CountList: Array
        # @param TimeList: 实例状态趋势时间分割
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TimeList: Array
        # @param InstanceStatus: 实例状态标识:WAITING_RUNNING、KILLING、FAILED、FAILED_TRYING、SUCCEED 分别表示等待执行、正在终止、失败、失败重试、成功,用于实例状态分布和实例状态趋势
        # @type InstanceStatus: String
        # @param InstanceCount: 用于实例状态分布计数
        # @type InstanceCount: Integer
        # @param ShowTime: 当前展示时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ShowTime: String
        # @param ReportTime: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReportTime: String
        # @param Count: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Count: Integer

        attr_accessor :CountList, :TimeList, :InstanceStatus, :InstanceCount, :ShowTime, :ReportTime, :Count

        def initialize(countlist=nil, timelist=nil, instancestatus=nil, instancecount=nil, showtime=nil, reporttime=nil, count=nil)
          @CountList = countlist
          @TimeList = timelist
          @InstanceStatus = instancestatus
          @InstanceCount = instancecount
          @ShowTime = showtime
          @ReportTime = reporttime
          @Count = count
        end

        def deserialize(params)
          @CountList = params['CountList']
          @TimeList = params['TimeList']
          @InstanceStatus = params['InstanceStatus']
          @InstanceCount = params['InstanceCount']
          @ShowTime = params['ShowTime']
          @ReportTime = params['ReportTime']
          @Count = params['Count']
        end
      end

      # 实例日志信息
      class IntegrationInstanceLog < TencentCloud::Common::AbstractModel
        # @param LogInfo: 任务日志信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LogInfo: String

        attr_accessor :LogInfo

        def initialize(loginfo=nil)
          @LogInfo = loginfo
        end

        def deserialize(params)
          @LogInfo = params['LogInfo']
        end
      end

      # 集成节点详情
      class IntegrationNodeDetail < TencentCloud::Common::AbstractModel
        # @param Name: 集成节点名称
        # @type Name: String
        # @param NodeType: 集成节点类型
        # @type NodeType: String
        # @param DataSourceType: 节点数据源类型
        # @type DataSourceType: String
        # @param Description: 节点描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param DatasourceId: 数据源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param Config: 节点配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Config: Array
        # @param ExtConfig: 节点扩展配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtConfig: Array
        # @param Schema: 节点schema
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Schema: Array
        # @param NodeMapping: 节点映射
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeMapping: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationNodeMapping`
        # @param OwnerUin: owner uin
        # @type OwnerUin: String

        attr_accessor :Name, :NodeType, :DataSourceType, :Description, :DatasourceId, :Config, :ExtConfig, :Schema, :NodeMapping, :OwnerUin

        def initialize(name=nil, nodetype=nil, datasourcetype=nil, description=nil, datasourceid=nil, config=nil, extconfig=nil, schema=nil, nodemapping=nil, owneruin=nil)
          @Name = name
          @NodeType = nodetype
          @DataSourceType = datasourcetype
          @Description = description
          @DatasourceId = datasourceid
          @Config = config
          @ExtConfig = extconfig
          @Schema = schema
          @NodeMapping = nodemapping
          @OwnerUin = owneruin
        end

        def deserialize(params)
          @Name = params['Name']
          @NodeType = params['NodeType']
          @DataSourceType = params['DataSourceType']
          @Description = params['Description']
          @DatasourceId = params['DatasourceId']
          unless params['Config'].nil?
            @Config = []
            params['Config'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @Config << recordfield_tmp
            end
          end
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          unless params['Schema'].nil?
            @Schema = []
            params['Schema'].each do |i|
              integrationnodeschema_tmp = IntegrationNodeSchema.new
              integrationnodeschema_tmp.deserialize(i)
              @Schema << integrationnodeschema_tmp
            end
          end
          unless params['NodeMapping'].nil?
            @NodeMapping = IntegrationNodeMapping.new
            @NodeMapping.deserialize(params['NodeMapping'])
          end
          @OwnerUin = params['OwnerUin']
        end
      end

      # 集成任务节点
      class IntegrationNodeInfo < TencentCloud::Common::AbstractModel
        # @param Id: 集成节点id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param TaskId: 集成节点所属任务id
        # @type TaskId: String
        # @param Name: 集成节点名称
        # @type Name: String
        # @param NodeType: 集成节点类型,INPUT: 输入节点,OUTPUT:输出节点
        # @type NodeType: String
        # @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: String
        # @param Description: 节点描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param DatasourceId: 数据源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param Config: 节点配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Config: Array
        # @param ExtConfig: 节点扩展配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtConfig: Array
        # @param Schema: 节点schema
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Schema: Array
        # @param NodeMapping: 节点映射
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeMapping: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationNodeMapping`
        # @param AppId: 归属用户AppId,展示字段 非传入
        # @type AppId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param CreatorUin: 创建人uin,展示字段 非传入
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreatorUin: String
        # @param OperatorUin: 操作人uin,展示字段 非传入
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUin: String
        # @param OwnerUin: owner uin 展示字段 非传入
        # @type OwnerUin: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String

        attr_accessor :Id, :TaskId, :Name, :NodeType, :DataSourceType, :Description, :DatasourceId, :Config, :ExtConfig, :Schema, :NodeMapping, :AppId, :ProjectId, :CreatorUin, :OperatorUin, :OwnerUin, :CreateTime, :UpdateTime

        def initialize(id=nil, taskid=nil, name=nil, nodetype=nil, datasourcetype=nil, description=nil, datasourceid=nil, config=nil, extconfig=nil, schema=nil, nodemapping=nil, appid=nil, projectid=nil, creatoruin=nil, operatoruin=nil, owneruin=nil, createtime=nil, updatetime=nil)
          @Id = id
          @TaskId = taskid
          @Name = name
          @NodeType = nodetype
          @DataSourceType = datasourcetype
          @Description = description
          @DatasourceId = datasourceid
          @Config = config
          @ExtConfig = extconfig
          @Schema = schema
          @NodeMapping = nodemapping
          @AppId = appid
          @ProjectId = projectid
          @CreatorUin = creatoruin
          @OperatorUin = operatoruin
          @OwnerUin = owneruin
          @CreateTime = createtime
          @UpdateTime = updatetime
        end

        def deserialize(params)
          @Id = params['Id']
          @TaskId = params['TaskId']
          @Name = params['Name']
          @NodeType = params['NodeType']
          @DataSourceType = params['DataSourceType']
          @Description = params['Description']
          @DatasourceId = params['DatasourceId']
          unless params['Config'].nil?
            @Config = []
            params['Config'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @Config << recordfield_tmp
            end
          end
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          unless params['Schema'].nil?
            @Schema = []
            params['Schema'].each do |i|
              integrationnodeschema_tmp = IntegrationNodeSchema.new
              integrationnodeschema_tmp.deserialize(i)
              @Schema << integrationnodeschema_tmp
            end
          end
          unless params['NodeMapping'].nil?
            @NodeMapping = IntegrationNodeMapping.new
            @NodeMapping.deserialize(params['NodeMapping'])
          end
          @AppId = params['AppId']
          @ProjectId = params['ProjectId']
          @CreatorUin = params['CreatorUin']
          @OperatorUin = params['OperatorUin']
          @OwnerUin = params['OwnerUin']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
        end
      end

      # 集成节点映射
      class IntegrationNodeMapping < TencentCloud::Common::AbstractModel
        # @param SourceId: 源节点id
        # @type SourceId: String
        # @param SinkId: 目标节点id
        # @type SinkId: String
        # @param SourceSchema: 源节点schema
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceSchema: Array
        # @param SchemaMappings: 节点schema映射
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaMappings: Array
        # @param ExtConfig: 节点映射扩展信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtConfig: Array

        attr_accessor :SourceId, :SinkId, :SourceSchema, :SchemaMappings, :ExtConfig

        def initialize(sourceid=nil, sinkid=nil, sourceschema=nil, schemamappings=nil, extconfig=nil)
          @SourceId = sourceid
          @SinkId = sinkid
          @SourceSchema = sourceschema
          @SchemaMappings = schemamappings
          @ExtConfig = extconfig
        end

        def deserialize(params)
          @SourceId = params['SourceId']
          @SinkId = params['SinkId']
          unless params['SourceSchema'].nil?
            @SourceSchema = []
            params['SourceSchema'].each do |i|
              integrationnodeschema_tmp = IntegrationNodeSchema.new
              integrationnodeschema_tmp.deserialize(i)
              @SourceSchema << integrationnodeschema_tmp
            end
          end
          unless params['SchemaMappings'].nil?
            @SchemaMappings = []
            params['SchemaMappings'].each do |i|
              integrationnodeschemamapping_tmp = IntegrationNodeSchemaMapping.new
              integrationnodeschemamapping_tmp.deserialize(i)
              @SchemaMappings << integrationnodeschemamapping_tmp
            end
          end
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
        end
      end

      # 集成节点schema
      class IntegrationNodeSchema < TencentCloud::Common::AbstractModel
        # @param Id: schema id 随机唯一
        # @type Id: String
        # @param Name: schema名称
        # @type Name: String
        # @param Type: schema类型
        # @type Type: String
        # @param Value: schema值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String
        # @param Properties: schema拓展属性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Properties: Array
        # @param Alias: schema别名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Alias: String
        # @param Comment: 字段备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Comment: String
        # @param Category: category
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Category: String

        attr_accessor :Id, :Name, :Type, :Value, :Properties, :Alias, :Comment, :Category

        def initialize(id=nil, name=nil, type=nil, value=nil, properties=nil, _alias=nil, comment=nil, category=nil)
          @Id = id
          @Name = name
          @Type = type
          @Value = value
          @Properties = properties
          @Alias = _alias
          @Comment = comment
          @Category = category
        end

        def deserialize(params)
          @Id = params['Id']
          @Name = params['Name']
          @Type = params['Type']
          @Value = params['Value']
          unless params['Properties'].nil?
            @Properties = []
            params['Properties'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @Properties << recordfield_tmp
            end
          end
          @Alias = params['Alias']
          @Comment = params['Comment']
          @Category = params['Category']
        end
      end

      # 集成节点schema映射
      class IntegrationNodeSchemaMapping < TencentCloud::Common::AbstractModel
        # @param SourceSchemaId: 任务节点的源schema id
        # @type SourceSchemaId: String
        # @param SinkSchemaId: 任务节点目标schema id
        # @type SinkSchemaId: String

        attr_accessor :SourceSchemaId, :SinkSchemaId

        def initialize(sourceschemaid=nil, sinkschemaid=nil)
          @SourceSchemaId = sourceschemaid
          @SinkSchemaId = sinkschemaid
        end

        def deserialize(params)
          @SourceSchemaId = params['SourceSchemaId']
          @SinkSchemaId = params['SinkSchemaId']
        end
      end

      # 数据集成大屏趋势图统计结果
      class IntegrationStatisticsTrendResult < TencentCloud::Common::AbstractModel
        # @param StatisticName: 统计属性名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatisticName: Array
        # @param StatisticValue: 统计值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatisticValue: Array
        # @param StatisticType: 统计项目
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StatisticType: String

        attr_accessor :StatisticName, :StatisticValue, :StatisticType

        def initialize(statisticname=nil, statisticvalue=nil, statistictype=nil)
          @StatisticName = statisticname
          @StatisticValue = statisticvalue
          @StatisticType = statistictype
        end

        def deserialize(params)
          @StatisticName = params['StatisticName']
          @StatisticValue = params['StatisticValue']
          @StatisticType = params['StatisticType']
        end
      end

      # 集成任务
      class IntegrationTaskInfo < TencentCloud::Common::AbstractModel
        # @param TaskName: 任务名称
        # @type TaskName: String
        # @param Description: 任务描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param SyncType: 同步类型1.解决方案(整库迁移),2.单表同步
        # @type SyncType: Integer
        # @param TaskType: 201.实时,202.离线
        # @type TaskType: Integer
        # @param WorkflowId: 任务所属工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param ScheduleTaskId: 任务调度id(oceanus or us等作业id),非填项
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScheduleTaskId: String
        # @param TaskGroupId: inlong任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskGroupId: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param CreatorUin: 创建人uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreatorUin: String
        # @param OperatorUin: 操作人uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUin: String
        # @param OwnerUin: owner uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUin: String
        # @param AppId: 应用id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AppId: String
        # @param Status: 0:新建(任务开发态默认状态)|1:未开始|2:操作中|3:运行中|4:暂停|5:任务停止中|6:停止|7:执行失败|20:异常|21:未知|
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer
        # @param Nodes: 节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Nodes: Array
        # @param ExecutorId: 执行资源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorId: String
        # @param Config: 任务配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Config: Array
        # @param ExtConfig: 任务扩展配置信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtConfig: Array
        # @param ExecuteContext: 任务执行context信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecuteContext: Array
        # @param Mappings: 节点映射
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Mappings: Array
        # @param TaskMode: 任务配置模式,0:画布 1:表单 3:脚本
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskMode: String
        # @param Incharge: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Incharge: String
        # @param OfflineTaskAddEntity: 离线新增参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OfflineTaskAddEntity: :class:`Tencentcloud::Wedata.v20210820.models.OfflineTaskAddParam`
        # @param ExecutorGroupName: group name
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupName: String
        # @param InLongManagerUrl: inlong manager url
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InLongManagerUrl: String
        # @param InLongStreamId: stream id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InLongStreamId: String
        # @param InLongManagerVersion: version
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InLongManagerVersion: String
        # @param DataProxyUrl: inlong dataproxy url
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataProxyUrl: Array
        # @param Submit: 任务版本是否已提交运维
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Submit: Boolean
        # @param InputDatasourceType: 数据源类型: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
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InputDatasourceType: String
        # @param OutputDatasourceType: 数据源类型: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
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OutputDatasourceType: String
        # @param NumRecordsIn: 读取条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NumRecordsIn: Integer
        # @param NumRecordsOut: 写入条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NumRecordsOut: Integer
        # @param ReaderDelay: 读取延迟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReaderDelay: Float
        # @param NumRestarts: 重启次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NumRestarts: Integer
        # @param CreateTime: 任务创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 任务更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param LastRunTime: 任务最后一次运行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastRunTime: String
        # @param StopTime: 任务停止时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StopTime: String
        # @param HasVersion: 作业是否已提交
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HasVersion: Boolean
        # @param Locked: 任务是否被锁定
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Locked: Boolean
        # @param Locker: 任务锁定人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Locker: String
        # @param RunningCu: 耗费资源量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunningCu: Float
        # @param TaskAlarmRegularList: 该任务关联的告警规则
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAlarmRegularList: Array
        # @param SwitchResource: 实时任务资源分层情况: 0:进行中,1:成功 ,2:失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SwitchResource: Integer
        # @param ReadPhase: 实时任务读取阶段:0:全部全量,1:部分全量,2:全部增量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReadPhase: Integer
        # @param InstanceVersion: 实时任务版本号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceVersion: Integer
        # @param ArrangeSpaceTaskId: 离线任务导入到编排空间的任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ArrangeSpaceTaskId: String
        # @param OfflineTaskStatus: 离线任务状态区分1.未提交2.已提交3.已导出
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OfflineTaskStatus: Integer

        attr_accessor :TaskName, :Description, :SyncType, :TaskType, :WorkflowId, :TaskId, :ScheduleTaskId, :TaskGroupId, :ProjectId, :CreatorUin, :OperatorUin, :OwnerUin, :AppId, :Status, :Nodes, :ExecutorId, :Config, :ExtConfig, :ExecuteContext, :Mappings, :TaskMode, :Incharge, :OfflineTaskAddEntity, :ExecutorGroupName, :InLongManagerUrl, :InLongStreamId, :InLongManagerVersion, :DataProxyUrl, :Submit, :InputDatasourceType, :OutputDatasourceType, :NumRecordsIn, :NumRecordsOut, :ReaderDelay, :NumRestarts, :CreateTime, :UpdateTime, :LastRunTime, :StopTime, :HasVersion, :Locked, :Locker, :RunningCu, :TaskAlarmRegularList, :SwitchResource, :ReadPhase, :InstanceVersion, :ArrangeSpaceTaskId, :OfflineTaskStatus

        def initialize(taskname=nil, description=nil, synctype=nil, tasktype=nil, workflowid=nil, taskid=nil, scheduletaskid=nil, taskgroupid=nil, projectid=nil, creatoruin=nil, operatoruin=nil, owneruin=nil, appid=nil, status=nil, nodes=nil, executorid=nil, config=nil, extconfig=nil, executecontext=nil, mappings=nil, taskmode=nil, incharge=nil, offlinetaskaddentity=nil, executorgroupname=nil, inlongmanagerurl=nil, inlongstreamid=nil, inlongmanagerversion=nil, dataproxyurl=nil, submit=nil, inputdatasourcetype=nil, outputdatasourcetype=nil, numrecordsin=nil, numrecordsout=nil, readerdelay=nil, numrestarts=nil, createtime=nil, updatetime=nil, lastruntime=nil, stoptime=nil, hasversion=nil, locked=nil, locker=nil, runningcu=nil, taskalarmregularlist=nil, switchresource=nil, readphase=nil, instanceversion=nil, arrangespacetaskid=nil, offlinetaskstatus=nil)
          @TaskName = taskname
          @Description = description
          @SyncType = synctype
          @TaskType = tasktype
          @WorkflowId = workflowid
          @TaskId = taskid
          @ScheduleTaskId = scheduletaskid
          @TaskGroupId = taskgroupid
          @ProjectId = projectid
          @CreatorUin = creatoruin
          @OperatorUin = operatoruin
          @OwnerUin = owneruin
          @AppId = appid
          @Status = status
          @Nodes = nodes
          @ExecutorId = executorid
          @Config = config
          @ExtConfig = extconfig
          @ExecuteContext = executecontext
          @Mappings = mappings
          @TaskMode = taskmode
          @Incharge = incharge
          @OfflineTaskAddEntity = offlinetaskaddentity
          @ExecutorGroupName = executorgroupname
          @InLongManagerUrl = inlongmanagerurl
          @InLongStreamId = inlongstreamid
          @InLongManagerVersion = inlongmanagerversion
          @DataProxyUrl = dataproxyurl
          @Submit = submit
          @InputDatasourceType = inputdatasourcetype
          @OutputDatasourceType = outputdatasourcetype
          @NumRecordsIn = numrecordsin
          @NumRecordsOut = numrecordsout
          @ReaderDelay = readerdelay
          @NumRestarts = numrestarts
          @CreateTime = createtime
          @UpdateTime = updatetime
          @LastRunTime = lastruntime
          @StopTime = stoptime
          @HasVersion = hasversion
          @Locked = locked
          @Locker = locker
          @RunningCu = runningcu
          @TaskAlarmRegularList = taskalarmregularlist
          @SwitchResource = switchresource
          @ReadPhase = readphase
          @InstanceVersion = instanceversion
          @ArrangeSpaceTaskId = arrangespacetaskid
          @OfflineTaskStatus = offlinetaskstatus
        end

        def deserialize(params)
          @TaskName = params['TaskName']
          @Description = params['Description']
          @SyncType = params['SyncType']
          @TaskType = params['TaskType']
          @WorkflowId = params['WorkflowId']
          @TaskId = params['TaskId']
          @ScheduleTaskId = params['ScheduleTaskId']
          @TaskGroupId = params['TaskGroupId']
          @ProjectId = params['ProjectId']
          @CreatorUin = params['CreatorUin']
          @OperatorUin = params['OperatorUin']
          @OwnerUin = params['OwnerUin']
          @AppId = params['AppId']
          @Status = params['Status']
          unless params['Nodes'].nil?
            @Nodes = []
            params['Nodes'].each do |i|
              integrationnodeinfo_tmp = IntegrationNodeInfo.new
              integrationnodeinfo_tmp.deserialize(i)
              @Nodes << integrationnodeinfo_tmp
            end
          end
          @ExecutorId = params['ExecutorId']
          unless params['Config'].nil?
            @Config = []
            params['Config'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @Config << recordfield_tmp
            end
          end
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          unless params['ExecuteContext'].nil?
            @ExecuteContext = []
            params['ExecuteContext'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExecuteContext << recordfield_tmp
            end
          end
          unless params['Mappings'].nil?
            @Mappings = []
            params['Mappings'].each do |i|
              integrationnodemapping_tmp = IntegrationNodeMapping.new
              integrationnodemapping_tmp.deserialize(i)
              @Mappings << integrationnodemapping_tmp
            end
          end
          @TaskMode = params['TaskMode']
          @Incharge = params['Incharge']
          unless params['OfflineTaskAddEntity'].nil?
            @OfflineTaskAddEntity = OfflineTaskAddParam.new
            @OfflineTaskAddEntity.deserialize(params['OfflineTaskAddEntity'])
          end
          @ExecutorGroupName = params['ExecutorGroupName']
          @InLongManagerUrl = params['InLongManagerUrl']
          @InLongStreamId = params['InLongStreamId']
          @InLongManagerVersion = params['InLongManagerVersion']
          @DataProxyUrl = params['DataProxyUrl']
          @Submit = params['Submit']
          @InputDatasourceType = params['InputDatasourceType']
          @OutputDatasourceType = params['OutputDatasourceType']
          @NumRecordsIn = params['NumRecordsIn']
          @NumRecordsOut = params['NumRecordsOut']
          @ReaderDelay = params['ReaderDelay']
          @NumRestarts = params['NumRestarts']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @LastRunTime = params['LastRunTime']
          @StopTime = params['StopTime']
          @HasVersion = params['HasVersion']
          @Locked = params['Locked']
          @Locker = params['Locker']
          @RunningCu = params['RunningCu']
          @TaskAlarmRegularList = params['TaskAlarmRegularList']
          @SwitchResource = params['SwitchResource']
          @ReadPhase = params['ReadPhase']
          @InstanceVersion = params['InstanceVersion']
          @ArrangeSpaceTaskId = params['ArrangeSpaceTaskId']
          @OfflineTaskStatus = params['OfflineTaskStatus']
        end
      end

      # JudgeResourceFile请求参数结构体
      class JudgeResourceFileRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param FilePath: 资源路径
        # @type FilePath: String

        attr_accessor :ProjectId, :FilePath

        def initialize(projectid=nil, filepath=nil)
          @ProjectId = projectid
          @FilePath = filepath
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FilePath = params['FilePath']
        end
      end

      # JudgeResourceFile返回参数结构体
      class JudgeResourceFileResponse < TencentCloud::Common::AbstractModel
        # @param Data: 资源文件完整路径
        # @type Data: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # KillOpsMakePlanInstances请求参数结构体
      class KillOpsMakePlanInstancesRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param PlanId: 补录计划ID
        # @type PlanId: String

        attr_accessor :ProjectId, :PlanId

        def initialize(projectid=nil, planid=nil)
          @ProjectId = projectid
          @PlanId = planid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @PlanId = params['PlanId']
        end
      end

      # KillOpsMakePlanInstances返回参数结构体
      class KillOpsMakePlanInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 批量操作结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperateResultOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperateResultOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # KillScheduleInstances请求参数结构体
      class KillScheduleInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param SearchCondition: 查询条件
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :SearchCondition, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, searchcondition=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @SearchCondition = searchcondition
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # KillScheduleInstances返回参数结构体
      class KillScheduleInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperateResultOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperateResultOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 表生命周期相关信息
      class LifecycleInfo < TencentCloud::Common::AbstractModel
        # @param Lifecycle: 生命周期值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Lifecycle: Integer
        # @param Columns: 列名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Columns: Array
        # @param DateFormat: 日期格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DateFormat: Array

        attr_accessor :Lifecycle, :Columns, :DateFormat

        def initialize(lifecycle=nil, columns=nil, dateformat=nil)
          @Lifecycle = lifecycle
          @Columns = columns
          @DateFormat = dateformat
        end

        def deserialize(params)
          @Lifecycle = params['Lifecycle']
          @Columns = params['Columns']
          @DateFormat = params['DateFormat']
        end
      end

      # 血缘参数记录
      class LineageParamRecord < TencentCloud::Common::AbstractModel
        # @param Name: 字段名
        # @type Name: String
        # @param Value: 字段值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String

        attr_accessor :Name, :Value

        def initialize(name=nil, value=nil)
          @Name = name
          @Value = value
        end

        def deserialize(params)
          @Name = params['Name']
          @Value = params['Value']
        end
      end

      # 任务依赖边详情
      class LinkOpsDto < TencentCloud::Common::AbstractModel
        # @param Id: 边的id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param LinkKey: 边的key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LinkKey: String
        # @param TaskFrom: 边的源节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskFrom: String
        # @param TaskTo: 边的目标节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTo: String
        # @param InCharge: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param LinkDependencyType: 父子任务之间的依赖关系
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LinkDependencyType: String
        # @param Offset: 父子任务之间依赖偏移量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Offset: String
        # @param LinkType: 边的类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LinkType: String
        # @param WorkflowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String

        attr_accessor :Id, :LinkKey, :TaskFrom, :TaskTo, :InCharge, :LinkDependencyType, :Offset, :LinkType, :WorkflowId

        def initialize(id=nil, linkkey=nil, taskfrom=nil, taskto=nil, incharge=nil, linkdependencytype=nil, offset=nil, linktype=nil, workflowid=nil)
          @Id = id
          @LinkKey = linkkey
          @TaskFrom = taskfrom
          @TaskTo = taskto
          @InCharge = incharge
          @LinkDependencyType = linkdependencytype
          @Offset = offset
          @LinkType = linktype
          @WorkflowId = workflowid
        end

        def deserialize(params)
          @Id = params['Id']
          @LinkKey = params['LinkKey']
          @TaskFrom = params['TaskFrom']
          @TaskTo = params['TaskTo']
          @InCharge = params['InCharge']
          @LinkDependencyType = params['LinkDependencyType']
          @Offset = params['Offset']
          @LinkType = params['LinkType']
          @WorkflowId = params['WorkflowId']
        end
      end

      # LockIntegrationTask请求参数结构体
      class LockIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # LockIntegrationTask返回参数结构体
      class LockIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # 实时任务日志内容
      class LogContent < TencentCloud::Common::AbstractModel
        # @param Time: 日志时间戳,单位毫秒
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Time: Integer
        # @param PkgId: 日志包id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PkgId: String
        # @param Log: 日志内容
        # @type Log: String

        attr_accessor :Time, :PkgId, :Log

        def initialize(time=nil, pkgid=nil, log=nil)
          @Time = time
          @PkgId = pkgid
          @Log = log
        end

        def deserialize(params)
          @Time = params['Time']
          @PkgId = params['PkgId']
          @Log = params['Log']
        end
      end

      # 日志内容实体
      class LogContentInfo < TencentCloud::Common::AbstractModel
        # @param Log: 日志内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Log: String
        # @param PkgId: 日志组Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PkgId: String
        # @param PkgLogId: 日志Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PkgLogId: String
        # @param Time: 时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Time: Integer
        # @param ContainerName: 日志所属的容器名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ContainerName: String

        attr_accessor :Log, :PkgId, :PkgLogId, :Time, :ContainerName

        def initialize(log=nil, pkgid=nil, pkglogid=nil, time=nil, containername=nil)
          @Log = log
          @PkgId = pkgid
          @PkgLogId = pkglogid
          @Time = time
          @ContainerName = containername
        end

        def deserialize(params)
          @Log = params['Log']
          @PkgId = params['PkgId']
          @PkgLogId = params['PkgLogId']
          @Time = params['Time']
          @ContainerName = params['ContainerName']
        end
      end

      # 补录计划实例集合
      class MakePlanInstanceOpsDtoCollection < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 记录总页数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Items << instanceopsdto_tmp
            end
          end
        end
      end

      # 补录计划
      class MakePlanOpsDto < TencentCloud::Common::AbstractModel
        # @param PlanId: 补录计划ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PlanId: String
        # @param MakeName: 补录计划名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MakeName: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param CheckParent: 补录是否检查父任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CheckParent: Boolean
        # @param SameSelfDependType: 是否使用任务原有自依赖配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SameSelfDependType: Boolean
        # @param ParallelNum: 并行度,在SameSelfDependType为false时生效
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParallelNum: Integer
        # @param SameCycle: 补录实例生成周期是否修改
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SameCycle: Boolean
        # @param SourceTaskCycle: 调度周期转换方式-原始周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceTaskCycle: String
        # @param TargetTaskCycle: 调度周期转换方式-目标周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetTaskCycle: String
        # @param TargetTaskAction: 调度周期转换方式-目标周期类型指定时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetTaskAction: Integer
        # @param MapParamList: 补录实例自定义参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MapParamList: Array
        # @param CreatorId: 创建人ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreatorId: String
        # @param Creator: 创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creator: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param TaskIdList: 补录任务ID集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskIdList: Array
        # @param MakeDatetimeList: 补录计划日期范围
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MakeDatetimeList: Array
        # @param Remark: 补录计划说明
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Remark: String
        # @param SchedulerResourceGroup: 补录指定的调度资源组(ID)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerResourceGroup: String
        # @param SchedulerResourceGroupName: 补录指定的调度资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerResourceGroupName: String
        # @param IntegrationResourceGroup: 补录指定的集成资源组(ID)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntegrationResourceGroup: String
        # @param IntegrationResourceGroupName: 补录指定的集成资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IntegrationResourceGroupName: String
        # @param TaskCount: 补录计划任务数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskCount: Integer
        # @param CompletePercent: 补录计划实例完成百分数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompletePercent: Integer
        # @param SuccessPercent: 补录计划实例成功百分数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessPercent: Integer
        # @param CheckParentType: 补录检查父任务类型。取值范围:
        # <li> NONE: 全部不检查 </li>
        # <li> ALL: 检查全部上游父任务 </li>
        # <li> MAKE_SCOPE: 只在(当前补录计划)选中任务中检查 </li>
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CheckParentType: String

        attr_accessor :PlanId, :MakeName, :ProjectId, :CheckParent, :SameSelfDependType, :ParallelNum, :SameCycle, :SourceTaskCycle, :TargetTaskCycle, :TargetTaskAction, :MapParamList, :CreatorId, :Creator, :CreateTime, :TaskIdList, :MakeDatetimeList, :Remark, :SchedulerResourceGroup, :SchedulerResourceGroupName, :IntegrationResourceGroup, :IntegrationResourceGroupName, :TaskCount, :CompletePercent, :SuccessPercent, :CheckParentType

        def initialize(planid=nil, makename=nil, projectid=nil, checkparent=nil, sameselfdependtype=nil, parallelnum=nil, samecycle=nil, sourcetaskcycle=nil, targettaskcycle=nil, targettaskaction=nil, mapparamlist=nil, creatorid=nil, creator=nil, createtime=nil, taskidlist=nil, makedatetimelist=nil, remark=nil, schedulerresourcegroup=nil, schedulerresourcegroupname=nil, integrationresourcegroup=nil, integrationresourcegroupname=nil, taskcount=nil, completepercent=nil, successpercent=nil, checkparenttype=nil)
          @PlanId = planid
          @MakeName = makename
          @ProjectId = projectid
          @CheckParent = checkparent
          @SameSelfDependType = sameselfdependtype
          @ParallelNum = parallelnum
          @SameCycle = samecycle
          @SourceTaskCycle = sourcetaskcycle
          @TargetTaskCycle = targettaskcycle
          @TargetTaskAction = targettaskaction
          @MapParamList = mapparamlist
          @CreatorId = creatorid
          @Creator = creator
          @CreateTime = createtime
          @TaskIdList = taskidlist
          @MakeDatetimeList = makedatetimelist
          @Remark = remark
          @SchedulerResourceGroup = schedulerresourcegroup
          @SchedulerResourceGroupName = schedulerresourcegroupname
          @IntegrationResourceGroup = integrationresourcegroup
          @IntegrationResourceGroupName = integrationresourcegroupname
          @TaskCount = taskcount
          @CompletePercent = completepercent
          @SuccessPercent = successpercent
          @CheckParentType = checkparenttype
        end

        def deserialize(params)
          @PlanId = params['PlanId']
          @MakeName = params['MakeName']
          @ProjectId = params['ProjectId']
          @CheckParent = params['CheckParent']
          @SameSelfDependType = params['SameSelfDependType']
          @ParallelNum = params['ParallelNum']
          @SameCycle = params['SameCycle']
          @SourceTaskCycle = params['SourceTaskCycle']
          @TargetTaskCycle = params['TargetTaskCycle']
          @TargetTaskAction = params['TargetTaskAction']
          unless params['MapParamList'].nil?
            @MapParamList = []
            params['MapParamList'].each do |i|
              strtostrmap_tmp = StrToStrMap.new
              strtostrmap_tmp.deserialize(i)
              @MapParamList << strtostrmap_tmp
            end
          end
          @CreatorId = params['CreatorId']
          @Creator = params['Creator']
          @CreateTime = params['CreateTime']
          @TaskIdList = params['TaskIdList']
          unless params['MakeDatetimeList'].nil?
            @MakeDatetimeList = []
            params['MakeDatetimeList'].each do |i|
              createmakedatetimeinfo_tmp = CreateMakeDatetimeInfo.new
              createmakedatetimeinfo_tmp.deserialize(i)
              @MakeDatetimeList << createmakedatetimeinfo_tmp
            end
          end
          @Remark = params['Remark']
          @SchedulerResourceGroup = params['SchedulerResourceGroup']
          @SchedulerResourceGroupName = params['SchedulerResourceGroupName']
          @IntegrationResourceGroup = params['IntegrationResourceGroup']
          @IntegrationResourceGroupName = params['IntegrationResourceGroupName']
          @TaskCount = params['TaskCount']
          @CompletePercent = params['CompletePercent']
          @SuccessPercent = params['SuccessPercent']
          @CheckParentType = params['CheckParentType']
        end
      end

      # 补录计划集合
      class MakePlanOpsDtoCollection < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 记录总页数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              makeplanopsdto_tmp = MakePlanOpsDto.new
              makeplanopsdto_tmp.deserialize(i)
              @Items << makeplanopsdto_tmp
            end
          end
        end
      end

      # 补录计划任务
      class MakePlanTaskOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskBaseInfo: 任务基本信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.TaskOpsDto`
        # @param InstanceCount: 补录该任务当前已生成的实例数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceCount: Integer
        # @param CompletePercent: 补录任务实例完成百分数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompletePercent: Integer
        # @param SuccessPercent: 补录任务实例成功百分数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SuccessPercent: Integer
        # @param InstanceTotalCount: 预计生成的总实例个数,由于是异步生成,-1代表实例还未完完全生成
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceTotalCount: Integer

        attr_accessor :TaskBaseInfo, :InstanceCount, :CompletePercent, :SuccessPercent, :InstanceTotalCount

        def initialize(taskbaseinfo=nil, instancecount=nil, completepercent=nil, successpercent=nil, instancetotalcount=nil)
          @TaskBaseInfo = taskbaseinfo
          @InstanceCount = instancecount
          @CompletePercent = completepercent
          @SuccessPercent = successpercent
          @InstanceTotalCount = instancetotalcount
        end

        def deserialize(params)
          unless params['TaskBaseInfo'].nil?
            @TaskBaseInfo = TaskOpsDto.new
            @TaskBaseInfo.deserialize(params['TaskBaseInfo'])
          end
          @InstanceCount = params['InstanceCount']
          @CompletePercent = params['CompletePercent']
          @SuccessPercent = params['SuccessPercent']
          @InstanceTotalCount = params['InstanceTotalCount']
        end
      end

      # 补录计划任务集合
      class MakePlanTaskOpsDtoCollection < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param TotalPage: 记录总页数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalPage: Integer
        # @param PageCount: 当前页记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageCount: Integer
        # @param PageNumber: 页码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :TotalPage, :PageCount, :PageNumber, :PageSize, :Items

        def initialize(totalcount=nil, totalpage=nil, pagecount=nil, pagenumber=nil, pagesize=nil, items=nil)
          @TotalCount = totalcount
          @TotalPage = totalpage
          @PageCount = pagecount
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              makeplantaskopsdto_tmp = MakePlanTaskOpsDto.new
              makeplantaskopsdto_tmp.deserialize(i)
              @Items << makeplantaskopsdto_tmp
            end
          end
        end
      end

      # ModifyApproveStatus请求参数结构体
      class ModifyApproveStatusRequest < TencentCloud::Common::AbstractModel
        # @param ApproveIds: 审批单ids
        # @type ApproveIds: Array
        # @param Remark: 审批备注
        # @type Remark: String
        # @param Status: 状态
        # @type Status: String

        attr_accessor :ApproveIds, :Remark, :Status

        def initialize(approveids=nil, remark=nil, status=nil)
          @ApproveIds = approveids
          @Remark = remark
          @Status = status
        end

        def deserialize(params)
          @ApproveIds = params['ApproveIds']
          @Remark = params['Remark']
          @Status = params['Status']
        end
      end

      # ModifyApproveStatus返回参数结构体
      class ModifyApproveStatusResponse < TencentCloud::Common::AbstractModel
        # @param Data: 修改审批单状态
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              approvemodify_tmp = ApproveModify.new
              approvemodify_tmp.deserialize(i)
              @Data << approvemodify_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # ModifyDataSource请求参数结构体
      class ModifyDataSourceRequest < TencentCloud::Common::AbstractModel
        # @param Name: 数据源名称,在相同SpaceName下,数据源名称不能为空
        # @type Name: String
        # @param Category: 数据源类别:绑定引擎、绑定数据库
        # @type Category: String
        # @param Type: 数据源类型:枚举值
        # @type Type: String
        # @param ID: 数据源ID
        # @type ID: Integer
        # @param BizParams: 业务侧数据源的配置信息扩展
        # @type BizParams: String
        # @param Params: 数据源的配置信息,以JSON KV存储,根据每个数据源类型不同,而KV存储信息不同
        # @type Params: String
        # @param Description: 数据源描述信息
        # @type Description: String
        # @param Display: 数据源展示名,为了可视化查看
        # @type Display: String
        # @param DatabaseName: 若数据源列表为绑定数据库,则为db名称
        # @type DatabaseName: String
        # @param Instance: 数据源引擎的实例ID,如CDB实例ID
        # @type Instance: String
        # @param Status: 数据源数据源的可见性,1为可见、0为不可见。默认为1
        # @type Status: Integer
        # @param ClusterId: 数据源所属的业务空间名称
        # @type ClusterId: String
        # @param Collect: 是否采集
        # @type Collect: String
        # @param OwnerProjectId: 项目id
        # @type OwnerProjectId: String
        # @param OwnerProjectName: 项目名称
        # @type OwnerProjectName: String
        # @param OwnerProjectIdent: 项目中文名
        # @type OwnerProjectIdent: String
        # @param COSBucket: cos bucket
        # @type COSBucket: String
        # @param COSRegion: cos region
        # @type COSRegion: String
        # @param ProjectId: 操作项目id
        # @type ProjectId: String
        # @param DevelopmentParams: 数据源开发环境配置
        # @type DevelopmentParams: String

        attr_accessor :Name, :Category, :Type, :ID, :BizParams, :Params, :Description, :Display, :DatabaseName, :Instance, :Status, :ClusterId, :Collect, :OwnerProjectId, :OwnerProjectName, :OwnerProjectIdent, :COSBucket, :COSRegion, :ProjectId, :DevelopmentParams

        def initialize(name=nil, category=nil, type=nil, id=nil, bizparams=nil, params=nil, description=nil, display=nil, databasename=nil, instance=nil, status=nil, clusterid=nil, collect=nil, ownerprojectid=nil, ownerprojectname=nil, ownerprojectident=nil, cosbucket=nil, cosregion=nil, projectid=nil, developmentparams=nil)
          @Name = name
          @Category = category
          @Type = type
          @ID = id
          @BizParams = bizparams
          @Params = params
          @Description = description
          @Display = display
          @DatabaseName = databasename
          @Instance = instance
          @Status = status
          @ClusterId = clusterid
          @Collect = collect
          @OwnerProjectId = ownerprojectid
          @OwnerProjectName = ownerprojectname
          @OwnerProjectIdent = ownerprojectident
          @COSBucket = cosbucket
          @COSRegion = cosregion
          @ProjectId = projectid
          @DevelopmentParams = developmentparams
        end

        def deserialize(params)
          @Name = params['Name']
          @Category = params['Category']
          @Type = params['Type']
          @ID = params['ID']
          @BizParams = params['BizParams']
          @Params = params['Params']
          @Description = params['Description']
          @Display = params['Display']
          @DatabaseName = params['DatabaseName']
          @Instance = params['Instance']
          @Status = params['Status']
          @ClusterId = params['ClusterId']
          @Collect = params['Collect']
          @OwnerProjectId = params['OwnerProjectId']
          @OwnerProjectName = params['OwnerProjectName']
          @OwnerProjectIdent = params['OwnerProjectIdent']
          @COSBucket = params['COSBucket']
          @COSRegion = params['COSRegion']
          @ProjectId = params['ProjectId']
          @DevelopmentParams = params['DevelopmentParams']
        end
      end

      # ModifyDataSource返回参数结构体
      class ModifyDataSourceResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyDimensionWeight请求参数结构体
      class ModifyDimensionWeightRequest < TencentCloud::Common::AbstractModel
        # @param WeightInfoList: 权重信息列表
        # @type WeightInfoList: Array
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Refresh: 是否重刷历史数据
        # @type Refresh: Boolean

        attr_accessor :WeightInfoList, :ProjectId, :Refresh

        def initialize(weightinfolist=nil, projectid=nil, refresh=nil)
          @WeightInfoList = weightinfolist
          @ProjectId = projectid
          @Refresh = refresh
        end

        def deserialize(params)
          unless params['WeightInfoList'].nil?
            @WeightInfoList = []
            params['WeightInfoList'].each do |i|
              weightinfo_tmp = WeightInfo.new
              weightinfo_tmp.deserialize(i)
              @WeightInfoList << weightinfo_tmp
            end
          end
          @ProjectId = params['ProjectId']
          @Refresh = params['Refresh']
        end
      end

      # ModifyDimensionWeight返回参数结构体
      class ModifyDimensionWeightResponse < TencentCloud::Common::AbstractModel
        # @param Data: 更新权重是否成功
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyDsFolder请求参数结构体
      class ModifyDsFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param FolderName: 文件夹名称
        # @type FolderName: String
        # @param FolderId: 文件夹Id
        # @type FolderId: String
        # @param ParentsFolderId: 父文件夹ID
        # @type ParentsFolderId: String

        attr_accessor :ProjectId, :FolderName, :FolderId, :ParentsFolderId

        def initialize(projectid=nil, foldername=nil, folderid=nil, parentsfolderid=nil)
          @ProjectId = projectid
          @FolderName = foldername
          @FolderId = folderid
          @ParentsFolderId = parentsfolderid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FolderName = params['FolderName']
          @FolderId = params['FolderId']
          @ParentsFolderId = params['ParentsFolderId']
        end
      end

      # ModifyDsFolder返回参数结构体
      class ModifyDsFolderResponse < TencentCloud::Common::AbstractModel
        # @param Data: true代表成功,false代表失败
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyExecStrategy请求参数结构体
      class ModifyExecStrategyRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
        # @type MonitorType: Integer
        # @param ExecQueue: 计算队列
        # @type ExecQueue: String
        # @param ExecutorGroupId: 执行资源组ID
        # @type ExecutorGroupId: String
        # @param ExecutorGroupName: 执行资源组名称
        # @type ExecutorGroupName: String
        # @param Tasks: 关联的生产调度任务列表
        # @type Tasks: Array
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param StartTime: 离线周期模式下,生效日期-开始时间
        # @type StartTime: String
        # @param EndTime: 离线周期模式下,生效日期-结束时间
        # @type EndTime: String
        # @param CycleType: 离线周期模式下,调度周期
        # MINUTE_CYCLE:I,
        # HOUR_CYCLE:H,
        # DAY_CYCLE:D,
        # WEEK_CYCLE:W,
        # MONTH_CYCLE:M
        # @type CycleType: String
        # @param CycleStep: 离线周期模式下,调度步长
        # @type CycleStep: Integer
        # @param TaskAction: 离线周期模式下,指定时间
        # @type TaskAction: String
        # @param DelayTime: 延时执行时间,单位分钟,可选: <0-1439
        # @type DelayTime: Integer
        # @param DatabaseId: 数据库Id
        # @type DatabaseId: String
        # @param DatasourceId: 数据源Id
        # @type DatasourceId: String
        # @param TableId: 数据表Id
        # @type TableId: String
        # @param ExecEngineType: 运行的执行引擎,不传时会请求该数据源下默认的执行引擎
        # @type ExecEngineType: String
        # @param TriggerTypes: 触发场景
        # @type TriggerTypes: Array

        attr_accessor :RuleGroupId, :MonitorType, :ExecQueue, :ExecutorGroupId, :ExecutorGroupName, :Tasks, :ProjectId, :StartTime, :EndTime, :CycleType, :CycleStep, :TaskAction, :DelayTime, :DatabaseId, :DatasourceId, :TableId, :ExecEngineType, :TriggerTypes

        def initialize(rulegroupid=nil, monitortype=nil, execqueue=nil, executorgroupid=nil, executorgroupname=nil, tasks=nil, projectid=nil, starttime=nil, endtime=nil, cycletype=nil, cyclestep=nil, taskaction=nil, delaytime=nil, databaseid=nil, datasourceid=nil, tableid=nil, execenginetype=nil, triggertypes=nil)
          @RuleGroupId = rulegroupid
          @MonitorType = monitortype
          @ExecQueue = execqueue
          @ExecutorGroupId = executorgroupid
          @ExecutorGroupName = executorgroupname
          @Tasks = tasks
          @ProjectId = projectid
          @StartTime = starttime
          @EndTime = endtime
          @CycleType = cycletype
          @CycleStep = cyclestep
          @TaskAction = taskaction
          @DelayTime = delaytime
          @DatabaseId = databaseid
          @DatasourceId = datasourceid
          @TableId = tableid
          @ExecEngineType = execenginetype
          @TriggerTypes = triggertypes
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @MonitorType = params['MonitorType']
          @ExecQueue = params['ExecQueue']
          @ExecutorGroupId = params['ExecutorGroupId']
          @ExecutorGroupName = params['ExecutorGroupName']
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              prodschedulertask_tmp = ProdSchedulerTask.new
              prodschedulertask_tmp.deserialize(i)
              @Tasks << prodschedulertask_tmp
            end
          end
          @ProjectId = params['ProjectId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @TaskAction = params['TaskAction']
          @DelayTime = params['DelayTime']
          @DatabaseId = params['DatabaseId']
          @DatasourceId = params['DatasourceId']
          @TableId = params['TableId']
          @ExecEngineType = params['ExecEngineType']
          @TriggerTypes = params['TriggerTypes']
        end
      end

      # ModifyExecStrategy返回参数结构体
      class ModifyExecStrategyResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyIntegrationNode请求参数结构体
      class ModifyIntegrationNodeRequest < TencentCloud::Common::AbstractModel
        # @param NodeInfo: 集成节点信息
        # @type NodeInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationNodeInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型 "201. stream, 202. offline"
        # @type TaskType: Integer
        # @param TaskMode: 区分画布模式和表单 "1. 画布, 2. 表单"模式
        # @type TaskMode: Integer

        attr_accessor :NodeInfo, :ProjectId, :TaskType, :TaskMode

        def initialize(nodeinfo=nil, projectid=nil, tasktype=nil, taskmode=nil)
          @NodeInfo = nodeinfo
          @ProjectId = projectid
          @TaskType = tasktype
          @TaskMode = taskmode
        end

        def deserialize(params)
          unless params['NodeInfo'].nil?
            @NodeInfo = IntegrationNodeInfo.new
            @NodeInfo.deserialize(params['NodeInfo'])
          end
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
          @TaskMode = params['TaskMode']
        end
      end

      # ModifyIntegrationNode返回参数结构体
      class ModifyIntegrationNodeResponse < TencentCloud::Common::AbstractModel
        # @param Id: 节点id
        # @type Id: String
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Id, :TaskId, :RequestId

        def initialize(id=nil, taskid=nil, requestid=nil)
          @Id = id
          @TaskId = taskid
          @RequestId = requestid
        end

        def deserialize(params)
          @Id = params['Id']
          @TaskId = params['TaskId']
          @RequestId = params['RequestId']
        end
      end

      # ModifyIntegrationTask请求参数结构体
      class ModifyIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskInfo: 任务信息
        # @type TaskInfo: :class:`Tencentcloud::Wedata.v20210820.models.IntegrationTaskInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param RollbackFlag: 默认false . 为true时表示走回滚节点逻辑
        # @type RollbackFlag: Boolean

        attr_accessor :TaskInfo, :ProjectId, :RollbackFlag

        def initialize(taskinfo=nil, projectid=nil, rollbackflag=nil)
          @TaskInfo = taskinfo
          @ProjectId = projectid
          @RollbackFlag = rollbackflag
        end

        def deserialize(params)
          unless params['TaskInfo'].nil?
            @TaskInfo = IntegrationTaskInfo.new
            @TaskInfo.deserialize(params['TaskInfo'])
          end
          @ProjectId = params['ProjectId']
          @RollbackFlag = params['RollbackFlag']
        end
      end

      # ModifyIntegrationTask返回参数结构体
      class ModifyIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :TaskId, :RequestId

        def initialize(taskid=nil, requestid=nil)
          @TaskId = taskid
          @RequestId = requestid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @RequestId = params['RequestId']
        end
      end

      # ModifyMonitorStatus请求参数结构体
      class ModifyMonitorStatusRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param MonitorStatus: 监控开关状态
        # @type MonitorStatus: Boolean

        attr_accessor :ProjectId, :RuleGroupId, :MonitorStatus

        def initialize(projectid=nil, rulegroupid=nil, monitorstatus=nil)
          @ProjectId = projectid
          @RuleGroupId = rulegroupid
          @MonitorStatus = monitorstatus
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @RuleGroupId = params['RuleGroupId']
          @MonitorStatus = params['MonitorStatus']
        end
      end

      # ModifyMonitorStatus返回参数结构体
      class ModifyMonitorStatusResponse < TencentCloud::Common::AbstractModel
        # @param Data: 监控状态修改成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyRuleGroupSubscription请求参数结构体
      class ModifyRuleGroupSubscriptionRequest < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param Receivers: 订阅人信息
        # @type Receivers: Array
        # @param SubscribeType: 订阅类型
        # @type SubscribeType: Array
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param DatabaseId: 数据库Id
        # @type DatabaseId: String
        # @param DatasourceId: 数据源Id
        # @type DatasourceId: String
        # @param TableId: 数据表Id
        # @type TableId: String
        # @param WebHooks: 群机器人webhook信息
        # @type WebHooks: Array

        attr_accessor :RuleGroupId, :Receivers, :SubscribeType, :ProjectId, :DatabaseId, :DatasourceId, :TableId, :WebHooks

        def initialize(rulegroupid=nil, receivers=nil, subscribetype=nil, projectid=nil, databaseid=nil, datasourceid=nil, tableid=nil, webhooks=nil)
          @RuleGroupId = rulegroupid
          @Receivers = receivers
          @SubscribeType = subscribetype
          @ProjectId = projectid
          @DatabaseId = databaseid
          @DatasourceId = datasourceid
          @TableId = tableid
          @WebHooks = webhooks
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          unless params['Receivers'].nil?
            @Receivers = []
            params['Receivers'].each do |i|
              subscribereceiver_tmp = SubscribeReceiver.new
              subscribereceiver_tmp.deserialize(i)
              @Receivers << subscribereceiver_tmp
            end
          end
          @SubscribeType = params['SubscribeType']
          @ProjectId = params['ProjectId']
          @DatabaseId = params['DatabaseId']
          @DatasourceId = params['DatasourceId']
          @TableId = params['TableId']
          unless params['WebHooks'].nil?
            @WebHooks = []
            params['WebHooks'].each do |i|
              subscribewebhook_tmp = SubscribeWebHook.new
              subscribewebhook_tmp.deserialize(i)
              @WebHooks << subscribewebhook_tmp
            end
          end
        end
      end

      # ModifyRuleGroupSubscription返回参数结构体
      class ModifyRuleGroupSubscriptionResponse < TencentCloud::Common::AbstractModel
        # @param Data: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Integer
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyRule请求参数结构体
      class ModifyRuleRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param RuleId: 规则ID
        # @type RuleId: Integer
        # @param RuleGroupId: 规则组ID
        # @type RuleGroupId: Integer
        # @param Name: 规则名称
        # @type Name: String
        # @param TableId: 数据表ID
        # @type TableId: String
        # @param RuleTemplateId: 规则模板ID
        # @type RuleTemplateId: Integer
        # @param Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        # @type Type: Integer
        # @param QualityDim: 规则所属质量维度(1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性)
        # @type QualityDim: Integer
        # @param SourceObjectDataTypeName: 源字段详细类型,int、string
        # @type SourceObjectDataTypeName: String
        # @param SourceObjectValue: 源字段名称
        # @type SourceObjectValue: String
        # @param ConditionType: 检测范围 1.全表   2.条件扫描
        # @type ConditionType: Integer
        # @param ConditionExpression: 条件扫描WHERE条件表达式
        # @type ConditionExpression: String
        # @param CustomSql: 自定义SQL
        # @type CustomSql: String
        # @param CompareRule: 报警触发条件
        # @type CompareRule: :class:`Tencentcloud::Wedata.v20210820.models.CompareRule`
        # @param AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
        # @type AlarmLevel: Integer
        # @param Description: 规则描述
        # @type Description: String
        # @param TargetDatabaseId: 目标库Id
        # @type TargetDatabaseId: String
        # @param TargetTableId: 目标表Id
        # @type TargetTableId: String
        # @param TargetConditionExpr: 目标过滤条件表达式
        # @type TargetConditionExpr: String
        # @param RelConditionExpr: 源字段与目标字段关联条件on表达式
        # @type RelConditionExpr: String
        # @param FieldConfig: 自定义模版sql表达式字段替换参数
        # @type FieldConfig: :class:`Tencentcloud::Wedata.v20210820.models.RuleFieldConfig`
        # @param TargetObjectValue: 目标字段名称  CITY
        # @type TargetObjectValue: String
        # @param SourceEngineTypes: 该规则适配的执行引擎
        # @type SourceEngineTypes: Array
        # @param TargetDatabaseName: 目标库名
        # @type TargetDatabaseName: String
        # @param TargetSchemaName: 目标模式名
        # @type TargetSchemaName: String
        # @param TargetTableName: 目标表名
        # @type TargetTableName: String

        attr_accessor :ProjectId, :RuleId, :RuleGroupId, :Name, :TableId, :RuleTemplateId, :Type, :QualityDim, :SourceObjectDataTypeName, :SourceObjectValue, :ConditionType, :ConditionExpression, :CustomSql, :CompareRule, :AlarmLevel, :Description, :TargetDatabaseId, :TargetTableId, :TargetConditionExpr, :RelConditionExpr, :FieldConfig, :TargetObjectValue, :SourceEngineTypes, :TargetDatabaseName, :TargetSchemaName, :TargetTableName

        def initialize(projectid=nil, ruleid=nil, rulegroupid=nil, name=nil, tableid=nil, ruletemplateid=nil, type=nil, qualitydim=nil, sourceobjectdatatypename=nil, sourceobjectvalue=nil, conditiontype=nil, conditionexpression=nil, customsql=nil, comparerule=nil, alarmlevel=nil, description=nil, targetdatabaseid=nil, targettableid=nil, targetconditionexpr=nil, relconditionexpr=nil, fieldconfig=nil, targetobjectvalue=nil, sourceenginetypes=nil, targetdatabasename=nil, targetschemaname=nil, targettablename=nil)
          @ProjectId = projectid
          @RuleId = ruleid
          @RuleGroupId = rulegroupid
          @Name = name
          @TableId = tableid
          @RuleTemplateId = ruletemplateid
          @Type = type
          @QualityDim = qualitydim
          @SourceObjectDataTypeName = sourceobjectdatatypename
          @SourceObjectValue = sourceobjectvalue
          @ConditionType = conditiontype
          @ConditionExpression = conditionexpression
          @CustomSql = customsql
          @CompareRule = comparerule
          @AlarmLevel = alarmlevel
          @Description = description
          @TargetDatabaseId = targetdatabaseid
          @TargetTableId = targettableid
          @TargetConditionExpr = targetconditionexpr
          @RelConditionExpr = relconditionexpr
          @FieldConfig = fieldconfig
          @TargetObjectValue = targetobjectvalue
          @SourceEngineTypes = sourceenginetypes
          @TargetDatabaseName = targetdatabasename
          @TargetSchemaName = targetschemaname
          @TargetTableName = targettablename
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @RuleId = params['RuleId']
          @RuleGroupId = params['RuleGroupId']
          @Name = params['Name']
          @TableId = params['TableId']
          @RuleTemplateId = params['RuleTemplateId']
          @Type = params['Type']
          @QualityDim = params['QualityDim']
          @SourceObjectDataTypeName = params['SourceObjectDataTypeName']
          @SourceObjectValue = params['SourceObjectValue']
          @ConditionType = params['ConditionType']
          @ConditionExpression = params['ConditionExpression']
          @CustomSql = params['CustomSql']
          unless params['CompareRule'].nil?
            @CompareRule = CompareRule.new
            @CompareRule.deserialize(params['CompareRule'])
          end
          @AlarmLevel = params['AlarmLevel']
          @Description = params['Description']
          @TargetDatabaseId = params['TargetDatabaseId']
          @TargetTableId = params['TargetTableId']
          @TargetConditionExpr = params['TargetConditionExpr']
          @RelConditionExpr = params['RelConditionExpr']
          unless params['FieldConfig'].nil?
            @FieldConfig = RuleFieldConfig.new
            @FieldConfig.deserialize(params['FieldConfig'])
          end
          @TargetObjectValue = params['TargetObjectValue']
          @SourceEngineTypes = params['SourceEngineTypes']
          @TargetDatabaseName = params['TargetDatabaseName']
          @TargetSchemaName = params['TargetSchemaName']
          @TargetTableName = params['TargetTableName']
        end
      end

      # ModifyRule返回参数结构体
      class ModifyRuleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否更新成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyRuleTemplate请求参数结构体
      class ModifyRuleTemplateRequest < TencentCloud::Common::AbstractModel
        # @param TemplateId: 模板ID
        # @type TemplateId: Integer
        # @param Type: 模板类型  1.系统模板   2.自定义模板
        # @type Type: Integer
        # @param Name: 模板名称
        # @type Name: String
        # @param QualityDim: 质量检测维度 1.准确性 2.唯一性 3.完整性 4.一致性 5.及时性 6.有效性
        # @type QualityDim: Integer
        # @param SourceObjectType: 源端数据对象类型 1.常量  2.离线表级   2.离线字段级
        # @type SourceObjectType: Integer
        # @param Description: 描述
        # @type Description: String
        # @param SourceEngineTypes: 源端对应的引擎类型
        # @type SourceEngineTypes: Array
        # @param MultiSourceFlag: 是否关联其它库表
        # @type MultiSourceFlag: Boolean
        # @param SqlExpression: SQL 表达式
        # @type SqlExpression: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WhereFlag: 是否添加where参数
        # @type WhereFlag: Boolean

        attr_accessor :TemplateId, :Type, :Name, :QualityDim, :SourceObjectType, :Description, :SourceEngineTypes, :MultiSourceFlag, :SqlExpression, :ProjectId, :WhereFlag

        def initialize(templateid=nil, type=nil, name=nil, qualitydim=nil, sourceobjecttype=nil, description=nil, sourceenginetypes=nil, multisourceflag=nil, sqlexpression=nil, projectid=nil, whereflag=nil)
          @TemplateId = templateid
          @Type = type
          @Name = name
          @QualityDim = qualitydim
          @SourceObjectType = sourceobjecttype
          @Description = description
          @SourceEngineTypes = sourceenginetypes
          @MultiSourceFlag = multisourceflag
          @SqlExpression = sqlexpression
          @ProjectId = projectid
          @WhereFlag = whereflag
        end

        def deserialize(params)
          @TemplateId = params['TemplateId']
          @Type = params['Type']
          @Name = params['Name']
          @QualityDim = params['QualityDim']
          @SourceObjectType = params['SourceObjectType']
          @Description = params['Description']
          @SourceEngineTypes = params['SourceEngineTypes']
          @MultiSourceFlag = params['MultiSourceFlag']
          @SqlExpression = params['SqlExpression']
          @ProjectId = params['ProjectId']
          @WhereFlag = params['WhereFlag']
        end
      end

      # ModifyRuleTemplate返回参数结构体
      class ModifyRuleTemplateResponse < TencentCloud::Common::AbstractModel
        # @param Data: 修改成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyTaskAlarmRegular请求参数结构体
      class ModifyTaskAlarmRegularRequest < TencentCloud::Common::AbstractModel
        # @param Id: 规则ID
        # @type Id: String
        # @param TaskAlarmInfo: 规则信息
        # @type TaskAlarmInfo: :class:`Tencentcloud::Wedata.v20210820.models.TaskAlarmInfo`
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :Id, :TaskAlarmInfo, :ProjectId

        def initialize(id=nil, taskalarminfo=nil, projectid=nil)
          @Id = id
          @TaskAlarmInfo = taskalarminfo
          @ProjectId = projectid
        end

        def deserialize(params)
          @Id = params['Id']
          unless params['TaskAlarmInfo'].nil?
            @TaskAlarmInfo = TaskAlarmInfo.new
            @TaskAlarmInfo.deserialize(params['TaskAlarmInfo'])
          end
          @ProjectId = params['ProjectId']
        end
      end

      # ModifyTaskAlarmRegular返回参数结构体
      class ModifyTaskAlarmRegularResponse < TencentCloud::Common::AbstractModel
        # @param Data: 判断是否修改成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyTaskInfo请求参数结构体
      class ModifyTaskInfoRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param DelayTime: 执行时间,单位分钟,天/周/月/年调度才有。比如天调度,每天的02:00点执行一次,delayTime就是120分钟
        # @type DelayTime: Integer
        # @param StartupTime: 启动时间
        # @type StartupTime: Integer
        # @param SelfDepend: 自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队, 3:并行 一次多个
        # @type SelfDepend: Integer
        # @param StartTime: 生效开始时间,格式 yyyy-MM-dd HH:mm:ss
        # @type StartTime: String
        # @param EndTime: 生效结束时间,格式 yyyy-MM-dd HH:mm:ss
        # @type EndTime: String
        # @param TaskAction: 调度配置-弹性周期配置,小时/周/月/年调度才有,小时任务指定每天的0点3点4点跑,则为'0,3,4'。
        # @type TaskAction: String
        # @param CycleType: "周期类型  0:crontab类型, 1:分钟,2:小时,3:天,4:周,5:月,6:一次性,7:用户驱动,10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型,与正常周期调度任务逻辑隔离
        # @type CycleType: Integer
        # @param CycleStep: 步长,间隔时间,最小1
        # @type CycleStep: Integer
        # @param CrontabExpression: cron表达式  周期类型为crontab调度才需要
        # @type CrontabExpression: String
        # @param ExecutionStartTime: 执行时间左闭区间,格式:HH:mm  小时调度才有,例如小时任务, 每日固定区间生效
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间,格式:HH:mm  小时调度才有,例如小时任务, 每日固定区间生效
        # @type ExecutionEndTime: String
        # @param TaskName: 新的任务名
        # @type TaskName: String
        # @param RetryWait: 失败重试间隔,单位分钟,创建任务的时候已经给了默认值
        # @type RetryWait: Integer
        # @param TryLimit: 失败重试次数,创建任务的时候已经给了默认值
        # @type TryLimit: Integer
        # @param Retriable: 是否可重试,1代表可以重试
        # @type Retriable: Integer
        # @param RunPriority: 运行优先级,4高 5中 6低
        # @type RunPriority: Integer
        # @param TaskExt: 任务的扩展配置
        # @type TaskExt: Array
        # @param ResourceGroup: 执行资源组id,需要去资源管理服务上创建调度资源组,并且绑定cvm机器
        # @type ResourceGroup: String
        # @param YarnQueue: 资源池队列名称
        # @type YarnQueue: String
        # @param BrokerIp: 资源组下具体执行机,any 表示可以跑在任意一台。
        # @type BrokerIp: String
        # @param InCharge: 责任人
        # @type InCharge: String
        # @param Notes: 任务备注
        # @type Notes: String
        # @param TaskParamInfos: 任务参数
        # @type TaskParamInfos: Array
        # @param SourceServer: 源数据源
        # @type SourceServer: String
        # @param TargetServer: 目标数据源
        # @type TargetServer: String
        # @param DependencyWorkflow: 是否支持工作流依赖 yes / no 默认 no
        # @type DependencyWorkflow: String
        # @param DependencyConfigDTOs: 依赖配置
        # @type DependencyConfigDTOs: Array
        # @param ExecutionTTL: 执行耗时
        # @type ExecutionTTL: Integer
        # @param ScriptChange: 脚本是否改变
        # @type ScriptChange: Boolean
        # @param InChargeIds: 责任人id
        # @type InChargeIds: Array

        attr_accessor :ProjectId, :TaskId, :DelayTime, :StartupTime, :SelfDepend, :StartTime, :EndTime, :TaskAction, :CycleType, :CycleStep, :CrontabExpression, :ExecutionStartTime, :ExecutionEndTime, :TaskName, :RetryWait, :TryLimit, :Retriable, :RunPriority, :TaskExt, :ResourceGroup, :YarnQueue, :BrokerIp, :InCharge, :Notes, :TaskParamInfos, :SourceServer, :TargetServer, :DependencyWorkflow, :DependencyConfigDTOs, :ExecutionTTL, :ScriptChange, :InChargeIds
        extend Gem::Deprecate
        deprecate :InCharge, :none, 2024, 9
        deprecate :InCharge=, :none, 2024, 9

        def initialize(projectid=nil, taskid=nil, delaytime=nil, startuptime=nil, selfdepend=nil, starttime=nil, endtime=nil, taskaction=nil, cycletype=nil, cyclestep=nil, crontabexpression=nil, executionstarttime=nil, executionendtime=nil, taskname=nil, retrywait=nil, trylimit=nil, retriable=nil, runpriority=nil, taskext=nil, resourcegroup=nil, yarnqueue=nil, brokerip=nil, incharge=nil, notes=nil, taskparaminfos=nil, sourceserver=nil, targetserver=nil, dependencyworkflow=nil, dependencyconfigdtos=nil, executionttl=nil, scriptchange=nil, inchargeids=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @DelayTime = delaytime
          @StartupTime = startuptime
          @SelfDepend = selfdepend
          @StartTime = starttime
          @EndTime = endtime
          @TaskAction = taskaction
          @CycleType = cycletype
          @CycleStep = cyclestep
          @CrontabExpression = crontabexpression
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @TaskName = taskname
          @RetryWait = retrywait
          @TryLimit = trylimit
          @Retriable = retriable
          @RunPriority = runpriority
          @TaskExt = taskext
          @ResourceGroup = resourcegroup
          @YarnQueue = yarnqueue
          @BrokerIp = brokerip
          @InCharge = incharge
          @Notes = notes
          @TaskParamInfos = taskparaminfos
          @SourceServer = sourceserver
          @TargetServer = targetserver
          @DependencyWorkflow = dependencyworkflow
          @DependencyConfigDTOs = dependencyconfigdtos
          @ExecutionTTL = executionttl
          @ScriptChange = scriptchange
          @InChargeIds = inchargeids
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @SelfDepend = params['SelfDepend']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskAction = params['TaskAction']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @CrontabExpression = params['CrontabExpression']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @TaskName = params['TaskName']
          @RetryWait = params['RetryWait']
          @TryLimit = params['TryLimit']
          @Retriable = params['Retriable']
          @RunPriority = params['RunPriority']
          unless params['TaskExt'].nil?
            @TaskExt = []
            params['TaskExt'].each do |i|
              taskextinfo_tmp = TaskExtInfo.new
              taskextinfo_tmp.deserialize(i)
              @TaskExt << taskextinfo_tmp
            end
          end
          @ResourceGroup = params['ResourceGroup']
          @YarnQueue = params['YarnQueue']
          @BrokerIp = params['BrokerIp']
          @InCharge = params['InCharge']
          @Notes = params['Notes']
          unless params['TaskParamInfos'].nil?
            @TaskParamInfos = []
            params['TaskParamInfos'].each do |i|
              paraminfo_tmp = ParamInfo.new
              paraminfo_tmp.deserialize(i)
              @TaskParamInfos << paraminfo_tmp
            end
          end
          @SourceServer = params['SourceServer']
          @TargetServer = params['TargetServer']
          @DependencyWorkflow = params['DependencyWorkflow']
          unless params['DependencyConfigDTOs'].nil?
            @DependencyConfigDTOs = []
            params['DependencyConfigDTOs'].each do |i|
              dependencyconfig_tmp = DependencyConfig.new
              dependencyconfig_tmp.deserialize(i)
              @DependencyConfigDTOs << dependencyconfig_tmp
            end
          end
          @ExecutionTTL = params['ExecutionTTL']
          @ScriptChange = params['ScriptChange']
          @InChargeIds = params['InChargeIds']
        end
      end

      # ModifyTaskInfo返回参数结构体
      class ModifyTaskInfoResponse < TencentCloud::Common::AbstractModel
        # @param Data: 执行结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyTaskLinks请求参数结构体
      class ModifyTaskLinksRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param TaskFrom: 父任务ID
        # @type TaskFrom: String
        # @param TaskTo: 子任务ID
        # @type TaskTo: String
        # @param WorkflowId: 子任务工作流
        # @type WorkflowId: String
        # @param RealFromWorkflowId: 父任务工作流
        # @type RealFromWorkflowId: String
        # @param LinkDependencyType: 父子任务之间的依赖关系
        # @type LinkDependencyType: String

        attr_accessor :ProjectId, :TaskFrom, :TaskTo, :WorkflowId, :RealFromWorkflowId, :LinkDependencyType

        def initialize(projectid=nil, taskfrom=nil, taskto=nil, workflowid=nil, realfromworkflowid=nil, linkdependencytype=nil)
          @ProjectId = projectid
          @TaskFrom = taskfrom
          @TaskTo = taskto
          @WorkflowId = workflowid
          @RealFromWorkflowId = realfromworkflowid
          @LinkDependencyType = linkdependencytype
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskFrom = params['TaskFrom']
          @TaskTo = params['TaskTo']
          @WorkflowId = params['WorkflowId']
          @RealFromWorkflowId = params['RealFromWorkflowId']
          @LinkDependencyType = params['LinkDependencyType']
        end
      end

      # ModifyTaskLinks返回参数结构体
      class ModifyTaskLinksResponse < TencentCloud::Common::AbstractModel
        # @param Data: 成功或者失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyTaskName请求参数结构体
      class ModifyTaskNameRequest < TencentCloud::Common::AbstractModel
        # @param TaskName: 名称
        # @type TaskName: String
        # @param TaskId: id
        # @type TaskId: String
        # @param ProjectId: 项目/工作空间id
        # @type ProjectId: String
        # @param Notes: 备注
        # @type Notes: String

        attr_accessor :TaskName, :TaskId, :ProjectId, :Notes

        def initialize(taskname=nil, taskid=nil, projectid=nil, notes=nil)
          @TaskName = taskname
          @TaskId = taskid
          @ProjectId = projectid
          @Notes = notes
        end

        def deserialize(params)
          @TaskName = params['TaskName']
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @Notes = params['Notes']
        end
      end

      # ModifyTaskName返回参数结构体
      class ModifyTaskNameResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyTaskScript请求参数结构体
      class ModifyTaskScriptRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param ScriptContent: 脚本内容 base64编码
        # @type ScriptContent: String
        # @param IntegrationNodeDetails: 集成任务脚本配置
        # @type IntegrationNodeDetails: Array

        attr_accessor :ProjectId, :TaskId, :ScriptContent, :IntegrationNodeDetails

        def initialize(projectid=nil, taskid=nil, scriptcontent=nil, integrationnodedetails=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @ScriptContent = scriptcontent
          @IntegrationNodeDetails = integrationnodedetails
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @ScriptContent = params['ScriptContent']
          unless params['IntegrationNodeDetails'].nil?
            @IntegrationNodeDetails = []
            params['IntegrationNodeDetails'].each do |i|
              integrationnodedetail_tmp = IntegrationNodeDetail.new
              integrationnodedetail_tmp.deserialize(i)
              @IntegrationNodeDetails << integrationnodedetail_tmp
            end
          end
        end
      end

      # ModifyTaskScript返回参数结构体
      class ModifyTaskScriptResponse < TencentCloud::Common::AbstractModel
        # @param Data: 详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.CommonContent`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = CommonContent.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # ModifyWorkflowInfo请求参数结构体
      class ModifyWorkflowInfoRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param Owner: 责任人
        # @type Owner: String
        # @param OwnerId: 责任人id
        # @type OwnerId: String
        # @param WorkflowDesc: 备注
        # @type WorkflowDesc: String
        # @param WorkflowName: 工作流名称
        # @type WorkflowName: String
        # @param FolderId: 所属文件夹id
        # @type FolderId: String
        # @param UserGroupId: 工作流所属用户分组id  若有多个,分号隔开: a;b;c
        # @type UserGroupId: String
        # @param UserGroupName: 工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        # @type UserGroupName: String
        # @param WorkflowParams: 工作流参数列表
        # @type WorkflowParams: Array
        # @param GeneralTaskParams: 用于配置优化参数(线程、内存、CPU核数等),仅作用于Spark SQL节点。多个参数用英文分号分隔。
        # @type GeneralTaskParams: Array

        attr_accessor :ProjectId, :WorkflowId, :Owner, :OwnerId, :WorkflowDesc, :WorkflowName, :FolderId, :UserGroupId, :UserGroupName, :WorkflowParams, :GeneralTaskParams

        def initialize(projectid=nil, workflowid=nil, owner=nil, ownerid=nil, workflowdesc=nil, workflowname=nil, folderid=nil, usergroupid=nil, usergroupname=nil, workflowparams=nil, generaltaskparams=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @Owner = owner
          @OwnerId = ownerid
          @WorkflowDesc = workflowdesc
          @WorkflowName = workflowname
          @FolderId = folderid
          @UserGroupId = usergroupid
          @UserGroupName = usergroupname
          @WorkflowParams = workflowparams
          @GeneralTaskParams = generaltaskparams
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @Owner = params['Owner']
          @OwnerId = params['OwnerId']
          @WorkflowDesc = params['WorkflowDesc']
          @WorkflowName = params['WorkflowName']
          @FolderId = params['FolderId']
          @UserGroupId = params['UserGroupId']
          @UserGroupName = params['UserGroupName']
          unless params['WorkflowParams'].nil?
            @WorkflowParams = []
            params['WorkflowParams'].each do |i|
              paraminfo_tmp = ParamInfo.new
              paraminfo_tmp.deserialize(i)
              @WorkflowParams << paraminfo_tmp
            end
          end
          unless params['GeneralTaskParams'].nil?
            @GeneralTaskParams = []
            params['GeneralTaskParams'].each do |i|
              generaltaskparam_tmp = GeneralTaskParam.new
              generaltaskparam_tmp.deserialize(i)
              @GeneralTaskParams << generaltaskparam_tmp
            end
          end
        end
      end

      # ModifyWorkflowInfo返回参数结构体
      class ModifyWorkflowInfoResponse < TencentCloud::Common::AbstractModel
        # @param Data: true代表成功,false代表失败
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # ModifyWorkflowSchedule请求参数结构体
      class ModifyWorkflowScheduleRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param DelayTime: 延迟时间,单位分钟
        # @type DelayTime: Integer
        # @param StartupTime: 启动时间
        # @type StartupTime: Integer
        # @param SelfDepend: 自依赖类型  1:有序串行 一次一个 排队, 2: 无序串行 一次一个 不排队, 3:并行 一次多个
        # @type SelfDepend: Integer
        # @param CycleType: "周期类型  0:crontab类型, 1:分钟,2:小时,3:天,4:周,5:月,6:一次性,7:用户驱动,10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型,与正常周期调度任务逻辑隔离
        # @type CycleType: Integer
        # @param CycleStep: 步长,间隔时间,最小1
        # @type CycleStep: Integer
        # @param StartTime: 生效开始时间,格式 yyyy-MM-dd HH:mm:ss
        # @type StartTime: String
        # @param EndTime: 生效结束时间,格式 yyyy-MM-dd HH:mm:ss
        # @type EndTime: String
        # @param TaskAction: 调度配置-弹性周期配置,小时/周/月/年调度才有,小时任务指定每天的0点3点4点跑,则为'0,3,4'。
        # @type TaskAction: String
        # @param CrontabExpression: cron表达式  周期类型为crontab调度才需要
        # @type CrontabExpression: String
        # @param ExecutionStartTime: 执行时间左闭区间,格式:HH:mm  小时调度才有,例如小时任务, 每日固定区间生效
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间,格式:HH:mm  小时调度才有,例如小时任务, 每日固定区间生效
        # @type ExecutionEndTime: String
        # @param DependencyWorkflow: 工作流依赖 ,yes 或者no
        # @type DependencyWorkflow: String

        attr_accessor :ProjectId, :WorkflowId, :DelayTime, :StartupTime, :SelfDepend, :CycleType, :CycleStep, :StartTime, :EndTime, :TaskAction, :CrontabExpression, :ExecutionStartTime, :ExecutionEndTime, :DependencyWorkflow

        def initialize(projectid=nil, workflowid=nil, delaytime=nil, startuptime=nil, selfdepend=nil, cycletype=nil, cyclestep=nil, starttime=nil, endtime=nil, taskaction=nil, crontabexpression=nil, executionstarttime=nil, executionendtime=nil, dependencyworkflow=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @DelayTime = delaytime
          @StartupTime = startuptime
          @SelfDepend = selfdepend
          @CycleType = cycletype
          @CycleStep = cyclestep
          @StartTime = starttime
          @EndTime = endtime
          @TaskAction = taskaction
          @CrontabExpression = crontabexpression
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @DependencyWorkflow = dependencyworkflow
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @SelfDepend = params['SelfDepend']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskAction = params['TaskAction']
          @CrontabExpression = params['CrontabExpression']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @DependencyWorkflow = params['DependencyWorkflow']
        end
      end

      # ModifyWorkflowSchedule返回参数结构体
      class ModifyWorkflowScheduleResponse < TencentCloud::Common::AbstractModel
        # @param Data: 执行结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchResult`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchResult.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # MoveTasksToFolder请求参数结构体
      class MoveTasksToFolderRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param TaskFolderId: 任务文件夹ID
        # @type TaskFolderId: String
        # @param TaskIds: 任务ID
        # @type TaskIds: Array
        # @param VirtualTaskIds: 虚拟任务ID
        # @type VirtualTaskIds: Array

        attr_accessor :ProjectId, :WorkflowId, :TaskFolderId, :TaskIds, :VirtualTaskIds

        def initialize(projectid=nil, workflowid=nil, taskfolderid=nil, taskids=nil, virtualtaskids=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @TaskFolderId = taskfolderid
          @TaskIds = taskids
          @VirtualTaskIds = virtualtaskids
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @TaskFolderId = params['TaskFolderId']
          @TaskIds = params['TaskIds']
          @VirtualTaskIds = params['VirtualTaskIds']
        end
      end

      # MoveTasksToFolder返回参数结构体
      class MoveTasksToFolderResponse < TencentCloud::Common::AbstractModel
        # @param Data: true代表成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # 离线实例
      class OfflineInstance < TencentCloud::Common::AbstractModel
        # @param CreateUin: 创建账号sub uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateUin: String
        # @param OperatorUin: 操作账号sub uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUin: String
        # @param OwnerUin: 主账号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUin: String
        # @param AppId: 账号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AppId: String
        # @param WorkspaceId: 项目Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkspaceId: String
        # @param TaskId: 任务Id
        # @type TaskId: String
        # @param CurRunDate: 数据时间
        # @type CurRunDate: String
        # @param IssueId: 下发时间
        # @type IssueId: String
        # @param InlongTaskId: 下发资源组id,非传入项
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InlongTaskId: String
        # @param ResourceGroup: 资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceGroup: String
        # @param TaskRunType: 任务类型(1 调试运行,2 调度执行)
        # @type TaskRunType: Integer
        # @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: String
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 最后更新时间
        # @type UpdateTime: String
        # @param InstanceKey: 唯一key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceKey: String

        attr_accessor :CreateUin, :OperatorUin, :OwnerUin, :AppId, :WorkspaceId, :TaskId, :CurRunDate, :IssueId, :InlongTaskId, :ResourceGroup, :TaskRunType, :State, :StartTime, :EndTime, :CreateTime, :UpdateTime, :InstanceKey

        def initialize(createuin=nil, operatoruin=nil, owneruin=nil, appid=nil, workspaceid=nil, taskid=nil, currundate=nil, issueid=nil, inlongtaskid=nil, resourcegroup=nil, taskruntype=nil, state=nil, starttime=nil, endtime=nil, createtime=nil, updatetime=nil, instancekey=nil)
          @CreateUin = createuin
          @OperatorUin = operatoruin
          @OwnerUin = owneruin
          @AppId = appid
          @WorkspaceId = workspaceid
          @TaskId = taskid
          @CurRunDate = currundate
          @IssueId = issueid
          @InlongTaskId = inlongtaskid
          @ResourceGroup = resourcegroup
          @TaskRunType = taskruntype
          @State = state
          @StartTime = starttime
          @EndTime = endtime
          @CreateTime = createtime
          @UpdateTime = updatetime
          @InstanceKey = instancekey
        end

        def deserialize(params)
          @CreateUin = params['CreateUin']
          @OperatorUin = params['OperatorUin']
          @OwnerUin = params['OwnerUin']
          @AppId = params['AppId']
          @WorkspaceId = params['WorkspaceId']
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
          @IssueId = params['IssueId']
          @InlongTaskId = params['InlongTaskId']
          @ResourceGroup = params['ResourceGroup']
          @TaskRunType = params['TaskRunType']
          @State = params['State']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @InstanceKey = params['InstanceKey']
        end
      end

      # 离线任务新增参数
      class OfflineTaskAddParam < TencentCloud::Common::AbstractModel
        # @param WorkflowName: 名称
        # @type WorkflowName: String
        # @param DependencyWorkflow: 依赖:yes、no
        # @type DependencyWorkflow: String
        # @param StartTime: 任务开始数据时间。非空。默认当前时间
        # @type StartTime: String
        # @param EndTime: 任务结束数据时间。非空。默认当前时间
        # @type EndTime: String
        # @param CycleType: 周期类型。一次性任务:6、分钟任务:1、小时任务:2、天任务:3、周任务:4、月任务:5、crontab任务:0
        # @type CycleType: Integer
        # @param CycleStep: 间隔,可选,默认1。非空。默认 1
        # @type CycleStep: Integer
        # @param DelayTime: 延时执行时间,单位分钟
        # @type DelayTime: Integer
        # @param CrontabExpression: 任务cron表达式,仅cron任务使用,其他时候默认为空
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CrontabExpression: String
        # @param RetryWait: 重试等待
        # @type RetryWait: Integer
        # @param Retriable: 是否可以重试
        # @type Retriable: Integer
        # @param TryLimit: 重试限制
        # @type TryLimit: Integer
        # @param RunPriority: 优先级
        # @type RunPriority: Integer
        # @param ProductName: 产品名称
        # @type ProductName: String
        # @param SelfDepend: 1 有序串行 一次一个,排队 orderly
        # 2 无序串行 一次一个,不排队 serial
        # 3 并行 一次多个 parallel
        # @type SelfDepend: Integer
        # @param TaskAction: 时间指定,如月任务指定1,3号,则填入 1,3。非空。默认 ""
        # 月任务:如具体1,3号则写 "1,3",指定月末不可和具体号数一起输入,仅能为 "L"
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param ExecutionEndTime: 调度执行结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionEndTime: String
        # @param ExecutionStartTime: 调度执行开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionStartTime: String
        # @param TaskAutoSubmit: 是否自动提交
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAutoSubmit: Boolean
        # @param InstanceInitStrategy: 实例生成方式,T_PLUS_0 当天任务当天调度 / T_PLUS_1 当天任务后一天调度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceInitStrategy: String

        attr_accessor :WorkflowName, :DependencyWorkflow, :StartTime, :EndTime, :CycleType, :CycleStep, :DelayTime, :CrontabExpression, :RetryWait, :Retriable, :TryLimit, :RunPriority, :ProductName, :SelfDepend, :TaskAction, :ExecutionEndTime, :ExecutionStartTime, :TaskAutoSubmit, :InstanceInitStrategy

        def initialize(workflowname=nil, dependencyworkflow=nil, starttime=nil, endtime=nil, cycletype=nil, cyclestep=nil, delaytime=nil, crontabexpression=nil, retrywait=nil, retriable=nil, trylimit=nil, runpriority=nil, productname=nil, selfdepend=nil, taskaction=nil, executionendtime=nil, executionstarttime=nil, taskautosubmit=nil, instanceinitstrategy=nil)
          @WorkflowName = workflowname
          @DependencyWorkflow = dependencyworkflow
          @StartTime = starttime
          @EndTime = endtime
          @CycleType = cycletype
          @CycleStep = cyclestep
          @DelayTime = delaytime
          @CrontabExpression = crontabexpression
          @RetryWait = retrywait
          @Retriable = retriable
          @TryLimit = trylimit
          @RunPriority = runpriority
          @ProductName = productname
          @SelfDepend = selfdepend
          @TaskAction = taskaction
          @ExecutionEndTime = executionendtime
          @ExecutionStartTime = executionstarttime
          @TaskAutoSubmit = taskautosubmit
          @InstanceInitStrategy = instanceinitstrategy
        end

        def deserialize(params)
          @WorkflowName = params['WorkflowName']
          @DependencyWorkflow = params['DependencyWorkflow']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @DelayTime = params['DelayTime']
          @CrontabExpression = params['CrontabExpression']
          @RetryWait = params['RetryWait']
          @Retriable = params['Retriable']
          @TryLimit = params['TryLimit']
          @RunPriority = params['RunPriority']
          @ProductName = params['ProductName']
          @SelfDepend = params['SelfDepend']
          @TaskAction = params['TaskAction']
          @ExecutionEndTime = params['ExecutionEndTime']
          @ExecutionStartTime = params['ExecutionStartTime']
          @TaskAutoSubmit = params['TaskAutoSubmit']
          @InstanceInitStrategy = params['InstanceInitStrategy']
        end
      end

      # 操作返回结果
      class OperationOpsDto < TencentCloud::Common::AbstractModel
        # @param Result: 操作是否成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Result: Boolean
        # @param ResultMsg: 操作结果详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResultMsg: String
        # @param ErrorId: 操作失败类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorId: String
        # @param ErrorDesc: 操作失败描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String

        attr_accessor :Result, :ResultMsg, :ErrorId, :ErrorDesc

        def initialize(result=nil, resultmsg=nil, errorid=nil, errordesc=nil)
          @Result = result
          @ResultMsg = resultmsg
          @ErrorId = errorid
          @ErrorDesc = errordesc
        end

        def deserialize(params)
          @Result = params['Result']
          @ResultMsg = params['ResultMsg']
          @ErrorId = params['ErrorId']
          @ErrorDesc = params['ErrorDesc']
        end
      end

      # 任务信息
      class OpsTaskCanvasDto < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param WorkflowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param WorkflowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param Status: 任务状态,'Y','F','O','T','INVALID' 分别表示调度中、已停止、已暂停、停止中、已失效
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param TaskTypeId: 任务类型id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTypeId: Integer
        # @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: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param FolderName: 文件夹名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderName: String
        # @param FolderId: 文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param FirstSubmitTime: 最近提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstSubmitTime: String
        # @param FirstRunTime: 首次运行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstRunTime: String
        # @param ScheduleDesc: 调度计划展示描述信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScheduleDesc: String
        # @param InCharge: 负责人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param CycleUnit: 调度周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param LeftCoordinate: 画布x轴坐标点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LeftCoordinate: Float
        # @param TopCoordinate: 画布y轴坐标点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TopCoordinate: Float
        # @param VirtualFlag: 跨工作流虚拟任务标识;true标识跨工作流任务;false标识本工作流任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualFlag: Boolean
        # @param TaskAction: 弹性周期配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param DelayTime: 延迟时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param ExecutionStartTime: 执行开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionEndTime: String
        # @param Layer: 层级
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Layer: String
        # @param SourceServiceId: 来源数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceServiceId: String
        # @param SourceServiceType: 来源数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceServiceType: String
        # @param TargetServiceId: 目标数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetServiceId: String
        # @param TargetServiceType: 目标数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetServiceType: String
        # @param AlarmType: 任务告警类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmType: String
        # @param CreateTime: 任务创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String

        attr_accessor :TaskId, :TaskName, :WorkflowId, :WorkflowName, :ProjectName, :ProjectIdent, :Status, :TaskTypeId, :TaskTypeDesc, :ProjectId, :FolderName, :FolderId, :FirstSubmitTime, :FirstRunTime, :ScheduleDesc, :InCharge, :CycleUnit, :LeftCoordinate, :TopCoordinate, :VirtualFlag, :TaskAction, :DelayTime, :ExecutionStartTime, :ExecutionEndTime, :Layer, :SourceServiceId, :SourceServiceType, :TargetServiceId, :TargetServiceType, :AlarmType, :CreateTime

        def initialize(taskid=nil, taskname=nil, workflowid=nil, workflowname=nil, projectname=nil, projectident=nil, status=nil, tasktypeid=nil, tasktypedesc=nil, projectid=nil, foldername=nil, folderid=nil, firstsubmittime=nil, firstruntime=nil, scheduledesc=nil, incharge=nil, cycleunit=nil, leftcoordinate=nil, topcoordinate=nil, virtualflag=nil, taskaction=nil, delaytime=nil, executionstarttime=nil, executionendtime=nil, layer=nil, sourceserviceid=nil, sourceservicetype=nil, targetserviceid=nil, targetservicetype=nil, alarmtype=nil, createtime=nil)
          @TaskId = taskid
          @TaskName = taskname
          @WorkflowId = workflowid
          @WorkflowName = workflowname
          @ProjectName = projectname
          @ProjectIdent = projectident
          @Status = status
          @TaskTypeId = tasktypeid
          @TaskTypeDesc = tasktypedesc
          @ProjectId = projectid
          @FolderName = foldername
          @FolderId = folderid
          @FirstSubmitTime = firstsubmittime
          @FirstRunTime = firstruntime
          @ScheduleDesc = scheduledesc
          @InCharge = incharge
          @CycleUnit = cycleunit
          @LeftCoordinate = leftcoordinate
          @TopCoordinate = topcoordinate
          @VirtualFlag = virtualflag
          @TaskAction = taskaction
          @DelayTime = delaytime
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @Layer = layer
          @SourceServiceId = sourceserviceid
          @SourceServiceType = sourceservicetype
          @TargetServiceId = targetserviceid
          @TargetServiceType = targetservicetype
          @AlarmType = alarmtype
          @CreateTime = createtime
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @WorkflowId = params['WorkflowId']
          @WorkflowName = params['WorkflowName']
          @ProjectName = params['ProjectName']
          @ProjectIdent = params['ProjectIdent']
          @Status = params['Status']
          @TaskTypeId = params['TaskTypeId']
          @TaskTypeDesc = params['TaskTypeDesc']
          @ProjectId = params['ProjectId']
          @FolderName = params['FolderName']
          @FolderId = params['FolderId']
          @FirstSubmitTime = params['FirstSubmitTime']
          @FirstRunTime = params['FirstRunTime']
          @ScheduleDesc = params['ScheduleDesc']
          @InCharge = params['InCharge']
          @CycleUnit = params['CycleUnit']
          @LeftCoordinate = params['LeftCoordinate']
          @TopCoordinate = params['TopCoordinate']
          @VirtualFlag = params['VirtualFlag']
          @TaskAction = params['TaskAction']
          @DelayTime = params['DelayTime']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @Layer = params['Layer']
          @SourceServiceId = params['SourceServiceId']
          @SourceServiceType = params['SourceServiceType']
          @TargetServiceId = params['TargetServiceId']
          @TargetServiceType = params['TargetServiceType']
          @AlarmType = params['AlarmType']
          @CreateTime = params['CreateTime']
        end
      end

      # 画布所需的信息
      class OpsTaskCanvasInfoList < TencentCloud::Common::AbstractModel
        # @param TasksList: 画布任务信息
        # @type TasksList: Array
        # @param LinksList: 画布任务链接信息
        # @type LinksList: Array
        # @param CirculateTaskList: 画布循环依赖任务信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CirculateTaskList: Array

        attr_accessor :TasksList, :LinksList, :CirculateTaskList

        def initialize(taskslist=nil, linkslist=nil, circulatetasklist=nil)
          @TasksList = taskslist
          @LinksList = linkslist
          @CirculateTaskList = circulatetasklist
        end

        def deserialize(params)
          unless params['TasksList'].nil?
            @TasksList = []
            params['TasksList'].each do |i|
              opstaskcanvasdto_tmp = OpsTaskCanvasDto.new
              opstaskcanvasdto_tmp.deserialize(i)
              @TasksList << opstaskcanvasdto_tmp
            end
          end
          unless params['LinksList'].nil?
            @LinksList = []
            params['LinksList'].each do |i|
              opstasklinkinfodto_tmp = OpsTaskLinkInfoDto.new
              opstasklinkinfodto_tmp.deserialize(i)
              @LinksList << opstasklinkinfodto_tmp
            end
          end
          unless params['CirculateTaskList'].nil?
            @CirculateTaskList = []
            params['CirculateTaskList'].each do |i|
              opstaskcanvasdto_tmp = OpsTaskCanvasDto.new
              opstaskcanvasdto_tmp.deserialize(i)
              @CirculateTaskList << opstaskcanvasdto_tmp
            end
          end
        end
      end

      # 任务分页查询
      class OpsTaskInfoPage < TencentCloud::Common::AbstractModel
        # @param PageNumber: 页号
        # @type PageNumber: Integer
        # @param PageSize: 页大小
        # @type PageSize: Integer
        # @param Items: 任务列表信息
        # @type Items: Array
        # @param TotalPage: 总页数
        # @type TotalPage: Integer
        # @param PageCount: 页数
        # @type PageCount: Integer
        # @param TotalCount: 总条数
        # @type TotalCount: Integer

        attr_accessor :PageNumber, :PageSize, :Items, :TotalPage, :PageCount, :TotalCount

        def initialize(pagenumber=nil, pagesize=nil, items=nil, totalpage=nil, pagecount=nil, totalcount=nil)
          @PageNumber = pagenumber
          @PageSize = pagesize
          @Items = items
          @TotalPage = totalpage
          @PageCount = pagecount
          @TotalCount = totalcount
        end

        def deserialize(params)
          @PageNumber = params['PageNumber']
          @PageSize = params['PageSize']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              taskopsdto_tmp = TaskOpsDto.new
              taskopsdto_tmp.deserialize(i)
              @Items << taskopsdto_tmp
            end
          end
          @TotalPage = params['TotalPage']
          @PageCount = params['PageCount']
          @TotalCount = params['TotalCount']
        end
      end

      # 任务依赖的边信息
      class OpsTaskLinkInfoDto < TencentCloud::Common::AbstractModel
        # @param TaskTo: 下游任务id
        # @type TaskTo: String
        # @param TaskFrom: 上游任务id
        # @type TaskFrom: String
        # @param LinkType: 依赖边类型 1、“real_real”表示任务->任务;2、"virtual_real" 跨工作流任务->任务
        # @type LinkType: String
        # @param LinkId: 依赖边id
        # @type LinkId: String
        # @param LinkStyle: 为了区分新增的循环依赖新增的类型。默认是normal,循环依赖则是circulate
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LinkStyle: String

        attr_accessor :TaskTo, :TaskFrom, :LinkType, :LinkId, :LinkStyle

        def initialize(taskto=nil, taskfrom=nil, linktype=nil, linkid=nil, linkstyle=nil)
          @TaskTo = taskto
          @TaskFrom = taskfrom
          @LinkType = linktype
          @LinkId = linkid
          @LinkStyle = linkstyle
        end

        def deserialize(params)
          @TaskTo = params['TaskTo']
          @TaskFrom = params['TaskFrom']
          @LinkType = params['LinkType']
          @LinkId = params['LinkId']
          @LinkStyle = params['LinkStyle']
        end
      end

      # 通用排序字段
      class OrderField < TencentCloud::Common::AbstractModel
        # @param Name: 排序字段名称
        # @type Name: String
        # @param Direction: 排序方向:ASC|DESC
        # @type Direction: String

        attr_accessor :Name, :Direction

        def initialize(name=nil, direction=nil)
          @Name = name
          @Direction = direction
        end

        def deserialize(params)
          @Name = params['Name']
          @Direction = params['Direction']
        end
      end

      # 通用排序字段
      class OrderFieldOptional < TencentCloud::Common::AbstractModel
        # @param Name: 排序字段名称
        # @type Name: String
        # @param Direction: 排序方向:ASC|DESC
        # @type Direction: String

        attr_accessor :Name, :Direction

        def initialize(name=nil, direction=nil)
          @Name = name
          @Direction = direction
        end

        def deserialize(params)
          @Name = params['Name']
          @Direction = params['Direction']
        end
      end

      # 包含层级信息的函数
      class OrganizationalFunction < TencentCloud::Common::AbstractModel
        # @param Name: 名称
        # @type Name: String
        # @param DisplayName: 展示名称
        # @type DisplayName: String
        # @param LayerPath: 层级路径
        # @type LayerPath: String
        # @param ParentLayerPath: 上级层级路径
        # @type ParentLayerPath: String
        # @param Type: 函数类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Kind: 函数分类:窗口函数、聚合函数、日期函数......
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Kind: String
        # @param Category: 函数种类:系统函数、自定义函数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Category: String
        # @param Status: 函数状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param Description: 函数说明
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Usage: 函数用法
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Usage: String
        # @param ParamDesc: 函数参数说明
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParamDesc: String
        # @param ReturnDesc: 函数返回值说明
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReturnDesc: String
        # @param Example: 函数示例
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Example: String
        # @param ClusterIdentifier: 集群实例引擎 ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterIdentifier: String
        # @param FuncId: 函数 ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FuncId: String
        # @param ClassName: 函数类名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClassName: String
        # @param ResourceList: 函数资源列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceList: Array
        # @param OperatorUserIds: 操作人 ID 列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUserIds: Array
        # @param OwnerUserIds: 公有云 Owner ID 列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserIds: Array
        # @param DbName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DbName: String
        # @param SubmitErrorMsg: 提交失败错误信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitErrorMsg: String
        # @param SchemaName: 模式名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String
        # @param CommandFormat: 函数命令格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CommandFormat: String
        # @param OwnerName: 名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerName: String
        # @param SubmitTimestamp: 时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitTimestamp: String
        # @param Tag: 函数tag
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tag: String
        # @param OperatorUserIdsStr: 操作人 ID 列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUserIdsStr: Array
        # @param OwnerUserIdsStr: 公有云 Owner ID 列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserIdsStr: Array
        # @param EnvType: 数据库环境
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EnvType: String

        attr_accessor :Name, :DisplayName, :LayerPath, :ParentLayerPath, :Type, :Kind, :Category, :Status, :Description, :Usage, :ParamDesc, :ReturnDesc, :Example, :ClusterIdentifier, :FuncId, :ClassName, :ResourceList, :OperatorUserIds, :OwnerUserIds, :DbName, :SubmitErrorMsg, :SchemaName, :CommandFormat, :OwnerName, :SubmitTimestamp, :Tag, :OperatorUserIdsStr, :OwnerUserIdsStr, :EnvType

        def initialize(name=nil, displayname=nil, layerpath=nil, parentlayerpath=nil, type=nil, kind=nil, category=nil, status=nil, description=nil, usage=nil, paramdesc=nil, returndesc=nil, example=nil, clusteridentifier=nil, funcid=nil, classname=nil, resourcelist=nil, operatoruserids=nil, owneruserids=nil, dbname=nil, submiterrormsg=nil, schemaname=nil, commandformat=nil, ownername=nil, submittimestamp=nil, tag=nil, operatoruseridsstr=nil, owneruseridsstr=nil, envtype=nil)
          @Name = name
          @DisplayName = displayname
          @LayerPath = layerpath
          @ParentLayerPath = parentlayerpath
          @Type = type
          @Kind = kind
          @Category = category
          @Status = status
          @Description = description
          @Usage = usage
          @ParamDesc = paramdesc
          @ReturnDesc = returndesc
          @Example = example
          @ClusterIdentifier = clusteridentifier
          @FuncId = funcid
          @ClassName = classname
          @ResourceList = resourcelist
          @OperatorUserIds = operatoruserids
          @OwnerUserIds = owneruserids
          @DbName = dbname
          @SubmitErrorMsg = submiterrormsg
          @SchemaName = schemaname
          @CommandFormat = commandformat
          @OwnerName = ownername
          @SubmitTimestamp = submittimestamp
          @Tag = tag
          @OperatorUserIdsStr = operatoruseridsstr
          @OwnerUserIdsStr = owneruseridsstr
          @EnvType = envtype
        end

        def deserialize(params)
          @Name = params['Name']
          @DisplayName = params['DisplayName']
          @LayerPath = params['LayerPath']
          @ParentLayerPath = params['ParentLayerPath']
          @Type = params['Type']
          @Kind = params['Kind']
          @Category = params['Category']
          @Status = params['Status']
          @Description = params['Description']
          @Usage = params['Usage']
          @ParamDesc = params['ParamDesc']
          @ReturnDesc = params['ReturnDesc']
          @Example = params['Example']
          @ClusterIdentifier = params['ClusterIdentifier']
          @FuncId = params['FuncId']
          @ClassName = params['ClassName']
          unless params['ResourceList'].nil?
            @ResourceList = []
            params['ResourceList'].each do |i|
              functionversion_tmp = FunctionVersion.new
              functionversion_tmp.deserialize(i)
              @ResourceList << functionversion_tmp
            end
          end
          @OperatorUserIds = params['OperatorUserIds']
          @OwnerUserIds = params['OwnerUserIds']
          @DbName = params['DbName']
          @SubmitErrorMsg = params['SubmitErrorMsg']
          @SchemaName = params['SchemaName']
          @CommandFormat = params['CommandFormat']
          @OwnerName = params['OwnerName']
          @SubmitTimestamp = params['SubmitTimestamp']
          @Tag = params['Tag']
          @OperatorUserIdsStr = params['OperatorUserIdsStr']
          @OwnerUserIdsStr = params['OwnerUserIdsStr']
          @EnvType = params['EnvType']
        end
      end

      # 键值对
      class Pair < TencentCloud::Common::AbstractModel
        # @param Key: 键名
        # @type Key: String
        # @param Value: 值
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 键值对
      class PairDto < TencentCloud::Common::AbstractModel
        # @param Key: 键名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Key: String
        # @param Value: 值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 参数参数
      class ParamInfo < TencentCloud::Common::AbstractModel
        # @param ParamKey: 参数名
        # @type ParamKey: String
        # @param ParamValue: 参数值
        # @type ParamValue: String

        attr_accessor :ParamKey, :ParamValue

        def initialize(paramkey=nil, paramvalue=nil)
          @ParamKey = paramkey
          @ParamValue = paramvalue
        end

        def deserialize(params)
          @ParamKey = params['ParamKey']
          @ParamValue = params['ParamValue']
        end
      end

      # 参数参数
      class ParamInfoDs < TencentCloud::Common::AbstractModel
        # @param ParamKey: 参数名
        # @type ParamKey: String
        # @param ParamValue: 参数值
        # @type ParamValue: String

        attr_accessor :ParamKey, :ParamValue

        def initialize(paramkey=nil, paramvalue=nil)
          @ParamKey = paramkey
          @ParamValue = paramvalue
        end

        def deserialize(params)
          @ParamKey = params['ParamKey']
          @ParamValue = params['ParamValue']
        end
      end

      # 分区参数
      class Partition < TencentCloud::Common::AbstractModel
        # @param Transform: 分区转换策略
        # @type Transform: String
        # @param Name: 分区字段名
        # @type Name: String
        # @param TransformArgs: 策略参数
        # @type TransformArgs: Array

        attr_accessor :Transform, :Name, :TransformArgs

        def initialize(transform=nil, name=nil, transformargs=nil)
          @Transform = transform
          @Name = name
          @TransformArgs = transformargs
        end

        def deserialize(params)
          @Transform = params['Transform']
          @Name = params['Name']
          @TransformArgs = params['TransformArgs']
        end
      end

      # 数据开发-统一树结构返回属性
      class PathNodeDsVO < TencentCloud::Common::AbstractModel
        # @param Id: PathNode ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param Title: PathNode 名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Title: String
        # @param Type: PathNode 类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param ParentId: 父节点唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentId: String
        # @param IsLeaf: 是否叶子节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsLeaf: Boolean
        # @param Children: 子节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Children: Array
        # @param Params: 业务参数 ,base64编译的json串,获取具体参数需要base64反编译
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String

        attr_accessor :Id, :Title, :Type, :ParentId, :IsLeaf, :Children, :Params

        def initialize(id=nil, title=nil, type=nil, parentid=nil, isleaf=nil, children=nil, params=nil)
          @Id = id
          @Title = title
          @Type = type
          @ParentId = parentid
          @IsLeaf = isleaf
          @Children = children
          @Params = params
        end

        def deserialize(params)
          @Id = params['Id']
          @Title = params['Title']
          @Type = params['Type']
          @ParentId = params['ParentId']
          @IsLeaf = params['IsLeaf']
          unless params['Children'].nil?
            @Children = []
            params['Children'].each do |i|
              pathnodedsvo_tmp = PathNodeDsVO.new
              pathnodedsvo_tmp.deserialize(i)
              @Children << pathnodedsvo_tmp
            end
          end
          @Params = params['Params']
        end
      end

      # 数据质量生产调度任务业务实体
      class ProdSchedulerTask < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 生产调度任务工作流ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param TaskId: 生产调度任务Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 生产调度任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param CycleType: 生产调度任务任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: Integer

        attr_accessor :WorkflowId, :TaskId, :TaskName, :CycleType

        def initialize(workflowid=nil, taskid=nil, taskname=nil, cycletype=nil)
          @WorkflowId = workflowid
          @TaskId = taskid
          @TaskName = taskname
          @CycleType = cycletype
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @CycleType = params['CycleType']
        end
      end

      # 项目信息
      class Project < TencentCloud::Common::AbstractModel
        # @param TenantId: 项目的所在租户ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantId: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectName: 项目标识,英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param DisplayName: 项目显示名称,可以为中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DisplayName: String
        # @param Region: 地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param Description: 备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @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: Array
        # @param Clusters: 项目关联的集群信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Clusters: Array
        # @param Params: 项目的额外配置参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String
        # @param Status: 项目状态:0:禁用,1:启用,-3:禁用中,2:启用中
        # @type Status: Integer
        # @param Model: 项目类型,SIMPLE:简单模式 STANDARD:标准模式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Model: String

        attr_accessor :TenantId, :ProjectId, :ProjectName, :DisplayName, :Region, :Description, :CreateTime, :Creator, :Tenant, :AdminUsers, :Clusters, :Params, :Status, :Model

        def initialize(tenantid=nil, projectid=nil, projectname=nil, displayname=nil, region=nil, description=nil, createtime=nil, creator=nil, tenant=nil, adminusers=nil, clusters=nil, params=nil, status=nil, model=nil)
          @TenantId = tenantid
          @ProjectId = projectid
          @ProjectName = projectname
          @DisplayName = displayname
          @Region = region
          @Description = description
          @CreateTime = createtime
          @Creator = creator
          @Tenant = tenant
          @AdminUsers = adminusers
          @Clusters = clusters
          @Params = params
          @Status = status
          @Model = model
        end

        def deserialize(params)
          @TenantId = params['TenantId']
          @ProjectId = params['ProjectId']
          @ProjectName = params['ProjectName']
          @DisplayName = params['DisplayName']
          @Region = params['Region']
          @Description = params['Description']
          @CreateTime = params['CreateTime']
          unless params['Creator'].nil?
            @Creator = BaseUser.new
            @Creator.deserialize(params['Creator'])
          end
          unless params['Tenant'].nil?
            @Tenant = BaseTenant.new
            @Tenant.deserialize(params['Tenant'])
          end
          unless params['AdminUsers'].nil?
            @AdminUsers = []
            params['AdminUsers'].each do |i|
              baseuser_tmp = BaseUser.new
              baseuser_tmp.deserialize(i)
              @AdminUsers << baseuser_tmp
            end
          end
          unless params['Clusters'].nil?
            @Clusters = []
            params['Clusters'].each do |i|
              baseclusterinfo_tmp = BaseClusterInfo.new
              baseclusterinfo_tmp.deserialize(i)
              @Clusters << baseclusterinfo_tmp
            end
          end
          @Params = params['Params']
          @Status = params['Status']
          @Model = params['Model']
        end
      end

      # 基础信息
      class ProjectBaseInfoOpsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param IsAdmin: 是否admin
        # @type IsAdmin: Boolean

        attr_accessor :ProjectId, :ProjectIdent, :ProjectName, :IsAdmin

        def initialize(projectid=nil, projectident=nil, projectname=nil, isadmin=nil)
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @IsAdmin = isadmin
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @IsAdmin = params['IsAdmin']
        end
      end

      # dlc建表属性
      class Property < TencentCloud::Common::AbstractModel
        # @param Key: key值
        # @type Key: String
        # @param Value: value值
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 质量评分
      class QualityScore < TencentCloud::Common::AbstractModel
        # @param CompositeScore: 综合分数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompositeScore: Float
        # @param ScoringDistribution: 评分分布
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScoringDistribution: Array
        # @param TotalTableNumber: 总表数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalTableNumber: Integer

        attr_accessor :CompositeScore, :ScoringDistribution, :TotalTableNumber

        def initialize(compositescore=nil, scoringdistribution=nil, totaltablenumber=nil)
          @CompositeScore = compositescore
          @ScoringDistribution = scoringdistribution
          @TotalTableNumber = totaltablenumber
        end

        def deserialize(params)
          @CompositeScore = params['CompositeScore']
          unless params['ScoringDistribution'].nil?
            @ScoringDistribution = []
            params['ScoringDistribution'].each do |i|
              tablescorestatisticsinfo_tmp = TableScoreStatisticsInfo.new
              tablescorestatisticsinfo_tmp.deserialize(i)
              @ScoringDistribution << tablescorestatisticsinfo_tmp
            end
          end
          @TotalTableNumber = params['TotalTableNumber']
        end
      end

      # 质量评分趋势
      class QualityScoreTrend < TencentCloud::Common::AbstractModel
        # @param AverageScore: 周期平均分
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AverageScore: Float
        # @param DailyScoreList: 日评分列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DailyScoreList: Array

        attr_accessor :AverageScore, :DailyScoreList

        def initialize(averagescore=nil, dailyscorelist=nil)
          @AverageScore = averagescore
          @DailyScoreList = dailyscorelist
        end

        def deserialize(params)
          @AverageScore = params['AverageScore']
          unless params['DailyScoreList'].nil?
            @DailyScoreList = []
            params['DailyScoreList'].each do |i|
              dailyscoreinfo_tmp = DailyScoreInfo.new
              dailyscoreinfo_tmp.deserialize(i)
              @DailyScoreList << dailyscoreinfo_tmp
            end
          end
        end
      end

      # 数据集成 - 告警免打扰时间
      class QuietPeriod < TencentCloud::Common::AbstractModel
        # @param DaysOfWeek: 代表一周里的哪些天,1代表周一,7代表周日,以此类推
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DaysOfWeek: Array
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String

        attr_accessor :DaysOfWeek, :StartTime, :EndTime

        def initialize(daysofweek=nil, starttime=nil, endtime=nil)
          @DaysOfWeek = daysofweek
          @StartTime = starttime
          @EndTime = endtime
        end

        def deserialize(params)
          @DaysOfWeek = params['DaysOfWeek']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
        end
      end

      # 实时任务实例当前的节点信息
      class RealTimeTaskInstanceNodeInfo < TencentCloud::Common::AbstractModel
        # @param TaskName: 任务名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param TaskId: 任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param InstanceNodeInfoList: 实时任务实例节点信息列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceNodeInfoList: Array

        attr_accessor :TaskName, :TaskId, :InstanceNodeInfoList

        def initialize(taskname=nil, taskid=nil, instancenodeinfolist=nil)
          @TaskName = taskname
          @TaskId = taskid
          @InstanceNodeInfoList = instancenodeinfolist
        end

        def deserialize(params)
          @TaskName = params['TaskName']
          @TaskId = params['TaskId']
          unless params['InstanceNodeInfoList'].nil?
            @InstanceNodeInfoList = []
            params['InstanceNodeInfoList'].each do |i|
              instancenodeinfo_tmp = InstanceNodeInfo.new
              instancenodeinfo_tmp.deserialize(i)
              @InstanceNodeInfoList << instancenodeinfo_tmp
            end
          end
        end
      end

      # 实时任务同步速度趋势
      class RealTimeTaskSpeed < TencentCloud::Common::AbstractModel
        # @param RecordsSpeedList: 同步速度条/s列表
        # @type RecordsSpeedList: Array
        # @param BytesSpeedList: 同步速度字节/s列表
        # @type BytesSpeedList: Array

        attr_accessor :RecordsSpeedList, :BytesSpeedList

        def initialize(recordsspeedlist=nil, bytesspeedlist=nil)
          @RecordsSpeedList = recordsspeedlist
          @BytesSpeedList = bytesspeedlist
        end

        def deserialize(params)
          unless params['RecordsSpeedList'].nil?
            @RecordsSpeedList = []
            params['RecordsSpeedList'].each do |i|
              recordsspeed_tmp = RecordsSpeed.new
              recordsspeed_tmp.deserialize(i)
              @RecordsSpeedList << recordsspeed_tmp
            end
          end
          unless params['BytesSpeedList'].nil?
            @BytesSpeedList = []
            params['BytesSpeedList'].each do |i|
              bytesspeed_tmp = BytesSpeed.new
              bytesspeed_tmp.deserialize(i)
              @BytesSpeedList << bytesspeed_tmp
            end
          end
        end
      end

      # 通用记录字段,与服务端约定传入合法的键值对
      class RecordField < TencentCloud::Common::AbstractModel
        # @param Name: 字段名称,拓展字段名称
        # @type Name: String
        # @param Value: 字段值,拓展字段值
        # @type Value: String

        attr_accessor :Name, :Value

        def initialize(name=nil, value=nil)
          @Name = name
          @Value = value
        end

        def deserialize(params)
          @Name = params['Name']
          @Value = params['Value']
        end
      end

      # 实时任务同步速度 条/s
      class RecordsSpeed < TencentCloud::Common::AbstractModel
        # @param NodeType: 节点类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeType: String
        # @param NodeName: 节点名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeName: String
        # @param Values: 速度值列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Values: Array

        attr_accessor :NodeType, :NodeName, :Values

        def initialize(nodetype=nil, nodename=nil, values=nil)
          @NodeType = nodetype
          @NodeName = nodename
          @Values = values
        end

        def deserialize(params)
          @NodeType = params['NodeType']
          @NodeName = params['NodeName']
          unless params['Values'].nil?
            @Values = []
            params['Values'].each do |i|
              speedvalue_tmp = SpeedValue.new
              speedvalue_tmp.deserialize(i)
              @Values << speedvalue_tmp
            end
          end
        end
      end

      # RegisterEventListener请求参数结构体
      class RegisterEventListenerRequest < TencentCloud::Common::AbstractModel
        # @param Key: 关键字,如果是任务,则传任务Id
        # @type Key: String
        # @param EventName: 事件名称
        # @type EventName: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Type: 事件类型,默认 REST_API
        # @type Type: String
        # @param Properties: 配置信息,比如最长等待时间1天配置json:{"maxWaitEventTime":1,"maxWaitEventTimeUnit":"DAYS"}
        # @type Properties: String

        attr_accessor :Key, :EventName, :ProjectId, :Type, :Properties

        def initialize(key=nil, eventname=nil, projectid=nil, type=nil, properties=nil)
          @Key = key
          @EventName = eventname
          @ProjectId = projectid
          @Type = type
          @Properties = properties
        end

        def deserialize(params)
          @Key = params['Key']
          @EventName = params['EventName']
          @ProjectId = params['ProjectId']
          @Type = params['Type']
          @Properties = params['Properties']
        end
      end

      # RegisterEventListener返回参数结构体
      class RegisterEventListenerResponse < TencentCloud::Common::AbstractModel
        # @param Data: 成功或者失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchReturn`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchReturn.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # RegisterEvent请求参数结构体
      class RegisterEventRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Name: 事件名称,支持英文、数字和下划线,最长20个字符, 不能以数字下划线开头。
        # @type Name: String
        # @param EventSubType: 事件分割类型,周期类型: DAY,HOUR,MIN,SECOND
        # @type EventSubType: String
        # @param EventBroadcastType: 广播:BROADCAST,单播:SINGLE
        # @type EventBroadcastType: String
        # @param TimeUnit: 周期类型为天和小时为HOURS ,周期类型为分钟 :MINUTES,周期类型为秒:SECONDS
        # @type TimeUnit: String
        # @param Owner: 事件所属人
        # @type Owner: String
        # @param EventType: 事件类型,默认值:TIME_SERIES
        # @type EventType: String
        # @param DimensionFormat: 对应day: yyyyMMdd,对应HOUR:yyyyMMddHH,对应MIN:yyyyMMddHHmm,对应SECOND:yyyyMMddHHmmss
        # @type DimensionFormat: String
        # @param TimeToLive: 存活时间
        # @type TimeToLive: Integer
        # @param Description: 事件描述
        # @type Description: String

        attr_accessor :ProjectId, :Name, :EventSubType, :EventBroadcastType, :TimeUnit, :Owner, :EventType, :DimensionFormat, :TimeToLive, :Description

        def initialize(projectid=nil, name=nil, eventsubtype=nil, eventbroadcasttype=nil, timeunit=nil, owner=nil, eventtype=nil, dimensionformat=nil, timetolive=nil, description=nil)
          @ProjectId = projectid
          @Name = name
          @EventSubType = eventsubtype
          @EventBroadcastType = eventbroadcasttype
          @TimeUnit = timeunit
          @Owner = owner
          @EventType = eventtype
          @DimensionFormat = dimensionformat
          @TimeToLive = timetolive
          @Description = description
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Name = params['Name']
          @EventSubType = params['EventSubType']
          @EventBroadcastType = params['EventBroadcastType']
          @TimeUnit = params['TimeUnit']
          @Owner = params['Owner']
          @EventType = params['EventType']
          @DimensionFormat = params['DimensionFormat']
          @TimeToLive = params['TimeToLive']
          @Description = params['Description']
        end
      end

      # RegisterEvent返回参数结构体
      class RegisterEventResponse < TencentCloud::Common::AbstractModel
        # @param Data: 成功或者失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchReturn`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchReturn.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # RemoveWorkflowDs请求参数结构体
      class RemoveWorkflowDsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param DeleteScript: 是否删除脚本
        # @type DeleteScript: String
        # @param OperateIsInform: 删除是否通知下游
        # @type OperateIsInform: String
        # @param DeleteMode: 是否终止进行中的任务
        # @type DeleteMode: String

        attr_accessor :ProjectId, :WorkflowId, :DeleteScript, :OperateIsInform, :DeleteMode

        def initialize(projectid=nil, workflowid=nil, deletescript=nil, operateisinform=nil, deletemode=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @DeleteScript = deletescript
          @OperateIsInform = operateisinform
          @DeleteMode = deletemode
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @DeleteScript = params['DeleteScript']
          @OperateIsInform = params['OperateIsInform']
          @DeleteMode = params['DeleteMode']
        end
      end

      # RemoveWorkflowDs返回参数结构体
      class RemoveWorkflowDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 是否删除成功
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # RenewWorkflowSchedulerInfoDs请求参数结构体
      class RenewWorkflowSchedulerInfoDsRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # @type ProjectId: String
        # @param WorkflowId: 工作流ID
        # @type WorkflowId: String
        # @param DelayTime: 延迟时间
        # @type DelayTime: Integer
        # @param StartupTime: 启动时间
        # @type StartupTime: Integer
        # @param SelfDepend: 任务依赖
        # @type SelfDepend: String
        # @param StartTime: 开始时间
        # @type StartTime: String
        # @param EndTime: 结束时间
        # @type EndTime: String
        # @param TaskAction: 指定运行时间
        # @type TaskAction: String
        # @param CycleType: 调度周期时间单位
        # @type CycleType: String
        # @param CycleStep: 调度周期
        # @type CycleStep: Integer
        # @param ExecutionStartTime: 执行时间左闭区间
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间
        # @type ExecutionEndTime: String
        # @param InstanceInitStrategy: 任务初始化策略,T_PLUS_1、T_PLUS_0、T_MINUS_1
        # @type InstanceInitStrategy: String
        # @param DependencyWorkflow: 工作流依赖,yes or no
        # @type DependencyWorkflow: String
        # @param CrontabExpression: CrontabExpression
        # @type CrontabExpression: String

        attr_accessor :ProjectId, :WorkflowId, :DelayTime, :StartupTime, :SelfDepend, :StartTime, :EndTime, :TaskAction, :CycleType, :CycleStep, :ExecutionStartTime, :ExecutionEndTime, :InstanceInitStrategy, :DependencyWorkflow, :CrontabExpression

        def initialize(projectid=nil, workflowid=nil, delaytime=nil, startuptime=nil, selfdepend=nil, starttime=nil, endtime=nil, taskaction=nil, cycletype=nil, cyclestep=nil, executionstarttime=nil, executionendtime=nil, instanceinitstrategy=nil, dependencyworkflow=nil, crontabexpression=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @DelayTime = delaytime
          @StartupTime = startuptime
          @SelfDepend = selfdepend
          @StartTime = starttime
          @EndTime = endtime
          @TaskAction = taskaction
          @CycleType = cycletype
          @CycleStep = cyclestep
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @InstanceInitStrategy = instanceinitstrategy
          @DependencyWorkflow = dependencyworkflow
          @CrontabExpression = crontabexpression
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @SelfDepend = params['SelfDepend']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskAction = params['TaskAction']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @InstanceInitStrategy = params['InstanceInitStrategy']
          @DependencyWorkflow = params['DependencyWorkflow']
          @CrontabExpression = params['CrontabExpression']
        end
      end

      # RenewWorkflowSchedulerInfoDs返回参数结构体
      class RenewWorkflowSchedulerInfoDsResponse < TencentCloud::Common::AbstractModel
        # @param Data: 数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchResultDs`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchResultDs.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 资源管理目录树节点
      class ResourcePathTree < TencentCloud::Common::AbstractModel
        # @param Name: 资源名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param IsLeaf: 是否为叶子节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsLeaf: Boolean
        # @param ResourceId: 资源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceId: String
        # @param LocalPath: 本地路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalPath: String
        # @param RemotePath: 远程路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemotePath: String
        # @param FileExtensionType: 文件类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileExtensionType: String
        # @param Size: 文件大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Size: Integer
        # @param Md5Value: 文件MD5值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Md5Value: String
        # @param OwnerName: 文件拥有者名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerName: String
        # @param UpdateUser: 更新人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateUser: String
        # @param UpdateUserId: 文件更新人uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateUserId: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: Integer
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: Integer
        # @param CosBucket: Cos存储桶名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CosBucket: String
        # @param CosRegion: Cos地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CosRegion: String
        # @param ExtraInfo: 额外信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtraInfo: String

        attr_accessor :Name, :IsLeaf, :ResourceId, :LocalPath, :RemotePath, :FileExtensionType, :Size, :Md5Value, :OwnerName, :UpdateUser, :UpdateUserId, :CreateTime, :UpdateTime, :CosBucket, :CosRegion, :ExtraInfo

        def initialize(name=nil, isleaf=nil, resourceid=nil, localpath=nil, remotepath=nil, fileextensiontype=nil, size=nil, md5value=nil, ownername=nil, updateuser=nil, updateuserid=nil, createtime=nil, updatetime=nil, cosbucket=nil, cosregion=nil, extrainfo=nil)
          @Name = name
          @IsLeaf = isleaf
          @ResourceId = resourceid
          @LocalPath = localpath
          @RemotePath = remotepath
          @FileExtensionType = fileextensiontype
          @Size = size
          @Md5Value = md5value
          @OwnerName = ownername
          @UpdateUser = updateuser
          @UpdateUserId = updateuserid
          @CreateTime = createtime
          @UpdateTime = updatetime
          @CosBucket = cosbucket
          @CosRegion = cosregion
          @ExtraInfo = extrainfo
        end

        def deserialize(params)
          @Name = params['Name']
          @IsLeaf = params['IsLeaf']
          @ResourceId = params['ResourceId']
          @LocalPath = params['LocalPath']
          @RemotePath = params['RemotePath']
          @FileExtensionType = params['FileExtensionType']
          @Size = params['Size']
          @Md5Value = params['Md5Value']
          @OwnerName = params['OwnerName']
          @UpdateUser = params['UpdateUser']
          @UpdateUserId = params['UpdateUserId']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @CosBucket = params['CosBucket']
          @CosRegion = params['CosRegion']
          @ExtraInfo = params['ExtraInfo']
        end
      end

      # ResumeIntegrationTask请求参数结构体
      class ResumeIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Event: 事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        # @type Event: String
        # @param ExtConfig: 额外参数
        # @type ExtConfig: Array
        # @param EventDesc: 前端操作类型描述
        # @type EventDesc: String

        attr_accessor :TaskId, :ProjectId, :Event, :ExtConfig, :EventDesc

        def initialize(taskid=nil, projectid=nil, event=nil, extconfig=nil, eventdesc=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @Event = event
          @ExtConfig = extconfig
          @EventDesc = eventdesc
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @Event = params['Event']
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          @EventDesc = params['EventDesc']
        end
      end

      # ResumeIntegrationTask返回参数结构体
      class ResumeIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # RobAndLockIntegrationTask请求参数结构体
      class RobAndLockIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param TaskType: 任务类型:201. stream,   202. offline
        # @type TaskType: Integer

        attr_accessor :TaskId, :ProjectId, :TaskType

        def initialize(taskid=nil, projectid=nil, tasktype=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @TaskType = tasktype
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @TaskType = params['TaskType']
        end
      end

      # RobAndLockIntegrationTask返回参数结构体
      class RobAndLockIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param RobLockState: 抢锁状态
        # @type RobLockState: :class:`Tencentcloud::Wedata.v20210820.models.RobLockState`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :RobLockState, :RequestId

        def initialize(roblockstate=nil, requestid=nil)
          @RobLockState = roblockstate
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['RobLockState'].nil?
            @RobLockState = RobLockState.new
            @RobLockState.deserialize(params['RobLockState'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 抢锁状态:是否可以抢锁和当前持锁人
      class RobLockState < TencentCloud::Common::AbstractModel
        # @param IsRob: 是否可以抢锁
        # @type IsRob: Boolean
        # @param Locker: 当前持锁人
        # @type Locker: String

        attr_accessor :IsRob, :Locker

        def initialize(isrob=nil, locker=nil)
          @IsRob = isrob
          @Locker = locker
        end

        def deserialize(params)
          @IsRob = params['IsRob']
          @Locker = params['Locker']
        end
      end

      # 数据质量规则
      class Rule < TencentCloud::Common::AbstractModel
        # @param RuleId: 规则ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleId: Integer
        # @param RuleGroupId: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param TableId: 数据表Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param Name: 规则名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Type: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: Integer
        # @param RuleTemplateId: 规则模板Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleTemplateId: Integer
        # @param RuleTemplateContent: 规则模板概述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleTemplateContent: String
        # @param QualityDim: 规则所属质量维度 1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualityDim: Integer
        # @param SourceObjectType: 规则适用的源数据对象类型(1:常量,2:离线表级,3:离线字段级别)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectType: Integer
        # @param SourceObjectDataType: 规则适用的源数据对象类型(1:数值,2:字符串)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectDataType: Integer
        # @param SourceObjectDataTypeName: 源字段详细类型,INT、STRING
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectDataTypeName: String
        # @param SourceObjectValue: 源字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectValue: String
        # @param ConditionType: 检测范围 1.全表, 2.条件扫描
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConditionType: Integer
        # @param ConditionExpression: 条件扫描WHERE条件表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConditionExpression: String
        # @param CustomSql: 自定义SQL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CustomSql: String
        # @param CompareRule: 报警触发条件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompareRule: :class:`Tencentcloud::Wedata.v20210820.models.CompareRule`
        # @param AlarmLevel: 报警触发级别 1.低, 2.中, 3.高
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmLevel: Integer
        # @param Description: 规则描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Operator: 规则配置人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: String
        # @param TargetDatabaseId: 目标库Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetDatabaseId: String
        # @param TargetDatabaseName: 目标库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetDatabaseName: String
        # @param TargetTableId: 目标表Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetTableId: String
        # @param TargetTableName: 目标表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetTableName: String
        # @param TargetConditionExpr: 目标字段过滤条件表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetConditionExpr: String
        # @param RelConditionExpr: 源字段与目标字段关联条件on表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelConditionExpr: String
        # @param FieldConfig: 自定义模版sql表达式参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldConfig: :class:`Tencentcloud::Wedata.v20210820.models.RuleFieldConfig`
        # @param MultiSourceFlag: 是否关联多表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MultiSourceFlag: Boolean
        # @param WhereFlag: 是否where参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WhereFlag: Boolean
        # @param TemplateSql: 模版原始SQL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TemplateSql: String
        # @param SubQualityDim: 模版子维度:0.父维度类型,1.一致性: 枚举范围一致性,2.一致性:数值范围一致性,3.一致性:字段数据相关性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubQualityDim: Integer
        # @param TargetObjectType: 规则适用的目标数据对象类型(1:常量,2:离线表级,3:离线字段级别)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectType: Integer
        # @param TargetObjectDataType: 规则适用的目标数据对象类型(1:数值,2:字符串)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectDataType: Integer
        # @param TargetObjectDataTypeName: 目标字段详细类型,INT、STRING
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectDataTypeName: String
        # @param TargetObjectValue: 目标字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectValue: String
        # @param SourceEngineTypes: 源端对应的引擎类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceEngineTypes: Array
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableOwnerName: 表负责人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerName: String
        # @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: String
        # @param DatasourceId: 数据源 id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: Integer
        # @param DatabaseId: 数据库 id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param MonitorStatus: 监控是否开启.0false,1true
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorStatus: Integer
        # @param TriggerCondition: 触发条件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerCondition: String
        # @param DsEnvType: 0或者未返回或者null:未定义,1:生产,2:开发
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DsEnvType: Integer
        # @param DatasourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: Integer
        # @param SchemaName: 模式名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String
        # @param TargetSchemaName: 目标模式名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetSchemaName: String

        attr_accessor :RuleId, :RuleGroupId, :TableId, :Name, :Type, :RuleTemplateId, :RuleTemplateContent, :QualityDim, :SourceObjectType, :SourceObjectDataType, :SourceObjectDataTypeName, :SourceObjectValue, :ConditionType, :ConditionExpression, :CustomSql, :CompareRule, :AlarmLevel, :Description, :Operator, :TargetDatabaseId, :TargetDatabaseName, :TargetTableId, :TargetTableName, :TargetConditionExpr, :RelConditionExpr, :FieldConfig, :MultiSourceFlag, :WhereFlag, :TemplateSql, :SubQualityDim, :TargetObjectType, :TargetObjectDataType, :TargetObjectDataTypeName, :TargetObjectValue, :SourceEngineTypes, :TableName, :TableOwnerName, :ExecStrategy, :Subscription, :CreateTime, :DatasourceId, :DatabaseId, :MonitorStatus, :TriggerCondition, :DsEnvType, :DatasourceType, :SchemaName, :TargetSchemaName

        def initialize(ruleid=nil, rulegroupid=nil, tableid=nil, name=nil, type=nil, ruletemplateid=nil, ruletemplatecontent=nil, qualitydim=nil, sourceobjecttype=nil, sourceobjectdatatype=nil, sourceobjectdatatypename=nil, sourceobjectvalue=nil, conditiontype=nil, conditionexpression=nil, customsql=nil, comparerule=nil, alarmlevel=nil, description=nil, operator=nil, targetdatabaseid=nil, targetdatabasename=nil, targettableid=nil, targettablename=nil, targetconditionexpr=nil, relconditionexpr=nil, fieldconfig=nil, multisourceflag=nil, whereflag=nil, templatesql=nil, subqualitydim=nil, targetobjecttype=nil, targetobjectdatatype=nil, targetobjectdatatypename=nil, targetobjectvalue=nil, sourceenginetypes=nil, tablename=nil, tableownername=nil, execstrategy=nil, subscription=nil, createtime=nil, datasourceid=nil, databaseid=nil, monitorstatus=nil, triggercondition=nil, dsenvtype=nil, datasourcetype=nil, schemaname=nil, targetschemaname=nil)
          @RuleId = ruleid
          @RuleGroupId = rulegroupid
          @TableId = tableid
          @Name = name
          @Type = type
          @RuleTemplateId = ruletemplateid
          @RuleTemplateContent = ruletemplatecontent
          @QualityDim = qualitydim
          @SourceObjectType = sourceobjecttype
          @SourceObjectDataType = sourceobjectdatatype
          @SourceObjectDataTypeName = sourceobjectdatatypename
          @SourceObjectValue = sourceobjectvalue
          @ConditionType = conditiontype
          @ConditionExpression = conditionexpression
          @CustomSql = customsql
          @CompareRule = comparerule
          @AlarmLevel = alarmlevel
          @Description = description
          @Operator = operator
          @TargetDatabaseId = targetdatabaseid
          @TargetDatabaseName = targetdatabasename
          @TargetTableId = targettableid
          @TargetTableName = targettablename
          @TargetConditionExpr = targetconditionexpr
          @RelConditionExpr = relconditionexpr
          @FieldConfig = fieldconfig
          @MultiSourceFlag = multisourceflag
          @WhereFlag = whereflag
          @TemplateSql = templatesql
          @SubQualityDim = subqualitydim
          @TargetObjectType = targetobjecttype
          @TargetObjectDataType = targetobjectdatatype
          @TargetObjectDataTypeName = targetobjectdatatypename
          @TargetObjectValue = targetobjectvalue
          @SourceEngineTypes = sourceenginetypes
          @TableName = tablename
          @TableOwnerName = tableownername
          @ExecStrategy = execstrategy
          @Subscription = subscription
          @CreateTime = createtime
          @DatasourceId = datasourceid
          @DatabaseId = databaseid
          @MonitorStatus = monitorstatus
          @TriggerCondition = triggercondition
          @DsEnvType = dsenvtype
          @DatasourceType = datasourcetype
          @SchemaName = schemaname
          @TargetSchemaName = targetschemaname
        end

        def deserialize(params)
          @RuleId = params['RuleId']
          @RuleGroupId = params['RuleGroupId']
          @TableId = params['TableId']
          @Name = params['Name']
          @Type = params['Type']
          @RuleTemplateId = params['RuleTemplateId']
          @RuleTemplateContent = params['RuleTemplateContent']
          @QualityDim = params['QualityDim']
          @SourceObjectType = params['SourceObjectType']
          @SourceObjectDataType = params['SourceObjectDataType']
          @SourceObjectDataTypeName = params['SourceObjectDataTypeName']
          @SourceObjectValue = params['SourceObjectValue']
          @ConditionType = params['ConditionType']
          @ConditionExpression = params['ConditionExpression']
          @CustomSql = params['CustomSql']
          unless params['CompareRule'].nil?
            @CompareRule = CompareRule.new
            @CompareRule.deserialize(params['CompareRule'])
          end
          @AlarmLevel = params['AlarmLevel']
          @Description = params['Description']
          @Operator = params['Operator']
          @TargetDatabaseId = params['TargetDatabaseId']
          @TargetDatabaseName = params['TargetDatabaseName']
          @TargetTableId = params['TargetTableId']
          @TargetTableName = params['TargetTableName']
          @TargetConditionExpr = params['TargetConditionExpr']
          @RelConditionExpr = params['RelConditionExpr']
          unless params['FieldConfig'].nil?
            @FieldConfig = RuleFieldConfig.new
            @FieldConfig.deserialize(params['FieldConfig'])
          end
          @MultiSourceFlag = params['MultiSourceFlag']
          @WhereFlag = params['WhereFlag']
          @TemplateSql = params['TemplateSql']
          @SubQualityDim = params['SubQualityDim']
          @TargetObjectType = params['TargetObjectType']
          @TargetObjectDataType = params['TargetObjectDataType']
          @TargetObjectDataTypeName = params['TargetObjectDataTypeName']
          @TargetObjectValue = params['TargetObjectValue']
          @SourceEngineTypes = params['SourceEngineTypes']
          @TableName = params['TableName']
          @TableOwnerName = params['TableOwnerName']
          unless params['ExecStrategy'].nil?
            @ExecStrategy = RuleGroupExecStrategy.new
            @ExecStrategy.deserialize(params['ExecStrategy'])
          end
          unless params['Subscription'].nil?
            @Subscription = RuleGroupSubscribe.new
            @Subscription.deserialize(params['Subscription'])
          end
          @CreateTime = params['CreateTime']
          @DatasourceId = params['DatasourceId']
          @DatabaseId = params['DatabaseId']
          @MonitorStatus = params['MonitorStatus']
          @TriggerCondition = params['TriggerCondition']
          @DsEnvType = params['DsEnvType']
          @DatasourceType = params['DatasourceType']
          @SchemaName = params['SchemaName']
          @TargetSchemaName = params['TargetSchemaName']
        end
      end

      # 规则配置
      class RuleConfig < TencentCloud::Common::AbstractModel
        # @param RuleId: 规则ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleId: Integer
        # @param ConditionType: 规则检测范围类型 1.全表  2.条件扫描
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConditionType: Integer
        # @param Condition: 检测范围表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Condition: String
        # @param TargetCondition: 目标检测范围表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetCondition: String

        attr_accessor :RuleId, :ConditionType, :Condition, :TargetCondition

        def initialize(ruleid=nil, conditiontype=nil, condition=nil, targetcondition=nil)
          @RuleId = ruleid
          @ConditionType = conditiontype
          @Condition = condition
          @TargetCondition = targetcondition
        end

        def deserialize(params)
          @RuleId = params['RuleId']
          @ConditionType = params['ConditionType']
          @Condition = params['Condition']
          @TargetCondition = params['TargetCondition']
        end
      end

      # RuleDimCnt 规则维度统计
      class RuleDimCnt < TencentCloud::Common::AbstractModel
        # @param Dim: 1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # @type Dim: Integer
        # @param Cnt: count 数
        # @type Cnt: Integer

        attr_accessor :Dim, :Cnt

        def initialize(dim=nil, cnt=nil)
          @Dim = dim
          @Cnt = cnt
        end

        def deserialize(params)
          @Dim = params['Dim']
          @Cnt = params['Cnt']
        end
      end

      # 规则维度数统计
      class RuleDimStat < TencentCloud::Common::AbstractModel
        # @param TotalCnt: 总数
        # @type TotalCnt: Integer
        # @param DimCntList: 维度统计数
        # @type DimCntList: Array

        attr_accessor :TotalCnt, :DimCntList

        def initialize(totalcnt=nil, dimcntlist=nil)
          @TotalCnt = totalcnt
          @DimCntList = dimcntlist
        end

        def deserialize(params)
          @TotalCnt = params['TotalCnt']
          unless params['DimCntList'].nil?
            @DimCntList = []
            params['DimCntList'].each do |i|
              ruledimcnt_tmp = RuleDimCnt.new
              ruledimcnt_tmp.deserialize(i)
              @DimCntList << ruledimcnt_tmp
            end
          end
        end
      end

      # 规则执行配置
      class RuleExecConfig < TencentCloud::Common::AbstractModel
        # @param QueueName: 计算队列名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QueueName: String
        # @param ExecutorGroupId: 执行资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupId: String
        # @param EngineType: 运行的执行引擎,不传时会请求该数据源下默认的执行引擎
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EngineType: String
        # @param DlcGroupName: DLC执行引擎资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DlcGroupName: String

        attr_accessor :QueueName, :ExecutorGroupId, :EngineType, :DlcGroupName

        def initialize(queuename=nil, executorgroupid=nil, enginetype=nil, dlcgroupname=nil)
          @QueueName = queuename
          @ExecutorGroupId = executorgroupid
          @EngineType = enginetype
          @DlcGroupName = dlcgroupname
        end

        def deserialize(params)
          @QueueName = params['QueueName']
          @ExecutorGroupId = params['ExecutorGroupId']
          @EngineType = params['EngineType']
          @DlcGroupName = params['DlcGroupName']
        end
      end

      # 概览趋势结果
      class RuleExecDateStat < TencentCloud::Common::AbstractModel
        # @param StatDate: 统计日期
        # @type StatDate: String
        # @param AlarmCnt: 告警数
        # @type AlarmCnt: Integer
        # @param PipelineCnt: 阻塞数
        # @type PipelineCnt: Integer

        attr_accessor :StatDate, :AlarmCnt, :PipelineCnt

        def initialize(statdate=nil, alarmcnt=nil, pipelinecnt=nil)
          @StatDate = statdate
          @AlarmCnt = alarmcnt
          @PipelineCnt = pipelinecnt
        end

        def deserialize(params)
          @StatDate = params['StatDate']
          @AlarmCnt = params['AlarmCnt']
          @PipelineCnt = params['PipelineCnt']
        end
      end

      # 规则执行日志
      class RuleExecLog < TencentCloud::Common::AbstractModel
        # @param Finished: 是否完成
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Finished: Boolean
        # @param Log: 内容
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Log: String

        attr_accessor :Finished, :Log

        def initialize(finished=nil, log=nil)
          @Finished = finished
          @Log = log
        end

        def deserialize(params)
          @Finished = params['Finished']
          @Log = params['Log']
        end
      end

      # 规则执行结果
      class RuleExecResult < TencentCloud::Common::AbstractModel
        # @param RuleExecId: 规则执行ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleExecId: Integer
        # @param RuleGroupExecId: 规则组执行ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupExecId: Integer
        # @param RuleGroupId: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param RuleId: 规则ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleId: Integer
        # @param RuleName: 规则名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleName: String
        # @param RuleType: 规则类型 1.系统模版, 2.自定义模版, 3.自定义SQL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleType: Integer
        # @param SourceObjectDataTypeName: 源字段详细类型,int string
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectDataTypeName: String
        # @param SourceObjectValue: 源字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceObjectValue: String
        # @param ConditionExpression: 条件扫描WHERE条件表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ConditionExpression: String
        # @param ExecResultStatus: 检测结果(1:检测通过,2:触发规则,3:检测失败)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecResultStatus: Integer
        # @param TriggerResult: 触发结果,告警发送成功, 阻断任务成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerResult: String
        # @param CompareResult: 对比结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompareResult: :class:`Tencentcloud::Wedata.v20210820.models.CompareResult`
        # @param TemplateName: 模版名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TemplateName: String
        # @param QualityDim: 质量维度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualityDim: Integer
        # @param TargetDBTableName: 目标表-库表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetDBTableName: String
        # @param TargetObjectValue: 目标表-字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectValue: String
        # @param TargetObjectDataType: 目标表-字段类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetObjectDataType: String
        # @param FieldConfig: 自定义模版sql表达式参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldConfig: :class:`Tencentcloud::Wedata.v20210820.models.RuleFieldConfig`
        # @param RelConditionExpr: 源字段与目标字段关联条件on表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelConditionExpr: String
        # @param StartTime: 执行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param AlarmLevel: 1/2/3:低/中/高
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmLevel: Integer

        attr_accessor :RuleExecId, :RuleGroupExecId, :RuleGroupId, :RuleId, :RuleName, :RuleType, :SourceObjectDataTypeName, :SourceObjectValue, :ConditionExpression, :ExecResultStatus, :TriggerResult, :CompareResult, :TemplateName, :QualityDim, :TargetDBTableName, :TargetObjectValue, :TargetObjectDataType, :FieldConfig, :RelConditionExpr, :StartTime, :AlarmLevel

        def initialize(ruleexecid=nil, rulegroupexecid=nil, rulegroupid=nil, ruleid=nil, rulename=nil, ruletype=nil, sourceobjectdatatypename=nil, sourceobjectvalue=nil, conditionexpression=nil, execresultstatus=nil, triggerresult=nil, compareresult=nil, templatename=nil, qualitydim=nil, targetdbtablename=nil, targetobjectvalue=nil, targetobjectdatatype=nil, fieldconfig=nil, relconditionexpr=nil, starttime=nil, alarmlevel=nil)
          @RuleExecId = ruleexecid
          @RuleGroupExecId = rulegroupexecid
          @RuleGroupId = rulegroupid
          @RuleId = ruleid
          @RuleName = rulename
          @RuleType = ruletype
          @SourceObjectDataTypeName = sourceobjectdatatypename
          @SourceObjectValue = sourceobjectvalue
          @ConditionExpression = conditionexpression
          @ExecResultStatus = execresultstatus
          @TriggerResult = triggerresult
          @CompareResult = compareresult
          @TemplateName = templatename
          @QualityDim = qualitydim
          @TargetDBTableName = targetdbtablename
          @TargetObjectValue = targetobjectvalue
          @TargetObjectDataType = targetobjectdatatype
          @FieldConfig = fieldconfig
          @RelConditionExpr = relconditionexpr
          @StartTime = starttime
          @AlarmLevel = alarmlevel
        end

        def deserialize(params)
          @RuleExecId = params['RuleExecId']
          @RuleGroupExecId = params['RuleGroupExecId']
          @RuleGroupId = params['RuleGroupId']
          @RuleId = params['RuleId']
          @RuleName = params['RuleName']
          @RuleType = params['RuleType']
          @SourceObjectDataTypeName = params['SourceObjectDataTypeName']
          @SourceObjectValue = params['SourceObjectValue']
          @ConditionExpression = params['ConditionExpression']
          @ExecResultStatus = params['ExecResultStatus']
          @TriggerResult = params['TriggerResult']
          unless params['CompareResult'].nil?
            @CompareResult = CompareResult.new
            @CompareResult.deserialize(params['CompareResult'])
          end
          @TemplateName = params['TemplateName']
          @QualityDim = params['QualityDim']
          @TargetDBTableName = params['TargetDBTableName']
          @TargetObjectValue = params['TargetObjectValue']
          @TargetObjectDataType = params['TargetObjectDataType']
          unless params['FieldConfig'].nil?
            @FieldConfig = RuleFieldConfig.new
            @FieldConfig.deserialize(params['FieldConfig'])
          end
          @RelConditionExpr = params['RelConditionExpr']
          @StartTime = params['StartTime']
          @AlarmLevel = params['AlarmLevel']
        end
      end

      # 规则执行结果详情
      class RuleExecResultDetail < TencentCloud::Common::AbstractModel
        # @param DatasourceId: 数据源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: Integer
        # @param DatasourceName: 数据源名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatabaseId: 数据库guid
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param InstanceId: 实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param TableId: 表guid
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param RuleExecResult: 规则执行记录
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleExecResult: :class:`Tencentcloud::Wedata.v20210820.models.RuleExecResult`
        # @param TableOwnerUserId: 表负责人userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerUserId: Integer
        # @param DatasourceType: 2.HIVE 3.DLC
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: Integer
        # @param ClusterDeployType: 集群部署类型,CVM/TKE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterDeployType: String

        attr_accessor :DatasourceId, :DatasourceName, :DatabaseId, :DatabaseName, :InstanceId, :TableId, :TableName, :RuleExecResult, :TableOwnerUserId, :DatasourceType, :ClusterDeployType

        def initialize(datasourceid=nil, datasourcename=nil, databaseid=nil, databasename=nil, instanceid=nil, tableid=nil, tablename=nil, ruleexecresult=nil, tableowneruserid=nil, datasourcetype=nil, clusterdeploytype=nil)
          @DatasourceId = datasourceid
          @DatasourceName = datasourcename
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @InstanceId = instanceid
          @TableId = tableid
          @TableName = tablename
          @RuleExecResult = ruleexecresult
          @TableOwnerUserId = tableowneruserid
          @DatasourceType = datasourcetype
          @ClusterDeployType = clusterdeploytype
        end

        def deserialize(params)
          @DatasourceId = params['DatasourceId']
          @DatasourceName = params['DatasourceName']
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @InstanceId = params['InstanceId']
          @TableId = params['TableId']
          @TableName = params['TableName']
          unless params['RuleExecResult'].nil?
            @RuleExecResult = RuleExecResult.new
            @RuleExecResult.deserialize(params['RuleExecResult'])
          end
          @TableOwnerUserId = params['TableOwnerUserId']
          @DatasourceType = params['DatasourceType']
          @ClusterDeployType = params['ClusterDeployType']
        end
      end

      # 规则执行结果分页
      class RuleExecResultPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 规则执行结果
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              ruleexecresult_tmp = RuleExecResult.new
              ruleexecresult_tmp.deserialize(i)
              @Items << ruleexecresult_tmp
            end
          end
        end
      end

      # 规则运行情况结果
      class RuleExecStat < TencentCloud::Common::AbstractModel
        # @param TotalCnt: 规则运行总数
        # @type TotalCnt: Integer
        # @param LastTotalCnt: 环比规则运行总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastTotalCnt: Integer
        # @param TotalCntRatio: 规则运行总数占比
        # @type TotalCntRatio: Float
        # @param LastTotalCntRatio: 规则运行总数环比变化
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastTotalCntRatio: Float
        # @param TriggerCnt: 规则触发数
        # @type TriggerCnt: Integer
        # @param LastTriggerCnt: 环比规则触发数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastTriggerCnt: Integer
        # @param TriggerCntRatio: 触发占总数占比
        # @type TriggerCntRatio: Float
        # @param LastTriggerCntRatio: 环比规则触发数变化
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastTriggerCntRatio: Float
        # @param AlarmCnt: 规则报警数
        # @type AlarmCnt: Integer
        # @param LastAlarmCnt: 环比规则报警数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastAlarmCnt: Integer
        # @param AlarmCntRatio: 报警占总数占比
        # @type AlarmCntRatio: Float
        # @param LastAlarmCntRatio: 环比报警数变化
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastAlarmCntRatio: Float
        # @param PipelineCnt: 阻塞发生数
        # @type PipelineCnt: Integer
        # @param LastPipelineCnt: 环比阻塞发生数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastPipelineCnt: Integer
        # @param PipelineCntRatio: 阻塞占总数占比
        # @type PipelineCntRatio: Float
        # @param LastPipelineCntRatio: 环比阻塞发生数变化
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastPipelineCntRatio: Float

        attr_accessor :TotalCnt, :LastTotalCnt, :TotalCntRatio, :LastTotalCntRatio, :TriggerCnt, :LastTriggerCnt, :TriggerCntRatio, :LastTriggerCntRatio, :AlarmCnt, :LastAlarmCnt, :AlarmCntRatio, :LastAlarmCntRatio, :PipelineCnt, :LastPipelineCnt, :PipelineCntRatio, :LastPipelineCntRatio

        def initialize(totalcnt=nil, lasttotalcnt=nil, totalcntratio=nil, lasttotalcntratio=nil, triggercnt=nil, lasttriggercnt=nil, triggercntratio=nil, lasttriggercntratio=nil, alarmcnt=nil, lastalarmcnt=nil, alarmcntratio=nil, lastalarmcntratio=nil, pipelinecnt=nil, lastpipelinecnt=nil, pipelinecntratio=nil, lastpipelinecntratio=nil)
          @TotalCnt = totalcnt
          @LastTotalCnt = lasttotalcnt
          @TotalCntRatio = totalcntratio
          @LastTotalCntRatio = lasttotalcntratio
          @TriggerCnt = triggercnt
          @LastTriggerCnt = lasttriggercnt
          @TriggerCntRatio = triggercntratio
          @LastTriggerCntRatio = lasttriggercntratio
          @AlarmCnt = alarmcnt
          @LastAlarmCnt = lastalarmcnt
          @AlarmCntRatio = alarmcntratio
          @LastAlarmCntRatio = lastalarmcntratio
          @PipelineCnt = pipelinecnt
          @LastPipelineCnt = lastpipelinecnt
          @PipelineCntRatio = pipelinecntratio
          @LastPipelineCntRatio = lastpipelinecntratio
        end

        def deserialize(params)
          @TotalCnt = params['TotalCnt']
          @LastTotalCnt = params['LastTotalCnt']
          @TotalCntRatio = params['TotalCntRatio']
          @LastTotalCntRatio = params['LastTotalCntRatio']
          @TriggerCnt = params['TriggerCnt']
          @LastTriggerCnt = params['LastTriggerCnt']
          @TriggerCntRatio = params['TriggerCntRatio']
          @LastTriggerCntRatio = params['LastTriggerCntRatio']
          @AlarmCnt = params['AlarmCnt']
          @LastAlarmCnt = params['LastAlarmCnt']
          @AlarmCntRatio = params['AlarmCntRatio']
          @LastAlarmCntRatio = params['LastAlarmCntRatio']
          @PipelineCnt = params['PipelineCnt']
          @LastPipelineCnt = params['LastPipelineCnt']
          @PipelineCntRatio = params['PipelineCntRatio']
          @LastPipelineCntRatio = params['LastPipelineCntRatio']
        end
      end

      # 规则变量替换
      class RuleFieldConfig < TencentCloud::Common::AbstractModel
        # @param WhereConfig: where变量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WhereConfig: Array
        # @param TableConfig: 库表变量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableConfig: Array

        attr_accessor :WhereConfig, :TableConfig

        def initialize(whereconfig=nil, tableconfig=nil)
          @WhereConfig = whereconfig
          @TableConfig = tableconfig
        end

        def deserialize(params)
          unless params['WhereConfig'].nil?
            @WhereConfig = []
            params['WhereConfig'].each do |i|
              fieldconfig_tmp = FieldConfig.new
              fieldconfig_tmp.deserialize(i)
              @WhereConfig << fieldconfig_tmp
            end
          end
          unless params['TableConfig'].nil?
            @TableConfig = []
            params['TableConfig'].each do |i|
              tableconfig_tmp = TableConfig.new
              tableconfig_tmp.deserialize(i)
              @TableConfig << tableconfig_tmp
            end
          end
        end
      end

      # 数据质量规则组
      class RuleGroup < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param DatasourceId: 数据源Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatasourceName: 数据源名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatasourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: Integer
        # @param MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorType: Integer
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param TableName: 关联数据表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableId: 关联数据表Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableOwnerName: 关联数据表负责人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerName: String
        # @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: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param SchemaName: 模式名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String
        # @param Permission: 是否有权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Permission: Boolean
        # @param RuleCount: 已经配置的规则数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleCount: Integer
        # @param MonitorStatus: 监控状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorStatus: Boolean
        # @param TableOwnerUserId: 表负责人UserId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerUserId: Integer
        # @param InstanceId: 实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param StrategyConfig: 是否已配置执行策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StrategyConfig: Boolean
        # @param SubscribeConfig: 是否已配置执行策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubscribeConfig: Boolean
        # @param DsEnvType: 数据源环境:0或者未返回.未定义,1.生产 2.开发
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DsEnvType: Integer
        # @param ClusterDeployType: EMR集群部署方式:CVM/TKE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterDeployType: String

        attr_accessor :RuleGroupId, :DatasourceId, :DatasourceName, :DatasourceType, :MonitorType, :UpdateTime, :TableName, :TableId, :TableOwnerName, :ExecStrategy, :Subscription, :DatabaseId, :DatabaseName, :SchemaName, :Permission, :RuleCount, :MonitorStatus, :TableOwnerUserId, :InstanceId, :CreateTime, :StrategyConfig, :SubscribeConfig, :DsEnvType, :ClusterDeployType

        def initialize(rulegroupid=nil, datasourceid=nil, datasourcename=nil, datasourcetype=nil, monitortype=nil, updatetime=nil, tablename=nil, tableid=nil, tableownername=nil, execstrategy=nil, subscription=nil, databaseid=nil, databasename=nil, schemaname=nil, permission=nil, rulecount=nil, monitorstatus=nil, tableowneruserid=nil, instanceid=nil, createtime=nil, strategyconfig=nil, subscribeconfig=nil, dsenvtype=nil, clusterdeploytype=nil)
          @RuleGroupId = rulegroupid
          @DatasourceId = datasourceid
          @DatasourceName = datasourcename
          @DatasourceType = datasourcetype
          @MonitorType = monitortype
          @UpdateTime = updatetime
          @TableName = tablename
          @TableId = tableid
          @TableOwnerName = tableownername
          @ExecStrategy = execstrategy
          @Subscription = subscription
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @SchemaName = schemaname
          @Permission = permission
          @RuleCount = rulecount
          @MonitorStatus = monitorstatus
          @TableOwnerUserId = tableowneruserid
          @InstanceId = instanceid
          @CreateTime = createtime
          @StrategyConfig = strategyconfig
          @SubscribeConfig = subscribeconfig
          @DsEnvType = dsenvtype
          @ClusterDeployType = clusterdeploytype
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @DatasourceId = params['DatasourceId']
          @DatasourceName = params['DatasourceName']
          @DatasourceType = params['DatasourceType']
          @MonitorType = params['MonitorType']
          @UpdateTime = params['UpdateTime']
          @TableName = params['TableName']
          @TableId = params['TableId']
          @TableOwnerName = params['TableOwnerName']
          unless params['ExecStrategy'].nil?
            @ExecStrategy = RuleGroupExecStrategy.new
            @ExecStrategy.deserialize(params['ExecStrategy'])
          end
          unless params['Subscription'].nil?
            @Subscription = RuleGroupSubscribe.new
            @Subscription.deserialize(params['Subscription'])
          end
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @SchemaName = params['SchemaName']
          @Permission = params['Permission']
          @RuleCount = params['RuleCount']
          @MonitorStatus = params['MonitorStatus']
          @TableOwnerUserId = params['TableOwnerUserId']
          @InstanceId = params['InstanceId']
          @CreateTime = params['CreateTime']
          @StrategyConfig = params['StrategyConfig']
          @SubscribeConfig = params['SubscribeConfig']
          @DsEnvType = params['DsEnvType']
          @ClusterDeployType = params['ClusterDeployType']
        end
      end

      # 规则组执行结果
      class RuleGroupExecResult < TencentCloud::Common::AbstractModel
        # @param RuleGroupExecId: 规则组执行ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupExecId: Integer
        # @param RuleGroupId: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param TriggerType: 执行触发类型(1:手动触发, 2:调度事中触发,3:周期调度触发)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerType: Integer
        # @param ExecTime: 执行时间 yyyy-MM-dd HH:mm:ss
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecTime: String
        # @param Status: 执行状态(1.已提交 2.检测中 3.正常 4.异常)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer
        # @param AlarmRuleCount: 异常规则数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmRuleCount: Integer
        # @param TotalRuleCount: 总规则数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalRuleCount: Integer
        # @param TableOwnerName: 源表负责人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerName: String
        # @param TableName: 源表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableId: 表id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param DatabaseId: 数据库id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatasourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param Permission: 有无权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Permission: Boolean
        # @param ExecDetail: 执行详情,调度计划或者关联生产任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecDetail: String
        # @param EngineType: 实际执行引擎
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EngineType: String
        # @param RuleExecResultVOList: 规则执行结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleExecResultVOList: Array
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param RuleGroupTableId: 本地规则表id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupTableId: String
        # @param ClusterDeployType: 集群部署类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterDeployType: String
        # @param InstanceId: 实例id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param DsEnvType: 数据库所属环境,0.未定义,1.生产 2.开发
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DsEnvType: String

        attr_accessor :RuleGroupExecId, :RuleGroupId, :TriggerType, :ExecTime, :Status, :AlarmRuleCount, :TotalRuleCount, :TableOwnerName, :TableName, :TableId, :DatabaseId, :DatasourceId, :Permission, :ExecDetail, :EngineType, :RuleExecResultVOList, :DatabaseName, :RuleGroupTableId, :ClusterDeployType, :InstanceId, :DsEnvType

        def initialize(rulegroupexecid=nil, rulegroupid=nil, triggertype=nil, exectime=nil, status=nil, alarmrulecount=nil, totalrulecount=nil, tableownername=nil, tablename=nil, tableid=nil, databaseid=nil, datasourceid=nil, permission=nil, execdetail=nil, enginetype=nil, ruleexecresultvolist=nil, databasename=nil, rulegrouptableid=nil, clusterdeploytype=nil, instanceid=nil, dsenvtype=nil)
          @RuleGroupExecId = rulegroupexecid
          @RuleGroupId = rulegroupid
          @TriggerType = triggertype
          @ExecTime = exectime
          @Status = status
          @AlarmRuleCount = alarmrulecount
          @TotalRuleCount = totalrulecount
          @TableOwnerName = tableownername
          @TableName = tablename
          @TableId = tableid
          @DatabaseId = databaseid
          @DatasourceId = datasourceid
          @Permission = permission
          @ExecDetail = execdetail
          @EngineType = enginetype
          @RuleExecResultVOList = ruleexecresultvolist
          @DatabaseName = databasename
          @RuleGroupTableId = rulegrouptableid
          @ClusterDeployType = clusterdeploytype
          @InstanceId = instanceid
          @DsEnvType = dsenvtype
        end

        def deserialize(params)
          @RuleGroupExecId = params['RuleGroupExecId']
          @RuleGroupId = params['RuleGroupId']
          @TriggerType = params['TriggerType']
          @ExecTime = params['ExecTime']
          @Status = params['Status']
          @AlarmRuleCount = params['AlarmRuleCount']
          @TotalRuleCount = params['TotalRuleCount']
          @TableOwnerName = params['TableOwnerName']
          @TableName = params['TableName']
          @TableId = params['TableId']
          @DatabaseId = params['DatabaseId']
          @DatasourceId = params['DatasourceId']
          @Permission = params['Permission']
          @ExecDetail = params['ExecDetail']
          @EngineType = params['EngineType']
          unless params['RuleExecResultVOList'].nil?
            @RuleExecResultVOList = []
            params['RuleExecResultVOList'].each do |i|
              ruleexecresult_tmp = RuleExecResult.new
              ruleexecresult_tmp.deserialize(i)
              @RuleExecResultVOList << ruleexecresult_tmp
            end
          end
          @DatabaseName = params['DatabaseName']
          @RuleGroupTableId = params['RuleGroupTableId']
          @ClusterDeployType = params['ClusterDeployType']
          @InstanceId = params['InstanceId']
          @DsEnvType = params['DsEnvType']
        end
      end

      # 规则组执行结果分页
      class RuleGroupExecResultPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 规则组执行结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              rulegroupexecresult_tmp = RuleGroupExecResult.new
              rulegroupexecresult_tmp.deserialize(i)
              @Items << rulegroupexecresult_tmp
            end
          end
        end
      end

      # 质量规则执行策略
      class RuleGroupExecStrategy < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param MonitorType: 监控类型 1.未配置, 2.关联生产调度, 3.离线周期检测
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorType: Integer
        # @param ExecQueue: 计算队列
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecQueue: String
        # @param ExecutorGroupId: 执行资源组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupId: String
        # @param ExecutorGroupName: 执行资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupName: String
        # @param Tasks: 关联的生产调度任务列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array
        # @param StartTime: 周期开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 周期结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param CycleType: 调度周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param DelayTime: 延迟调度时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param CycleStep: 间隔
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param TaskAction: 时间指定
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param ExecEngineType: 运行的执行引擎,不传时会请求该数据源下默认的执行引擎
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecEngineType: String
        # @param ExecPlan: 执行计划
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecPlan: String
        # @param RuleId: 规则id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleId: Integer
        # @param RuleName: 规则名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleName: String
        # @param TriggerTypes: 触发类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerTypes: Array
        # @param DlcGroupName: DLC资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DlcGroupName: String

        attr_accessor :RuleGroupId, :MonitorType, :ExecQueue, :ExecutorGroupId, :ExecutorGroupName, :Tasks, :StartTime, :EndTime, :CycleType, :DelayTime, :CycleStep, :TaskAction, :ExecEngineType, :ExecPlan, :RuleId, :RuleName, :TriggerTypes, :DlcGroupName

        def initialize(rulegroupid=nil, monitortype=nil, execqueue=nil, executorgroupid=nil, executorgroupname=nil, tasks=nil, starttime=nil, endtime=nil, cycletype=nil, delaytime=nil, cyclestep=nil, taskaction=nil, execenginetype=nil, execplan=nil, ruleid=nil, rulename=nil, triggertypes=nil, dlcgroupname=nil)
          @RuleGroupId = rulegroupid
          @MonitorType = monitortype
          @ExecQueue = execqueue
          @ExecutorGroupId = executorgroupid
          @ExecutorGroupName = executorgroupname
          @Tasks = tasks
          @StartTime = starttime
          @EndTime = endtime
          @CycleType = cycletype
          @DelayTime = delaytime
          @CycleStep = cyclestep
          @TaskAction = taskaction
          @ExecEngineType = execenginetype
          @ExecPlan = execplan
          @RuleId = ruleid
          @RuleName = rulename
          @TriggerTypes = triggertypes
          @DlcGroupName = dlcgroupname
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          @MonitorType = params['MonitorType']
          @ExecQueue = params['ExecQueue']
          @ExecutorGroupId = params['ExecutorGroupId']
          @ExecutorGroupName = params['ExecutorGroupName']
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              prodschedulertask_tmp = ProdSchedulerTask.new
              prodschedulertask_tmp.deserialize(i)
              @Tasks << prodschedulertask_tmp
            end
          end
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CycleType = params['CycleType']
          @DelayTime = params['DelayTime']
          @CycleStep = params['CycleStep']
          @TaskAction = params['TaskAction']
          @ExecEngineType = params['ExecEngineType']
          @ExecPlan = params['ExecPlan']
          @RuleId = params['RuleId']
          @RuleName = params['RuleName']
          @TriggerTypes = params['TriggerTypes']
          @DlcGroupName = params['DlcGroupName']
        end
      end

      # 规则组分页
      class RuleGroupPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 规则组列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              rulegroup_tmp = RuleGroup.new
              rulegroup_tmp.deserialize(i)
              @Items << rulegroup_tmp
            end
          end
        end
      end

      # 规则组调度信息
      class RuleGroupSchedulerInfo < TencentCloud::Common::AbstractModel
        # @param Id: 规则组ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: Integer
        # @param MonitorType: 1:未配置 2:关联生产调度 3:离线周期检测
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorType: Integer
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param CycleType: 循环类型简写
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param CycleStep: 循环步长
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param CycleDesc: 循环类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleDesc: String
        # @param TaskAction: 离线周期检测下指定时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param DelayTime: 离线周期检测下延迟时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param CycleTaskId: 离线周期检测下注册到任务调度的任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleTaskId: String
        # @param AssociateTaskIds: 关联生产调度下关联的任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AssociateTaskIds: Array

        attr_accessor :Id, :MonitorType, :StartTime, :EndTime, :CycleType, :CycleStep, :CycleDesc, :TaskAction, :DelayTime, :CycleTaskId, :AssociateTaskIds

        def initialize(id=nil, monitortype=nil, starttime=nil, endtime=nil, cycletype=nil, cyclestep=nil, cycledesc=nil, taskaction=nil, delaytime=nil, cycletaskid=nil, associatetaskids=nil)
          @Id = id
          @MonitorType = monitortype
          @StartTime = starttime
          @EndTime = endtime
          @CycleType = cycletype
          @CycleStep = cyclestep
          @CycleDesc = cycledesc
          @TaskAction = taskaction
          @DelayTime = delaytime
          @CycleTaskId = cycletaskid
          @AssociateTaskIds = associatetaskids
        end

        def deserialize(params)
          @Id = params['Id']
          @MonitorType = params['MonitorType']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @CycleDesc = params['CycleDesc']
          @TaskAction = params['TaskAction']
          @DelayTime = params['DelayTime']
          @CycleTaskId = params['CycleTaskId']
          @AssociateTaskIds = params['AssociateTaskIds']
        end
      end

      # 数据质量规则组订阅信息
      class RuleGroupSubscribe < TencentCloud::Common::AbstractModel
        # @param RuleGroupId: 规则组Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupId: Integer
        # @param Receivers: 订阅接收人列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Receivers: Array
        # @param SubscribeType: 订阅方式 1.邮件email  2.短信sms
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubscribeType: Array
        # @param WebHooks: 群机器人配置的webhook信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WebHooks: Array
        # @param RuleId: 规则Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleId: Integer
        # @param RuleName: 规则名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleName: String

        attr_accessor :RuleGroupId, :Receivers, :SubscribeType, :WebHooks, :RuleId, :RuleName

        def initialize(rulegroupid=nil, receivers=nil, subscribetype=nil, webhooks=nil, ruleid=nil, rulename=nil)
          @RuleGroupId = rulegroupid
          @Receivers = receivers
          @SubscribeType = subscribetype
          @WebHooks = webhooks
          @RuleId = ruleid
          @RuleName = rulename
        end

        def deserialize(params)
          @RuleGroupId = params['RuleGroupId']
          unless params['Receivers'].nil?
            @Receivers = []
            params['Receivers'].each do |i|
              subscribereceiver_tmp = SubscribeReceiver.new
              subscribereceiver_tmp.deserialize(i)
              @Receivers << subscribereceiver_tmp
            end
          end
          @SubscribeType = params['SubscribeType']
          unless params['WebHooks'].nil?
            @WebHooks = []
            params['WebHooks'].each do |i|
              subscribewebhook_tmp = SubscribeWebHook.new
              subscribewebhook_tmp.deserialize(i)
              @WebHooks << subscribewebhook_tmp
            end
          end
          @RuleId = params['RuleId']
          @RuleName = params['RuleName']
        end
      end

      # 表绑定规则组信息
      class RuleGroupTable < TencentCloud::Common::AbstractModel
        # @param TableInfo: 表信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableInfo: :class:`Tencentcloud::Wedata.v20210820.models.RuleGroupTableInnerInfo`
        # @param RuleGroups: 规则组调度信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroups: Array
        # @param Subscriptions: 订阅者信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Subscriptions: Array

        attr_accessor :TableInfo, :RuleGroups, :Subscriptions

        def initialize(tableinfo=nil, rulegroups=nil, subscriptions=nil)
          @TableInfo = tableinfo
          @RuleGroups = rulegroups
          @Subscriptions = subscriptions
        end

        def deserialize(params)
          unless params['TableInfo'].nil?
            @TableInfo = RuleGroupTableInnerInfo.new
            @TableInfo.deserialize(params['TableInfo'])
          end
          unless params['RuleGroups'].nil?
            @RuleGroups = []
            params['RuleGroups'].each do |i|
              rulegroupschedulerinfo_tmp = RuleGroupSchedulerInfo.new
              rulegroupschedulerinfo_tmp.deserialize(i)
              @RuleGroups << rulegroupschedulerinfo_tmp
            end
          end
          unless params['Subscriptions'].nil?
            @Subscriptions = []
            params['Subscriptions'].each do |i|
              rulegroupsubscribe_tmp = RuleGroupSubscribe.new
              rulegroupsubscribe_tmp.deserialize(i)
              @Subscriptions << rulegroupsubscribe_tmp
            end
          end
        end
      end

      # 规则组关联表信息
      class RuleGroupTableInnerInfo < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param InstanceId: 实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param DatasourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatasourceName: 数据源名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatasourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceType: Integer
        # @param DatabaseId: 数据库ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: Integer
        # @param UserId: 责任人ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: Integer

        attr_accessor :TableId, :TableName, :InstanceId, :DatasourceId, :DatasourceName, :DatasourceType, :DatabaseId, :DatabaseName, :ProjectId, :UserId

        def initialize(tableid=nil, tablename=nil, instanceid=nil, datasourceid=nil, datasourcename=nil, datasourcetype=nil, databaseid=nil, databasename=nil, projectid=nil, userid=nil)
          @TableId = tableid
          @TableName = tablename
          @InstanceId = instanceid
          @DatasourceId = datasourceid
          @DatasourceName = datasourcename
          @DatasourceType = datasourcetype
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @ProjectId = projectid
          @UserId = userid
        end

        def deserialize(params)
          @TableId = params['TableId']
          @TableName = params['TableName']
          @InstanceId = params['InstanceId']
          @DatasourceId = params['DatasourceId']
          @DatasourceName = params['DatasourceName']
          @DatasourceType = params['DatasourceType']
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @ProjectId = params['ProjectId']
          @UserId = params['UserId']
        end
      end

      # 数据质量规则分页
      class RulePage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 规则列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              rule_tmp = Rule.new
              rule_tmp.deserialize(i)
              @Items << rule_tmp
            end
          end
        end
      end

      # 规则模版
      class RuleTemplate < TencentCloud::Common::AbstractModel
        # @param RuleTemplateId: 规则模版ID
        # @type RuleTemplateId: Integer
        # @param Name: 规则模版名称
        # @type Name: String
        # @param Description: 规则模版描述
        # @type Description: String
        # @param Type: 模版类型(1:系统模版,2:自定义)
        # @type Type: Integer
        # @param SourceObjectType: 规则适用的源数据对象类型(1:常量,2:离线表级,3:离线字段级别)
        # @type SourceObjectType: Integer
        # @param SourceObjectDataType: 规则适用的源数据对象类型(1:数值,2:字符串)
        # @type SourceObjectDataType: Integer
        # @param SourceContent: 规则模版源侧内容,区分引擎,JSON 结构
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceContent: String
        # @param SourceEngineTypes: 源数据适用类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceEngineTypes: Array
        # @param QualityDim: 规则所属质量维度(1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualityDim: Integer
        # @param CompareType: 规则支持的比较方式类型(1:固定值比较,大于、小于,大于等于等 2:波动值比较,绝对值、上升、下降)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CompareType: Integer
        # @param CitationCount: 引用次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CitationCount: Integer
        # @param UserId: 创建人id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: Integer
        # @param UserName: 创建人昵称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserName: String
        # @param UpdateTime: 更新时间yyyy-MM-dd HH:mm:ss
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param WhereFlag: 是否添加where参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WhereFlag: Boolean
        # @param MultiSourceFlag: 是否关联多个库表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MultiSourceFlag: Boolean
        # @param SqlExpression: 自定义模板SQL表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SqlExpression: String
        # @param SubQualityDim: 模版子维度,0.父维度类型,1.一致性: 枚举范围一致性,2.一致性:数值范围一致性,3.一致性:字段数据相关性
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubQualityDim: Integer
        # @param ResolvedSqlExpression: sql表达式解析对象
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResolvedSqlExpression: :class:`Tencentcloud::Wedata.v20210820.models.SqlExpression`
        # @param DatasourceTypes: 支持的数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceTypes: Array
        # @param UserIdStr: 创建人IdStr
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserIdStr: String

        attr_accessor :RuleTemplateId, :Name, :Description, :Type, :SourceObjectType, :SourceObjectDataType, :SourceContent, :SourceEngineTypes, :QualityDim, :CompareType, :CitationCount, :UserId, :UserName, :UpdateTime, :WhereFlag, :MultiSourceFlag, :SqlExpression, :SubQualityDim, :ResolvedSqlExpression, :DatasourceTypes, :UserIdStr

        def initialize(ruletemplateid=nil, name=nil, description=nil, type=nil, sourceobjecttype=nil, sourceobjectdatatype=nil, sourcecontent=nil, sourceenginetypes=nil, qualitydim=nil, comparetype=nil, citationcount=nil, userid=nil, username=nil, updatetime=nil, whereflag=nil, multisourceflag=nil, sqlexpression=nil, subqualitydim=nil, resolvedsqlexpression=nil, datasourcetypes=nil, useridstr=nil)
          @RuleTemplateId = ruletemplateid
          @Name = name
          @Description = description
          @Type = type
          @SourceObjectType = sourceobjecttype
          @SourceObjectDataType = sourceobjectdatatype
          @SourceContent = sourcecontent
          @SourceEngineTypes = sourceenginetypes
          @QualityDim = qualitydim
          @CompareType = comparetype
          @CitationCount = citationcount
          @UserId = userid
          @UserName = username
          @UpdateTime = updatetime
          @WhereFlag = whereflag
          @MultiSourceFlag = multisourceflag
          @SqlExpression = sqlexpression
          @SubQualityDim = subqualitydim
          @ResolvedSqlExpression = resolvedsqlexpression
          @DatasourceTypes = datasourcetypes
          @UserIdStr = useridstr
        end

        def deserialize(params)
          @RuleTemplateId = params['RuleTemplateId']
          @Name = params['Name']
          @Description = params['Description']
          @Type = params['Type']
          @SourceObjectType = params['SourceObjectType']
          @SourceObjectDataType = params['SourceObjectDataType']
          @SourceContent = params['SourceContent']
          @SourceEngineTypes = params['SourceEngineTypes']
          @QualityDim = params['QualityDim']
          @CompareType = params['CompareType']
          @CitationCount = params['CitationCount']
          @UserId = params['UserId']
          @UserName = params['UserName']
          @UpdateTime = params['UpdateTime']
          @WhereFlag = params['WhereFlag']
          @MultiSourceFlag = params['MultiSourceFlag']
          @SqlExpression = params['SqlExpression']
          @SubQualityDim = params['SubQualityDim']
          unless params['ResolvedSqlExpression'].nil?
            @ResolvedSqlExpression = SqlExpression.new
            @ResolvedSqlExpression.deserialize(params['ResolvedSqlExpression'])
          end
          @DatasourceTypes = params['DatasourceTypes']
          @UserIdStr = params['UserIdStr']
        end
      end

      # RuleTemplatePage 结果
      class RuleTemplatePage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录数
        # @type TotalCount: Integer
        # @param Items: 模版列表
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              ruletemplate_tmp = RuleTemplate.new
              ruletemplate_tmp.deserialize(i)
              @Items << ruletemplate_tmp
            end
          end
        end
      end

      # RunForceSucScheduleInstances请求参数结构体
      class RunForceSucScheduleInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param SearchCondition: 查询条件
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :SearchCondition, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, searchcondition=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @SearchCondition = searchcondition
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # RunForceSucScheduleInstances返回参数结构体
      class RunForceSucScheduleInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperateResultOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperateResultOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # RunRerunScheduleInstances请求参数结构体
      class RunRerunScheduleInstancesRequest < TencentCloud::Common::AbstractModel
        # @param Instances: 实例列表
        # @type Instances: Array
        # @param CheckFather: 检查父任务类型, true: 检查父任务; false: 不检查父任务
        # @type CheckFather: Boolean
        # @param RerunType: 重跑类型, 1: 自身; 3: 孩子; 2: 自身以及孩子
        # @type RerunType: String
        # @param DependentWay: 实例依赖方式, 1: 自依赖; 2: 任务依赖; 3: 自依赖及父子依赖
        # @type DependentWay: String
        # @param SkipEventListening: 重跑忽略事件监听与否
        # @type SkipEventListening: Boolean
        # @param SonInstanceType: 下游实例范围 1: 所在工作流 2: 所在项目 3: 所有跨工作流依赖的项目
        # @type SonInstanceType: String
        # @param SearchCondition: 查询条件
        # @type SearchCondition: :class:`Tencentcloud::Wedata.v20210820.models.InstanceApiOpsRequest`
        # @param OptType: 访问类型
        # @type OptType: String
        # @param OperatorName: 操作者名称
        # @type OperatorName: String
        # @param OperatorId: 操作者id
        # @type OperatorId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标志
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param PageIndex: 索引页码
        # @type PageIndex: Integer
        # @param PageSize: 页面大小
        # @type PageSize: Integer
        # @param Count: 数据总数
        # @type Count: Integer
        # @param RequestBaseInfo: 基础请求信息
        # @type RequestBaseInfo: :class:`Tencentcloud::Wedata.v20210820.models.ProjectBaseInfoOpsRequest`
        # @param IsCount: 是否计算总数
        # @type IsCount: Boolean

        attr_accessor :Instances, :CheckFather, :RerunType, :DependentWay, :SkipEventListening, :SonInstanceType, :SearchCondition, :OptType, :OperatorName, :OperatorId, :ProjectId, :ProjectIdent, :ProjectName, :PageIndex, :PageSize, :Count, :RequestBaseInfo, :IsCount

        def initialize(instances=nil, checkfather=nil, reruntype=nil, dependentway=nil, skipeventlistening=nil, soninstancetype=nil, searchcondition=nil, opttype=nil, operatorname=nil, operatorid=nil, projectid=nil, projectident=nil, projectname=nil, pageindex=nil, pagesize=nil, count=nil, requestbaseinfo=nil, iscount=nil)
          @Instances = instances
          @CheckFather = checkfather
          @RerunType = reruntype
          @DependentWay = dependentway
          @SkipEventListening = skipeventlistening
          @SonInstanceType = soninstancetype
          @SearchCondition = searchcondition
          @OptType = opttype
          @OperatorName = operatorname
          @OperatorId = operatorid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @PageIndex = pageindex
          @PageSize = pagesize
          @Count = count
          @RequestBaseInfo = requestbaseinfo
          @IsCount = iscount
        end

        def deserialize(params)
          unless params['Instances'].nil?
            @Instances = []
            params['Instances'].each do |i|
              instanceopsdto_tmp = InstanceOpsDto.new
              instanceopsdto_tmp.deserialize(i)
              @Instances << instanceopsdto_tmp
            end
          end
          @CheckFather = params['CheckFather']
          @RerunType = params['RerunType']
          @DependentWay = params['DependentWay']
          @SkipEventListening = params['SkipEventListening']
          @SonInstanceType = params['SonInstanceType']
          unless params['SearchCondition'].nil?
            @SearchCondition = InstanceApiOpsRequest.new
            @SearchCondition.deserialize(params['SearchCondition'])
          end
          @OptType = params['OptType']
          @OperatorName = params['OperatorName']
          @OperatorId = params['OperatorId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @PageIndex = params['PageIndex']
          @PageSize = params['PageSize']
          @Count = params['Count']
          unless params['RequestBaseInfo'].nil?
            @RequestBaseInfo = ProjectBaseInfoOpsRequest.new
            @RequestBaseInfo.deserialize(params['RequestBaseInfo'])
          end
          @IsCount = params['IsCount']
        end
      end

      # RunRerunScheduleInstances返回参数结构体
      class RunRerunScheduleInstancesResponse < TencentCloud::Common::AbstractModel
        # @param Data: 结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperateResultOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperateResultOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # RunTasksByMultiWorkflow请求参数结构体
      class RunTasksByMultiWorkflowRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param WorkflowIds: 工作流id列表
        # @type WorkflowIds: Array
        # @param EnableMakeUp: 是否补录中间实例 0.不补录 1.补录实例
        # @type EnableMakeUp: Integer

        attr_accessor :ProjectId, :WorkflowIds, :EnableMakeUp

        def initialize(projectid=nil, workflowids=nil, enablemakeup=nil)
          @ProjectId = projectid
          @WorkflowIds = workflowids
          @EnableMakeUp = enablemakeup
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowIds = params['WorkflowIds']
          @EnableMakeUp = params['EnableMakeUp']
        end
      end

      # RunTasksByMultiWorkflow返回参数结构体
      class RunTasksByMultiWorkflowResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作返回结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.OperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = OperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 指定时间窗口实例耗时排行
      class RuntimeInstanceCntTop < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param InCharge: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param CycleUnit: 任务周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param State: 实例状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type State: String
        # @param RunTime: 耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunTime: Integer
        # @param CurRunTime: 实例运行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CurRunTime: String
        # @param WaitScheduleTime: 等待调度耗时
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WaitScheduleTime: Integer

        attr_accessor :TaskId, :TaskName, :InCharge, :CycleUnit, :State, :RunTime, :CurRunTime, :WaitScheduleTime

        def initialize(taskid=nil, taskname=nil, incharge=nil, cycleunit=nil, state=nil, runtime=nil, curruntime=nil, waitscheduletime=nil)
          @TaskId = taskid
          @TaskName = taskname
          @InCharge = incharge
          @CycleUnit = cycleunit
          @State = state
          @RunTime = runtime
          @CurRunTime = curruntime
          @WaitScheduleTime = waitscheduletime
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @InCharge = params['InCharge']
          @CycleUnit = params['CycleUnit']
          @State = params['State']
          @RunTime = params['RunTime']
          @CurRunTime = params['CurRunTime']
          @WaitScheduleTime = params['WaitScheduleTime']
        end
      end

      # SaveCustomFunction请求参数结构体
      class SaveCustomFunctionRequest < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数唯一标识
        # @type FunctionId: String
        # @param Kind: 分类:窗口函数、聚合函数、日期函数......
        # @type Kind: String
        # @param ClusterIdentifier: 集群引擎实例
        # @type ClusterIdentifier: String
        # @param ClassName: 类名
        # @type ClassName: String
        # @param ResourceList: 资源列表
        # @type ResourceList: Array
        # @param Description: 函数说明
        # @type Description: String
        # @param Usage: 用法
        # @type Usage: String
        # @param ParamDesc: 参数说明
        # @type ParamDesc: String
        # @param ReturnDesc: 返回值说明
        # @type ReturnDesc: String
        # @param Example: 示例
        # @type Example: String
        # @param ProjectId: 项目id,不支持修改,dlc侧创建函数保存时用
        # @type ProjectId: String
        # @param DbName: 数据库名称,不支持修改,dlc侧创建函数保存时用
        # @type DbName: String
        # @param Name: 函数名称,不支持修改,dlc侧创建函数保存时用
        # @type Name: String

        attr_accessor :FunctionId, :Kind, :ClusterIdentifier, :ClassName, :ResourceList, :Description, :Usage, :ParamDesc, :ReturnDesc, :Example, :ProjectId, :DbName, :Name

        def initialize(functionid=nil, kind=nil, clusteridentifier=nil, classname=nil, resourcelist=nil, description=nil, usage=nil, paramdesc=nil, returndesc=nil, example=nil, projectid=nil, dbname=nil, name=nil)
          @FunctionId = functionid
          @Kind = kind
          @ClusterIdentifier = clusteridentifier
          @ClassName = classname
          @ResourceList = resourcelist
          @Description = description
          @Usage = usage
          @ParamDesc = paramdesc
          @ReturnDesc = returndesc
          @Example = example
          @ProjectId = projectid
          @DbName = dbname
          @Name = name
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @Kind = params['Kind']
          @ClusterIdentifier = params['ClusterIdentifier']
          @ClassName = params['ClassName']
          unless params['ResourceList'].nil?
            @ResourceList = []
            params['ResourceList'].each do |i|
              functionresource_tmp = FunctionResource.new
              functionresource_tmp.deserialize(i)
              @ResourceList << functionresource_tmp
            end
          end
          @Description = params['Description']
          @Usage = params['Usage']
          @ParamDesc = params['ParamDesc']
          @ReturnDesc = params['ReturnDesc']
          @Example = params['Example']
          @ProjectId = params['ProjectId']
          @DbName = params['DbName']
          @Name = params['Name']
        end
      end

      # SaveCustomFunction返回参数结构体
      class SaveCustomFunctionResponse < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FunctionId: String
        # @param ErrorMessage: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :FunctionId, :ErrorMessage, :RequestId

        def initialize(functionid=nil, errormessage=nil, requestid=nil)
          @FunctionId = functionid
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # 集成离线任务实例信息
      class SchedulerTaskInstanceInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param CurRunDate: 实例运行时间
        # @type CurRunDate: String

        attr_accessor :TaskId, :CurRunDate

        def initialize(taskid=nil, currundate=nil)
          @TaskId = taskid
          @CurRunDate = currundate
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @CurRunDate = params['CurRunDate']
        end
      end

      # 元数据字段信息
      class SchemaDetail < TencentCloud::Common::AbstractModel
        # @param ColumnKey: 列
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnKey: String
        # @param Description: 描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Name: 名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param Type: 类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String

        attr_accessor :ColumnKey, :Description, :Name, :Type

        def initialize(columnkey=nil, description=nil, name=nil, type=nil)
          @ColumnKey = columnkey
          @Description = description
          @Name = name
          @Type = type
        end

        def deserialize(params)
          @ColumnKey = params['ColumnKey']
          @Description = params['Description']
          @Name = params['Name']
          @Type = params['Type']
        end
      end

      # 实例统计信息展示
      class ScreenInstanceInfo < TencentCloud::Common::AbstractModel
        # @param CountTag: 统计标示 0:全部、1:当前天、2:昨天
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CountTag: Integer
        # @param TotalNum: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalNum: Integer
        # @param RunningNum: 运行中
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunningNum: Integer
        # @param WaitRunningNum: 等待运行
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WaitRunningNum: Integer
        # @param DependencyNum: 等待上游
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyNum: Integer
        # @param WaitEventNum: 等待事件
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WaitEventNum: String
        # @param StoppingNum: 正在终止
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StoppingNum: Integer
        # @param SucceedNum: 成功
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SucceedNum: Integer
        # @param FailedNum: 失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FailedNum: Integer

        attr_accessor :CountTag, :TotalNum, :RunningNum, :WaitRunningNum, :DependencyNum, :WaitEventNum, :StoppingNum, :SucceedNum, :FailedNum

        def initialize(counttag=nil, totalnum=nil, runningnum=nil, waitrunningnum=nil, dependencynum=nil, waiteventnum=nil, stoppingnum=nil, succeednum=nil, failednum=nil)
          @CountTag = counttag
          @TotalNum = totalnum
          @RunningNum = runningnum
          @WaitRunningNum = waitrunningnum
          @DependencyNum = dependencynum
          @WaitEventNum = waiteventnum
          @StoppingNum = stoppingnum
          @SucceedNum = succeednum
          @FailedNum = failednum
        end

        def deserialize(params)
          @CountTag = params['CountTag']
          @TotalNum = params['TotalNum']
          @RunningNum = params['RunningNum']
          @WaitRunningNum = params['WaitRunningNum']
          @DependencyNum = params['DependencyNum']
          @WaitEventNum = params['WaitEventNum']
          @StoppingNum = params['StoppingNum']
          @SucceedNum = params['SucceedNum']
          @FailedNum = params['FailedNum']
        end
      end

      # 运维大屏任务展示
      class ScreenTaskInfo < TencentCloud::Common::AbstractModel
        # @param CountTag: 统计标示 0:全部、1:当前天、2:昨天
        # @type CountTag: Integer
        # @param TotalNum: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalNum: Integer
        # @param RunningNum: 运行中
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunningNum: Integer
        # @param StoppingNum: 停止中
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StoppingNum: Integer
        # @param StoppedNum: 已停止
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StoppedNum: Integer
        # @param FrozenNum: 暂停
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FrozenNum: Integer
        # @param YearNum: 年任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type YearNum: Integer
        # @param MonthNum: 月任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonthNum: Integer
        # @param WeekNum: 周任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WeekNum: Integer
        # @param DayNum: 天任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DayNum: Integer
        # @param HourNum: 小时任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HourNum: Integer
        # @param MinuteNum: 分钟任务
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MinuteNum: Integer

        attr_accessor :CountTag, :TotalNum, :RunningNum, :StoppingNum, :StoppedNum, :FrozenNum, :YearNum, :MonthNum, :WeekNum, :DayNum, :HourNum, :MinuteNum

        def initialize(counttag=nil, totalnum=nil, runningnum=nil, stoppingnum=nil, stoppednum=nil, frozennum=nil, yearnum=nil, monthnum=nil, weeknum=nil, daynum=nil, hournum=nil, minutenum=nil)
          @CountTag = counttag
          @TotalNum = totalnum
          @RunningNum = runningnum
          @StoppingNum = stoppingnum
          @StoppedNum = stoppednum
          @FrozenNum = frozennum
          @YearNum = yearnum
          @MonthNum = monthnum
          @WeekNum = weeknum
          @DayNum = daynum
          @HourNum = hournum
          @MinuteNum = minutenum
        end

        def deserialize(params)
          @CountTag = params['CountTag']
          @TotalNum = params['TotalNum']
          @RunningNum = params['RunningNum']
          @StoppingNum = params['StoppingNum']
          @StoppedNum = params['StoppedNum']
          @FrozenNum = params['FrozenNum']
          @YearNum = params['YearNum']
          @MonthNum = params['MonthNum']
          @WeekNum = params['WeekNum']
          @DayNum = params['DayNum']
          @HourNum = params['HourNum']
          @MinuteNum = params['MinuteNum']
        end
      end

      # 开发空间-脚本相关响应
      class ScriptInfoResponse < TencentCloud::Common::AbstractModel
        # @param ResourceId: 资源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceId: String
        # @param FileName: 脚本名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileName: String
        # @param FileExtensionType: 文件扩展名类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileExtensionType: String
        # @param Type: 文件类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Md5Value: md5值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Md5Value: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param Size: 文件大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Size: Float
        # @param LocalPath: 本地路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalPath: String
        # @param RemotePath: 远程路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemotePath: String
        # @param OwnerName: 用户名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerName: String
        # @param Owner: 用户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param PathDepth: 路径深度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PathDepth: Integer
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ExtraInfo: 附加信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtraInfo: String
        # @param LocalTempPath: 本地临时文件路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalTempPath: String
        # @param ZipPath: 本地压缩文件路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ZipPath: String
        # @param Bucket: cos桶名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Bucket: String
        # @param Region: cos地区
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String

        attr_accessor :ResourceId, :FileName, :FileExtensionType, :Type, :Md5Value, :CreateTime, :UpdateTime, :Size, :LocalPath, :RemotePath, :OwnerName, :Owner, :PathDepth, :ProjectId, :ExtraInfo, :LocalTempPath, :ZipPath, :Bucket, :Region

        def initialize(resourceid=nil, filename=nil, fileextensiontype=nil, type=nil, md5value=nil, createtime=nil, updatetime=nil, size=nil, localpath=nil, remotepath=nil, ownername=nil, owner=nil, pathdepth=nil, projectid=nil, extrainfo=nil, localtemppath=nil, zippath=nil, bucket=nil, region=nil)
          @ResourceId = resourceid
          @FileName = filename
          @FileExtensionType = fileextensiontype
          @Type = type
          @Md5Value = md5value
          @CreateTime = createtime
          @UpdateTime = updatetime
          @Size = size
          @LocalPath = localpath
          @RemotePath = remotepath
          @OwnerName = ownername
          @Owner = owner
          @PathDepth = pathdepth
          @ProjectId = projectid
          @ExtraInfo = extrainfo
          @LocalTempPath = localtemppath
          @ZipPath = zippath
          @Bucket = bucket
          @Region = region
        end

        def deserialize(params)
          @ResourceId = params['ResourceId']
          @FileName = params['FileName']
          @FileExtensionType = params['FileExtensionType']
          @Type = params['Type']
          @Md5Value = params['Md5Value']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @Size = params['Size']
          @LocalPath = params['LocalPath']
          @RemotePath = params['RemotePath']
          @OwnerName = params['OwnerName']
          @Owner = params['Owner']
          @PathDepth = params['PathDepth']
          @ProjectId = params['ProjectId']
          @ExtraInfo = params['ExtraInfo']
          @LocalTempPath = params['LocalTempPath']
          @ZipPath = params['ZipPath']
          @Bucket = params['Bucket']
          @Region = params['Region']
        end
      end

      # 开发空间-上传脚本请求
      class ScriptRequestInfo < TencentCloud::Common::AbstractModel
        # @param FilePath: 脚本路径
        # 项目区1470575647377821696项目,f1目录下:
        # /datastudio/project/1470575647377821696/f1/sql1234.sql
        # 个人区:
        # /datastudio/personal/sqlTTT.sql
        # @type FilePath: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Version: 脚本版本
        # @type Version: String
        # @param Operation: 操作类型
        # @type Operation: String
        # @param ExtraInfo: 额外信息
        # @type ExtraInfo: String
        # @param BucketName: 桶名称
        # @type BucketName: String
        # @param Region: 所属地区
        # @type Region: String
        # @param FileExtensionType: 文件扩展类型
        # @type FileExtensionType: String

        attr_accessor :FilePath, :ProjectId, :Version, :Operation, :ExtraInfo, :BucketName, :Region, :FileExtensionType

        def initialize(filepath=nil, projectid=nil, version=nil, operation=nil, extrainfo=nil, bucketname=nil, region=nil, fileextensiontype=nil)
          @FilePath = filepath
          @ProjectId = projectid
          @Version = version
          @Operation = operation
          @ExtraInfo = extrainfo
          @BucketName = bucketname
          @Region = region
          @FileExtensionType = fileextensiontype
        end

        def deserialize(params)
          @FilePath = params['FilePath']
          @ProjectId = params['ProjectId']
          @Version = params['Version']
          @Operation = params['Operation']
          @ExtraInfo = params['ExtraInfo']
          @BucketName = params['BucketName']
          @Region = params['Region']
          @FileExtensionType = params['FileExtensionType']
        end
      end

      # 表字段信息
      class SearchColumnDocVO < TencentCloud::Common::AbstractModel
        # @param Name: 字段名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Name: String
        # @param ChineseName: 字段中文名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChineseName: String
        # @param Type: 字段类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Length: 字段类型长度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Length: Integer
        # @param Precision: 字段类型精度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Precision: Integer
        # @param Scale: 字段类型scale
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Scale: Integer
        # @param DefaultValue: 字段默认值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DefaultValue: String
        # @param Description: 字段描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param Position: 字段的顺序
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Position: Integer
        # @param IsPartition: 是否为分区字段
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsPartition: Boolean
        # @param ColumnKey: 列上的索引类型 主键: PRI,唯一索引: UNI,一般索引: MUL
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnKey: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifiedTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifiedTime: String

        attr_accessor :Name, :ChineseName, :Type, :Length, :Precision, :Scale, :DefaultValue, :Description, :Position, :IsPartition, :ColumnKey, :CreateTime, :ModifiedTime

        def initialize(name=nil, chinesename=nil, type=nil, length=nil, precision=nil, scale=nil, defaultvalue=nil, description=nil, position=nil, ispartition=nil, columnkey=nil, createtime=nil, modifiedtime=nil)
          @Name = name
          @ChineseName = chinesename
          @Type = type
          @Length = length
          @Precision = precision
          @Scale = scale
          @DefaultValue = defaultvalue
          @Description = description
          @Position = position
          @IsPartition = ispartition
          @ColumnKey = columnkey
          @CreateTime = createtime
          @ModifiedTime = modifiedtime
        end

        def deserialize(params)
          @Name = params['Name']
          @ChineseName = params['ChineseName']
          @Type = params['Type']
          @Length = params['Length']
          @Precision = params['Precision']
          @Scale = params['Scale']
          @DefaultValue = params['DefaultValue']
          @Description = params['Description']
          @Position = params['Position']
          @IsPartition = params['IsPartition']
          @ColumnKey = params['ColumnKey']
          @CreateTime = params['CreateTime']
          @ModifiedTime = params['ModifiedTime']
        end
      end

      # 查询实例条件
      class SearchCondition < TencentCloud::Common::AbstractModel
        # @param Instance: 查询框架,必选
        # @type Instance: :class:`Tencentcloud::Wedata.v20210820.models.SearchConditionInstanceNew`
        # @param Keyword: 查询关键字(任务Id精确匹配,任务名称模糊匹配),可选
        # @type Keyword: String
        # @param Sort: 排序顺序(asc,desc)
        # @type Sort: String
        # @param SortCol: 排序列(costTime 运行耗时,startTime 开始时间,state 实例状态,curRunDate 数据时间)
        # @type SortCol: String

        attr_accessor :Instance, :Keyword, :Sort, :SortCol

        def initialize(instance=nil, keyword=nil, sort=nil, sortcol=nil)
          @Instance = instance
          @Keyword = keyword
          @Sort = sort
          @SortCol = sortcol
        end

        def deserialize(params)
          unless params['Instance'].nil?
            @Instance = SearchConditionInstanceNew.new
            @Instance.deserialize(params['Instance'])
          end
          @Keyword = params['Keyword']
          @Sort = params['Sort']
          @SortCol = params['SortCol']
        end
      end

      # 搜索条件
      class SearchConditionInstanceNew < TencentCloud::Common::AbstractModel
        # @param ExecutionSpace: 执行空间,可选
        #  "DRY_RUN"
        # @type ExecutionSpace: String
        # @param ProductName: 业务产品,可选: <DATA_DEV / DATA_QUALITY / DATA_INTEGRATION,默认DATA_DEV。非空。默认 自身项目
        # @type ProductName: String
        # @param ResourceGroup: 资源组信息,可选
        # @type ResourceGroup: String

        attr_accessor :ExecutionSpace, :ProductName, :ResourceGroup

        def initialize(executionspace=nil, productname=nil, resourcegroup=nil)
          @ExecutionSpace = executionspace
          @ProductName = productname
          @ResourceGroup = resourcegroup
        end

        def deserialize(params)
          @ExecutionSpace = params['ExecutionSpace']
          @ProductName = params['ProductName']
          @ResourceGroup = params['ResourceGroup']
        end
      end

      # 查询实例条件(新)
      class SearchConditionNew < TencentCloud::Common::AbstractModel
        # @param Instance: 查询框架,必选
        # @type Instance: :class:`Tencentcloud::Wedata.v20210820.models.SearchConditionInstanceNew`
        # @param Keyword: 查询关键字(任务Id精确匹配,任务名称模糊匹配),可选
        # @type Keyword: String
        # @param Sort: 排序顺序(asc,desc)
        # @type Sort: String
        # @param SortCol: 排序列(costTime 运行耗时,startTime 开始时间,state 实例状态,curRunDate 数据时间)
        # @type SortCol: String

        attr_accessor :Instance, :Keyword, :Sort, :SortCol

        def initialize(instance=nil, keyword=nil, sort=nil, sortcol=nil)
          @Instance = instance
          @Keyword = keyword
          @Sort = sort
          @SortCol = sortcol
        end

        def deserialize(params)
          unless params['Instance'].nil?
            @Instance = SearchConditionInstanceNew.new
            @Instance.deserialize(params['Instance'])
          end
          @Keyword = params['Keyword']
          @Sort = params['Sort']
          @SortCol = params['SortCol']
        end
      end

      # SetTaskAlarmNew请求参数结构体
      class SetTaskAlarmNewRequest < TencentCloud::Common::AbstractModel
        # @param AlarmInfoList: 设置任务超时告警和失败告警信息
        # @type AlarmInfoList: Array
        # @param ProjectId: 项目Id
        # @type ProjectId: String

        attr_accessor :AlarmInfoList, :ProjectId

        def initialize(alarminfolist=nil, projectid=nil)
          @AlarmInfoList = alarminfolist
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['AlarmInfoList'].nil?
            @AlarmInfoList = []
            params['AlarmInfoList'].each do |i|
              alarminfo_tmp = AlarmInfo.new
              alarminfo_tmp.deserialize(i)
              @AlarmInfoList << alarminfo_tmp
            end
          end
          @ProjectId = params['ProjectId']
        end
      end

      # SetTaskAlarmNew返回参数结构体
      class SetTaskAlarmNewResponse < TencentCloud::Common::AbstractModel
        # @param Data: 返回批量操作成功个数、失败个数、操作总数
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperateResult`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperateResult.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 血缘列描述
      class SimpleColumnInfo < TencentCloud::Common::AbstractModel
        # @param Id: 列ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param QualifiedName: 限定名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualifiedName: String
        # @param ColumnName: 列名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnName: String
        # @param ColumnNameCn: 列中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnNameCn: String
        # @param ColumnType: 列类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnType: String
        # @param Description: 列描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param PrefixPath: 前缀路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PrefixPath: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 修改时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param DatasourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DownStreamCount: 下游数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DownStreamCount: Integer
        # @param UpStreamCount: 上游数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpStreamCount: Integer
        # @param RelationParams: 关系参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RelationParams: String
        # @param Params: 参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: String
        # @param Tasks: 任务集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array

        attr_accessor :Id, :QualifiedName, :ColumnName, :ColumnNameCn, :ColumnType, :Description, :PrefixPath, :CreateTime, :ModifyTime, :DatasourceId, :DownStreamCount, :UpStreamCount, :RelationParams, :Params, :Tasks

        def initialize(id=nil, qualifiedname=nil, columnname=nil, columnnamecn=nil, columntype=nil, description=nil, prefixpath=nil, createtime=nil, modifytime=nil, datasourceid=nil, downstreamcount=nil, upstreamcount=nil, relationparams=nil, params=nil, tasks=nil)
          @Id = id
          @QualifiedName = qualifiedname
          @ColumnName = columnname
          @ColumnNameCn = columnnamecn
          @ColumnType = columntype
          @Description = description
          @PrefixPath = prefixpath
          @CreateTime = createtime
          @ModifyTime = modifytime
          @DatasourceId = datasourceid
          @DownStreamCount = downstreamcount
          @UpStreamCount = upstreamcount
          @RelationParams = relationparams
          @Params = params
          @Tasks = tasks
        end

        def deserialize(params)
          @Id = params['Id']
          @QualifiedName = params['QualifiedName']
          @ColumnName = params['ColumnName']
          @ColumnNameCn = params['ColumnNameCn']
          @ColumnType = params['ColumnType']
          @Description = params['Description']
          @PrefixPath = params['PrefixPath']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
          @DatasourceId = params['DatasourceId']
          @DownStreamCount = params['DownStreamCount']
          @UpStreamCount = params['UpStreamCount']
          @RelationParams = params['RelationParams']
          @Params = params['Params']
          @Tasks = params['Tasks']
        end
      end

      # 简单Task信息
      class SimpleTaskInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param TaskName: 任务名
        # @type TaskName: String

        attr_accessor :TaskId, :TaskName

        def initialize(taskid=nil, taskname=nil)
          @TaskId = taskid
          @TaskName = taskname
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
        end
      end

      # 上游节点字段信息
      class SourceFieldInfo < TencentCloud::Common::AbstractModel
        # @param FieldName: 字段名称
        # @type FieldName: String
        # @param FieldType: 字段类型
        # @type FieldType: String
        # @param Alias: 字段别名
        # @type Alias: String
        # @param Comment: 字段描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Comment: String

        attr_accessor :FieldName, :FieldType, :Alias, :Comment

        def initialize(fieldname=nil, fieldtype=nil, _alias=nil, comment=nil)
          @FieldName = fieldname
          @FieldType = fieldtype
          @Alias = _alias
          @Comment = comment
        end

        def deserialize(params)
          @FieldName = params['FieldName']
          @FieldType = params['FieldType']
          @Alias = params['Alias']
          @Comment = params['Comment']
        end
      end

      # 速度值对象
      class SpeedValue < TencentCloud::Common::AbstractModel
        # @param Time: 带毫秒的时间戳
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Time: Integer
        # @param Speed: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Speed: Float

        attr_accessor :Time, :Speed

        def initialize(time=nil, speed=nil)
          @Time = time
          @Speed = speed
        end

        def deserialize(params)
          @Time = params['Time']
          @Speed = params['Speed']
        end
      end

      # 数据质量自定义规则时的sql表达式解析对象
      class SqlExpression < TencentCloud::Common::AbstractModel
        # @param TableExpressions: sql表达式表名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableExpressions: Array
        # @param ParamExpressions: sql表达式字段名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParamExpressions: Array

        attr_accessor :TableExpressions, :ParamExpressions

        def initialize(tableexpressions=nil, paramexpressions=nil)
          @TableExpressions = tableexpressions
          @ParamExpressions = paramexpressions
        end

        def deserialize(params)
          unless params['TableExpressions'].nil?
            @TableExpressions = []
            params['TableExpressions'].each do |i|
              sqlexpressiontable_tmp = SqlExpressionTable.new
              sqlexpressiontable_tmp.deserialize(i)
              @TableExpressions << sqlexpressiontable_tmp
            end
          end
          @ParamExpressions = params['ParamExpressions']
        end
      end

      # 数据质量自定义规则时的sql表达式解析表对象
      class SqlExpressionTable < TencentCloud::Common::AbstractModel
        # @param TableExpression: sql表达式表名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableExpression: String
        # @param ColumnExpression: sql表达式字段名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnExpression: Array

        attr_accessor :TableExpression, :ColumnExpression

        def initialize(tableexpression=nil, columnexpression=nil)
          @TableExpression = tableexpression
          @ColumnExpression = columnexpression
        end

        def deserialize(params)
          @TableExpression = params['TableExpression']
          @ColumnExpression = params['ColumnExpression']
        end
      end

      # 无
      class StageCloudApiRequest < TencentCloud::Common::AbstractModel
        # @param ClusterId: 无
        # @type ClusterId: String
        # @param StageId: 无
        # @type StageId: String
        # @param JobId: 无
        # @type JobId: String
        # @param StageName: 无
        # @type StageName: String
        # @param Type: 无
        # @type Type: String
        # @param Mode: 无
        # @type Mode: String
        # @param Version: 无
        # @type Version: String
        # @param Queue: 无
        # @type Queue: String
        # @param Content: 无
        # @type Content: String
        # @param Parameters: 无
        # @type Parameters: Array
        # @param Description: 无
        # @type Description: String
        # @param ProjectId: 无
        # @type ProjectId: String
        # @param JobType: 无
        # @type JobType: String
        # @param WorkFlowId: 无
        # @type WorkFlowId: String

        attr_accessor :ClusterId, :StageId, :JobId, :StageName, :Type, :Mode, :Version, :Queue, :Content, :Parameters, :Description, :ProjectId, :JobType, :WorkFlowId

        def initialize(clusterid=nil, stageid=nil, jobid=nil, stagename=nil, type=nil, mode=nil, version=nil, queue=nil, content=nil, parameters=nil, description=nil, projectid=nil, jobtype=nil, workflowid=nil)
          @ClusterId = clusterid
          @StageId = stageid
          @JobId = jobid
          @StageName = stagename
          @Type = type
          @Mode = mode
          @Version = version
          @Queue = queue
          @Content = content
          @Parameters = parameters
          @Description = description
          @ProjectId = projectid
          @JobType = jobtype
          @WorkFlowId = workflowid
        end

        def deserialize(params)
          @ClusterId = params['ClusterId']
          @StageId = params['StageId']
          @JobId = params['JobId']
          @StageName = params['StageName']
          @Type = params['Type']
          @Mode = params['Mode']
          @Version = params['Version']
          @Queue = params['Queue']
          @Content = params['Content']
          unless params['Parameters'].nil?
            @Parameters = []
            params['Parameters'].each do |i|
              property_tmp = Property.new
              property_tmp.deserialize(i)
              @Parameters << property_tmp
            end
          end
          @Description = params['Description']
          @ProjectId = params['ProjectId']
          @JobType = params['JobType']
          @WorkFlowId = params['WorkFlowId']
        end
      end

      # StartIntegrationTask请求参数结构体
      class StartIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Event: 事件类型(START, STOP, SUSPEND, RESUME, COMMIT, TIMESTAMP)
        # @type Event: String
        # @param ExtConfig: 额外参数
        # @type ExtConfig: Array
        # @param EventDesc: 操作类型描述
        # @type EventDesc: String

        attr_accessor :TaskId, :ProjectId, :Event, :ExtConfig, :EventDesc

        def initialize(taskid=nil, projectid=nil, event=nil, extconfig=nil, eventdesc=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @Event = event
          @ExtConfig = extconfig
          @EventDesc = eventdesc
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @Event = params['Event']
          unless params['ExtConfig'].nil?
            @ExtConfig = []
            params['ExtConfig'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtConfig << recordfield_tmp
            end
          end
          @EventDesc = params['EventDesc']
        end
      end

      # StartIntegrationTask返回参数结构体
      class StartIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # 批量运行集成任务配置
      class StartTaskInfo < TencentCloud::Common::AbstractModel
        # @param Event: 批量运行任务类型,比如START,TIMESTAMP,RESTORE,RESUME等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Event: String
        # @param TaskIds: 任务Id列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskIds: Array
        # @param Config: 批量运行任务配置,目前仅用与实时集成基于时间位点启动。基于时间位点启动,需要设置一个name=timestamp, value=具体时间戳的RecordField的配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Config: Array
        # @param Description: 操作类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String

        attr_accessor :Event, :TaskIds, :Config, :Description

        def initialize(event=nil, taskids=nil, config=nil, description=nil)
          @Event = event
          @TaskIds = taskids
          @Config = config
          @Description = description
        end

        def deserialize(params)
          @Event = params['Event']
          @TaskIds = params['TaskIds']
          unless params['Config'].nil?
            @Config = []
            params['Config'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @Config << recordfield_tmp
            end
          end
          @Description = params['Description']
        end
      end

      # StopIntegrationTask请求参数结构体
      class StopIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # StopIntegrationTask返回参数结构体
      class StopIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # map
      class StrToStrMap < TencentCloud::Common::AbstractModel
        # @param K: k
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type K: String
        # @param V: v
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type V: String

        attr_accessor :K, :V

        def initialize(k=nil, v=nil)
          @K = k
          @V = v
        end

        def deserialize(params)
          @K = params['K']
          @V = params['V']
        end
      end

      # SubmitCustomFunction请求参数结构体
      class SubmitCustomFunctionRequest < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数唯一标识
        # @type FunctionId: String
        # @param ClusterIdentifier: 集群实例 ID
        # @type ClusterIdentifier: String
        # @param Comment: 备注信息
        # @type Comment: String
        # @param ProjectId: 项目ID
        # @type ProjectId: String

        attr_accessor :FunctionId, :ClusterIdentifier, :Comment, :ProjectId

        def initialize(functionid=nil, clusteridentifier=nil, comment=nil, projectid=nil)
          @FunctionId = functionid
          @ClusterIdentifier = clusteridentifier
          @Comment = comment
          @ProjectId = projectid
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @ClusterIdentifier = params['ClusterIdentifier']
          @Comment = params['Comment']
          @ProjectId = params['ProjectId']
        end
      end

      # SubmitCustomFunction返回参数结构体
      class SubmitCustomFunctionResponse < TencentCloud::Common::AbstractModel
        # @param FunctionId: 函数唯一标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FunctionId: String
        # @param ErrorMessage: 错误提示
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorMessage: String
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :FunctionId, :ErrorMessage, :RequestId

        def initialize(functionid=nil, errormessage=nil, requestid=nil)
          @FunctionId = functionid
          @ErrorMessage = errormessage
          @RequestId = requestid
        end

        def deserialize(params)
          @FunctionId = params['FunctionId']
          @ErrorMessage = params['ErrorMessage']
          @RequestId = params['RequestId']
        end
      end

      # SubmitSqlTask请求参数结构体
      class SubmitSqlTaskRequest < TencentCloud::Common::AbstractModel
        # @param DatabaseType: 数据库类型
        # @type DatabaseType: String
        # @param DatasourceId: 数据源Id
        # @type DatasourceId: Integer
        # @param GroupId: 资源组Id
        # @type GroupId: String
        # @param ScriptId: 脚本文件id
        # @type ScriptId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param DatabaseName: 数据库名称
        # @type DatabaseName: String
        # @param EngineId: 执行引擎实例ID
        # @type EngineId: String
        # @param ScriptContent: 脚本内容
        # @type ScriptContent: String
        # @param ResourceQueue: 资源队列
        # @type ResourceQueue: String
        # @param DatasourceType: 数据库类型
        # @type DatasourceType: String
        # @param ComputeResource: 计算资源名称
        # @type ComputeResource: String
        # @param RunParams: 高级运行参数
        # @type RunParams: String
        # @param ConfParams: 高级设置
        # @type ConfParams: String
        # @param ScriptEncryption: 脚本内容是否base64加密
        # @type ScriptEncryption: Boolean

        attr_accessor :DatabaseType, :DatasourceId, :GroupId, :ScriptId, :ProjectId, :DatabaseName, :EngineId, :ScriptContent, :ResourceQueue, :DatasourceType, :ComputeResource, :RunParams, :ConfParams, :ScriptEncryption

        def initialize(databasetype=nil, datasourceid=nil, groupid=nil, scriptid=nil, projectid=nil, databasename=nil, engineid=nil, scriptcontent=nil, resourcequeue=nil, datasourcetype=nil, computeresource=nil, runparams=nil, confparams=nil, scriptencryption=nil)
          @DatabaseType = databasetype
          @DatasourceId = datasourceid
          @GroupId = groupid
          @ScriptId = scriptid
          @ProjectId = projectid
          @DatabaseName = databasename
          @EngineId = engineid
          @ScriptContent = scriptcontent
          @ResourceQueue = resourcequeue
          @DatasourceType = datasourcetype
          @ComputeResource = computeresource
          @RunParams = runparams
          @ConfParams = confparams
          @ScriptEncryption = scriptencryption
        end

        def deserialize(params)
          @DatabaseType = params['DatabaseType']
          @DatasourceId = params['DatasourceId']
          @GroupId = params['GroupId']
          @ScriptId = params['ScriptId']
          @ProjectId = params['ProjectId']
          @DatabaseName = params['DatabaseName']
          @EngineId = params['EngineId']
          @ScriptContent = params['ScriptContent']
          @ResourceQueue = params['ResourceQueue']
          @DatasourceType = params['DatasourceType']
          @ComputeResource = params['ComputeResource']
          @RunParams = params['RunParams']
          @ConfParams = params['ConfParams']
          @ScriptEncryption = params['ScriptEncryption']
        end
      end

      # SubmitSqlTask返回参数结构体
      class SubmitSqlTaskResponse < TencentCloud::Common::AbstractModel
        # @param Record: 任务提交记录
        # @type Record: :class:`Tencentcloud::Wedata.v20210820.models.AdhocRecord`
        # @param Details: 子任务记录列表
        # @type Details: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Record, :Details, :RequestId

        def initialize(record=nil, details=nil, requestid=nil)
          @Record = record
          @Details = details
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Record'].nil?
            @Record = AdhocRecord.new
            @Record.deserialize(params['Record'])
          end
          unless params['Details'].nil?
            @Details = []
            params['Details'].each do |i|
              adhocdetail_tmp = AdhocDetail.new
              adhocdetail_tmp.deserialize(i)
              @Details << adhocdetail_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # SubmitTask请求参数结构体
      class SubmitTaskRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param VersionRemark: 版本备注
        # @type VersionRemark: String
        # @param StartScheduling: 是否启动调度
        # @type StartScheduling: Boolean

        attr_accessor :ProjectId, :TaskId, :VersionRemark, :StartScheduling

        def initialize(projectid=nil, taskid=nil, versionremark=nil, startscheduling=nil)
          @ProjectId = projectid
          @TaskId = taskid
          @VersionRemark = versionremark
          @StartScheduling = startscheduling
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @TaskId = params['TaskId']
          @VersionRemark = params['VersionRemark']
          @StartScheduling = params['StartScheduling']
        end
      end

      # SubmitTask返回参数结构体
      class SubmitTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 成功或者失败
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # SubmitTaskTestRun请求参数结构体
      class SubmitTaskTestRunRequest < TencentCloud::Common::AbstractModel
        # @param TaskIds: taskId列表
        # @type TaskIds: String
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkFlowId: 工作流id
        # @type WorkFlowId: String
        # @param Name: 工作流名称
        # @type Name: String
        # @param Tasks: 工作流任务列表
        # @type Tasks: Array
        # @param Description: 备注
        # @type Description: String
        # @param RunParams: 运行参数,map的Json形式
        # @type RunParams: String
        # @param ScriptContent: 脚本内容
        # @type ScriptContent: String
        # @param VersionId: 版本号
        # @type VersionId: String

        attr_accessor :TaskIds, :ProjectId, :WorkFlowId, :Name, :Tasks, :Description, :RunParams, :ScriptContent, :VersionId

        def initialize(taskids=nil, projectid=nil, workflowid=nil, name=nil, tasks=nil, description=nil, runparams=nil, scriptcontent=nil, versionid=nil)
          @TaskIds = taskids
          @ProjectId = projectid
          @WorkFlowId = workflowid
          @Name = name
          @Tasks = tasks
          @Description = description
          @RunParams = runparams
          @ScriptContent = scriptcontent
          @VersionId = versionid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @ProjectId = params['ProjectId']
          @WorkFlowId = params['WorkFlowId']
          @Name = params['Name']
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              stagecloudapirequest_tmp = StageCloudApiRequest.new
              stagecloudapirequest_tmp.deserialize(i)
              @Tasks << stagecloudapirequest_tmp
            end
          end
          @Description = params['Description']
          @RunParams = params['RunParams']
          @ScriptContent = params['ScriptContent']
          @VersionId = params['VersionId']
        end
      end

      # SubmitTaskTestRun返回参数结构体
      class SubmitTaskTestRunResponse < TencentCloud::Common::AbstractModel
        # @param JobId: 提交运行jobid
        # @type JobId: Integer
        # @param RecordId: 运行记录id
        # @type RecordId: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :JobId, :RecordId, :RequestId

        def initialize(jobid=nil, recordid=nil, requestid=nil)
          @JobId = jobid
          @RecordId = recordid
          @RequestId = requestid
        end

        def deserialize(params)
          @JobId = params['JobId']
          @RecordId = params['RecordId']
          @RequestId = params['RequestId']
        end
      end

      # 提交工作流实体
      class SubmitWorkflow < TencentCloud::Common::AbstractModel
        # @param TaskIds: 被提交的任务id集合
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskIds: Array
        # @param Result: 执行结果
        # @type Result: Boolean
        # @param ErrorDesc: 执行情况备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorDesc: String
        # @param ErrorId: 执行情况id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ErrorId: String

        attr_accessor :TaskIds, :Result, :ErrorDesc, :ErrorId

        def initialize(taskids=nil, result=nil, errordesc=nil, errorid=nil)
          @TaskIds = taskids
          @Result = result
          @ErrorDesc = errordesc
          @ErrorId = errorid
        end

        def deserialize(params)
          @TaskIds = params['TaskIds']
          @Result = params['Result']
          @ErrorDesc = params['ErrorDesc']
          @ErrorId = params['ErrorId']
        end
      end

      # SubmitWorkflow请求参数结构体
      class SubmitWorkflowRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param VersionRemark: 提交的版本备注
        # @type VersionRemark: String
        # @param StartScheduling: 是否启动调度
        # @type StartScheduling: Boolean

        attr_accessor :ProjectId, :WorkflowId, :VersionRemark, :StartScheduling

        def initialize(projectid=nil, workflowid=nil, versionremark=nil, startscheduling=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @VersionRemark = versionremark
          @StartScheduling = startscheduling
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @VersionRemark = params['VersionRemark']
          @StartScheduling = params['StartScheduling']
        end
      end

      # SubmitWorkflow返回参数结构体
      class SubmitWorkflowResponse < TencentCloud::Common::AbstractModel
        # @param Data: 执行结果
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.SubmitWorkflow`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = SubmitWorkflow.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # 订阅接收人
      class SubscribeReceiver < TencentCloud::Common::AbstractModel
        # @param ReceiverUserId: 接收人Uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReceiverUserId: Integer
        # @param ReceiverName: 接收人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReceiverName: String
        # @param ReceiverUserIdStr: 接收人Uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReceiverUserIdStr: String

        attr_accessor :ReceiverUserId, :ReceiverName, :ReceiverUserIdStr

        def initialize(receiveruserid=nil, receivername=nil, receiveruseridstr=nil)
          @ReceiverUserId = receiveruserid
          @ReceiverName = receivername
          @ReceiverUserIdStr = receiveruseridstr
        end

        def deserialize(params)
          @ReceiverUserId = params['ReceiverUserId']
          @ReceiverName = params['ReceiverName']
          @ReceiverUserIdStr = params['ReceiverUserIdStr']
        end
      end

      # 群机器人订阅配置
      class SubscribeWebHook < TencentCloud::Common::AbstractModel
        # @param HookType: 群机器人类型,当前支持飞书
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HookType: String
        # @param HookAddress: 群机器人webhook地址,配置方式参考https://cloud.tencent.com/document/product/1254/70736
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HookAddress: String

        attr_accessor :HookType, :HookAddress

        def initialize(hooktype=nil, hookaddress=nil)
          @HookType = hooktype
          @HookAddress = hookaddress
        end

        def deserialize(params)
          @HookType = params['HookType']
          @HookAddress = params['HookAddress']
        end
      end

      # SuspendIntegrationTask请求参数结构体
      class SuspendIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Event: 事件类型(START, STOP, SUSPEND, SUSPEND_WITHOUT_SP,RESUME, COMMIT, TIMESTAMP)
        # @type Event: String

        attr_accessor :TaskId, :ProjectId, :Event

        def initialize(taskid=nil, projectid=nil, event=nil)
          @TaskId = taskid
          @ProjectId = projectid
          @Event = event
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
          @Event = params['Event']
        end
      end

      # SuspendIntegrationTask返回参数结构体
      class SuspendIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # Table
      class Table < TencentCloud::Common::AbstractModel
        # @param Column: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Column: Array
        # @param Data: 1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: Array

        attr_accessor :Column, :Data

        def initialize(column=nil, data=nil)
          @Column = column
          @Data = data
        end

        def deserialize(params)
          unless params['Column'].nil?
            @Column = []
            params['Column'].each do |i|
              columnitem_tmp = ColumnItem.new
              columnitem_tmp.deserialize(i)
              @Column << columnitem_tmp
            end
          end
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              columndata_tmp = ColumnData.new
              columndata_tmp.deserialize(i)
              @Data << columndata_tmp
            end
          end
        end
      end

      # 建dlc表所需信息
      class TableBaseInfo < TencentCloud::Common::AbstractModel
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param DatasourceConnectionName: 数据表所属数据源名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceConnectionName: String
        # @param TableComment: 表备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableComment: String
        # @param Type: 类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param TableFormat: 数据格式类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableFormat: String
        # @param UserAlias: 用户昵称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserAlias: String
        # @param UserSubUin: 建表用户ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserSubUin: String
        # @param GovernPolicy: 数据治理配置项
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type GovernPolicy: :class:`Tencentcloud::Wedata.v20210820.models.DlcDataGovernPolicy`
        # @param DbGovernPolicyIsDisable: 库数据治理是否关闭,关闭:true,开启:false
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DbGovernPolicyIsDisable: String

        attr_accessor :DatabaseName, :TableName, :DatasourceConnectionName, :TableComment, :Type, :TableFormat, :UserAlias, :UserSubUin, :GovernPolicy, :DbGovernPolicyIsDisable

        def initialize(databasename=nil, tablename=nil, datasourceconnectionname=nil, tablecomment=nil, type=nil, tableformat=nil, useralias=nil, usersubuin=nil, governpolicy=nil, dbgovernpolicyisdisable=nil)
          @DatabaseName = databasename
          @TableName = tablename
          @DatasourceConnectionName = datasourceconnectionname
          @TableComment = tablecomment
          @Type = type
          @TableFormat = tableformat
          @UserAlias = useralias
          @UserSubUin = usersubuin
          @GovernPolicy = governpolicy
          @DbGovernPolicyIsDisable = dbgovernpolicyisdisable
        end

        def deserialize(params)
          @DatabaseName = params['DatabaseName']
          @TableName = params['TableName']
          @DatasourceConnectionName = params['DatasourceConnectionName']
          @TableComment = params['TableComment']
          @Type = params['Type']
          @TableFormat = params['TableFormat']
          @UserAlias = params['UserAlias']
          @UserSubUin = params['UserSubUin']
          unless params['GovernPolicy'].nil?
            @GovernPolicy = DlcDataGovernPolicy.new
            @GovernPolicy.deserialize(params['GovernPolicy'])
          end
          @DbGovernPolicyIsDisable = params['DbGovernPolicyIsDisable']
        end
      end

      # 表的元数据信息
      class TableBasicInfo < TencentCloud::Common::AbstractModel
        # @param TableId: 表的全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param DatasourceId: 数据源全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param DatasourceName: 数据源名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatabaseId: 数据库ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param EngineType: 引擎/存储类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EngineType: String
        # @param TableType: 表类型,视图,外部表等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableType: String
        # @param ProjectId: 项目Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectName: 所属项目英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param ProjectDisplayName: 所属项目英中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectDisplayName: String
        # @param TableOwnerId: 责任人ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerId: String
        # @param TableOwnerName: 责任人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerName: String
        # @param StorageLocation: 存储位置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageLocation: Integer
        # @param Description: 表描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param IsPartitionTable: 是否分区表,0-全量表 1-分区表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsPartitionTable: Integer
        # @param PartitionColumns: 分区字段list
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionColumns: Array
        # @param StorageFormat: 存储格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageFormat: String
        # @param StorageSize: 存储量,字节数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSize: Integer
        # @param StorageSizeWithUnit: 存储量,单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSizeWithUnit: String
        # @param TotalSizeMb: 累计存储【MB】
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalSizeMb: Integer
        # @param ReplicaCount: 副本数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReplicaCount: Integer
        # @param FileCount: 文件数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileCount: Integer
        # @param PartitionCount: 分区总数(包含hive,iceberg)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionCount: Integer
        # @param PartitionFieldCount: 分区字段数量(包含hive,iceberg)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionFieldCount: Integer
        # @param PartitionExpireDays: 生命周期-分区保留天数【分区保留策略时有效】
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionExpireDays: Integer
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param Location: 存储位置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Location: String

        attr_accessor :TableId, :DatasourceId, :DatasourceName, :DatabaseId, :DatabaseName, :TableName, :EngineType, :TableType, :ProjectId, :ProjectName, :ProjectDisplayName, :TableOwnerId, :TableOwnerName, :StorageLocation, :Description, :IsPartitionTable, :PartitionColumns, :StorageFormat, :StorageSize, :StorageSizeWithUnit, :TotalSizeMb, :ReplicaCount, :FileCount, :PartitionCount, :PartitionFieldCount, :PartitionExpireDays, :CreateTime, :UpdateTime, :Location

        def initialize(tableid=nil, datasourceid=nil, datasourcename=nil, databaseid=nil, databasename=nil, tablename=nil, enginetype=nil, tabletype=nil, projectid=nil, projectname=nil, projectdisplayname=nil, tableownerid=nil, tableownername=nil, storagelocation=nil, description=nil, ispartitiontable=nil, partitioncolumns=nil, storageformat=nil, storagesize=nil, storagesizewithunit=nil, totalsizemb=nil, replicacount=nil, filecount=nil, partitioncount=nil, partitionfieldcount=nil, partitionexpiredays=nil, createtime=nil, updatetime=nil, location=nil)
          @TableId = tableid
          @DatasourceId = datasourceid
          @DatasourceName = datasourcename
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @TableName = tablename
          @EngineType = enginetype
          @TableType = tabletype
          @ProjectId = projectid
          @ProjectName = projectname
          @ProjectDisplayName = projectdisplayname
          @TableOwnerId = tableownerid
          @TableOwnerName = tableownername
          @StorageLocation = storagelocation
          @Description = description
          @IsPartitionTable = ispartitiontable
          @PartitionColumns = partitioncolumns
          @StorageFormat = storageformat
          @StorageSize = storagesize
          @StorageSizeWithUnit = storagesizewithunit
          @TotalSizeMb = totalsizemb
          @ReplicaCount = replicacount
          @FileCount = filecount
          @PartitionCount = partitioncount
          @PartitionFieldCount = partitionfieldcount
          @PartitionExpireDays = partitionexpiredays
          @CreateTime = createtime
          @UpdateTime = updatetime
          @Location = location
        end

        def deserialize(params)
          @TableId = params['TableId']
          @DatasourceId = params['DatasourceId']
          @DatasourceName = params['DatasourceName']
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @TableName = params['TableName']
          @EngineType = params['EngineType']
          @TableType = params['TableType']
          @ProjectId = params['ProjectId']
          @ProjectName = params['ProjectName']
          @ProjectDisplayName = params['ProjectDisplayName']
          @TableOwnerId = params['TableOwnerId']
          @TableOwnerName = params['TableOwnerName']
          @StorageLocation = params['StorageLocation']
          @Description = params['Description']
          @IsPartitionTable = params['IsPartitionTable']
          @PartitionColumns = params['PartitionColumns']
          @StorageFormat = params['StorageFormat']
          @StorageSize = params['StorageSize']
          @StorageSizeWithUnit = params['StorageSizeWithUnit']
          @TotalSizeMb = params['TotalSizeMb']
          @ReplicaCount = params['ReplicaCount']
          @FileCount = params['FileCount']
          @PartitionCount = params['PartitionCount']
          @PartitionFieldCount = params['PartitionFieldCount']
          @PartitionExpireDays = params['PartitionExpireDays']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @Location = params['Location']
        end
      end

      # 规则表变量替换
      class TableConfig < TencentCloud::Common::AbstractModel
        # @param DatabaseId: 数据库Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TableId: 表Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableKey: 表Key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableKey: String
        # @param FieldConfig: 字段变量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FieldConfig: Array

        attr_accessor :DatabaseId, :DatabaseName, :TableId, :TableName, :TableKey, :FieldConfig

        def initialize(databaseid=nil, databasename=nil, tableid=nil, tablename=nil, tablekey=nil, fieldconfig=nil)
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @TableId = tableid
          @TableName = tablename
          @TableKey = tablekey
          @FieldConfig = fieldconfig
        end

        def deserialize(params)
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @TableId = params['TableId']
          @TableName = params['TableName']
          @TableKey = params['TableKey']
          unless params['FieldConfig'].nil?
            @FieldConfig = []
            params['FieldConfig'].each do |i|
              fieldconfig_tmp = FieldConfig.new
              fieldconfig_tmp.deserialize(i)
              @FieldConfig << fieldconfig_tmp
            end
          end
        end
      end

      # 过去七天(不算当天)表的热度值
      class TableHeat < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param DayTime: 统计日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DayTime: String
        # @param Heat: 表热度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Heat: Float
        # @param MaxHeat: 表热度最大值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MaxHeat: Float

        attr_accessor :TableId, :DayTime, :Heat, :MaxHeat

        def initialize(tableid=nil, daytime=nil, heat=nil, maxheat=nil)
          @TableId = tableid
          @DayTime = daytime
          @Heat = heat
          @MaxHeat = maxheat
        end

        def deserialize(params)
          @TableId = params['TableId']
          @DayTime = params['DayTime']
          @Heat = params['Heat']
          @MaxHeat = params['MaxHeat']
        end
      end

      # 元数据表详细信息
      class TableInfo < TencentCloud::Common::AbstractModel
        # @param TableId: 表Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableType: 表类型,view/table
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableType: String
        # @param OriginDatabaseName: 表databaseName
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginDatabaseName: String
        # @param OriginSchemaName: 表schemaName
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OriginSchemaName: String

        attr_accessor :TableId, :TableName, :TableType, :OriginDatabaseName, :OriginSchemaName

        def initialize(tableid=nil, tablename=nil, tabletype=nil, origindatabasename=nil, originschemaname=nil)
          @TableId = tableid
          @TableName = tablename
          @TableType = tabletype
          @OriginDatabaseName = origindatabasename
          @OriginSchemaName = originschemaname
        end

        def deserialize(params)
          @TableId = params['TableId']
          @TableName = params['TableName']
          @TableType = params['TableType']
          @OriginDatabaseName = params['OriginDatabaseName']
          @OriginSchemaName = params['OriginSchemaName']
        end
      end

      # 表血缘详细信息
      class TableLineageBaseInfo < TencentCloud::Common::AbstractModel
        # @param MetastoreType: 元数据类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param PrefixPath: 由中心节点到该节点的路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PrefixPath: String
        # @param ProjectId: 空间id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param DatasourceId: 数据源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param TableId: 表id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param Params: 表血缘参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: Array
        # @param ParentSet: 父节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentSet: String
        # @param ChildSet: 子节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChildSet: String
        # @param ExtParams: 额外参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtParams: Array
        # @param Id: 血缘id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param MetastoreTypeName: 元数据类型名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreTypeName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param QualifiedName: 表全称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualifiedName: String
        # @param DownStreamCount: 血缘下游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DownStreamCount: Integer
        # @param UpStreamCount: 血缘上游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpStreamCount: Integer
        # @param Description: 血缘描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param CreateTime: 血缘创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 血缘更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param Tasks: 修改血缘的任务id列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array

        attr_accessor :MetastoreType, :PrefixPath, :ProjectId, :DatasourceId, :TableId, :Params, :ParentSet, :ChildSet, :ExtParams, :Id, :MetastoreTypeName, :TableName, :QualifiedName, :DownStreamCount, :UpStreamCount, :Description, :CreateTime, :ModifyTime, :Tasks

        def initialize(metastoretype=nil, prefixpath=nil, projectid=nil, datasourceid=nil, tableid=nil, params=nil, parentset=nil, childset=nil, extparams=nil, id=nil, metastoretypename=nil, tablename=nil, qualifiedname=nil, downstreamcount=nil, upstreamcount=nil, description=nil, createtime=nil, modifytime=nil, tasks=nil)
          @MetastoreType = metastoretype
          @PrefixPath = prefixpath
          @ProjectId = projectid
          @DatasourceId = datasourceid
          @TableId = tableid
          @Params = params
          @ParentSet = parentset
          @ChildSet = childset
          @ExtParams = extparams
          @Id = id
          @MetastoreTypeName = metastoretypename
          @TableName = tablename
          @QualifiedName = qualifiedname
          @DownStreamCount = downstreamcount
          @UpStreamCount = upstreamcount
          @Description = description
          @CreateTime = createtime
          @ModifyTime = modifytime
          @Tasks = tasks
        end

        def deserialize(params)
          @MetastoreType = params['MetastoreType']
          @PrefixPath = params['PrefixPath']
          @ProjectId = params['ProjectId']
          @DatasourceId = params['DatasourceId']
          @TableId = params['TableId']
          unless params['Params'].nil?
            @Params = []
            params['Params'].each do |i|
              lineageparamrecord_tmp = LineageParamRecord.new
              lineageparamrecord_tmp.deserialize(i)
              @Params << lineageparamrecord_tmp
            end
          end
          @ParentSet = params['ParentSet']
          @ChildSet = params['ChildSet']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtParams << recordfield_tmp
            end
          end
          @Id = params['Id']
          @MetastoreTypeName = params['MetastoreTypeName']
          @TableName = params['TableName']
          @QualifiedName = params['QualifiedName']
          @DownStreamCount = params['DownStreamCount']
          @UpStreamCount = params['UpStreamCount']
          @Description = params['Description']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
          @Tasks = params['Tasks']
        end
      end

      # 表血缘详细信息
      class TableLineageInfo < TencentCloud::Common::AbstractModel
        # @param MetastoreType: 元数据类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param ProjectId: 空间id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param DatasourceId: 数据源id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: String
        # @param TableId: 表id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param Params: 表血缘参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Params: Array
        # @param ParentSet: 父节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ParentSet: String
        # @param ChildSet: 子节点列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChildSet: String
        # @param ExtParams: 额外参数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtParams: Array
        # @param Id: 血缘id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param MetastoreTypeName: 元数据类型名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreTypeName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param QualifiedName: 表全称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QualifiedName: String
        # @param DownStreamCount: 血缘下游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DownStreamCount: Integer
        # @param UpStreamCount: 血缘上游节点数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpStreamCount: Integer
        # @param Description: 血缘描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param PrefixPath: 由中心节点到该节点的路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PrefixPath: String
        # @param CreateTime: 血缘创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 血缘更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param Tasks: 修改血缘的任务id列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array
        # @param ChannelType: 模块/应用类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChannelType: String
        # @param DisplayType: 展示类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DisplayType: String
        # @param EngineType: 表类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EngineType: String
        # @param TableType: 表类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableType: String
        # @param DatasourceName: datasourceName
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatabaseName: DatabaseName
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param DatabaseId: DatabaseId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String

        attr_accessor :MetastoreType, :ProjectId, :DatasourceId, :TableId, :Params, :ParentSet, :ChildSet, :ExtParams, :Id, :MetastoreTypeName, :TableName, :QualifiedName, :DownStreamCount, :UpStreamCount, :Description, :PrefixPath, :CreateTime, :ModifyTime, :Tasks, :ChannelType, :DisplayType, :EngineType, :TableType, :DatasourceName, :DatabaseName, :DatabaseId

        def initialize(metastoretype=nil, projectid=nil, datasourceid=nil, tableid=nil, params=nil, parentset=nil, childset=nil, extparams=nil, id=nil, metastoretypename=nil, tablename=nil, qualifiedname=nil, downstreamcount=nil, upstreamcount=nil, description=nil, prefixpath=nil, createtime=nil, modifytime=nil, tasks=nil, channeltype=nil, displaytype=nil, enginetype=nil, tabletype=nil, datasourcename=nil, databasename=nil, databaseid=nil)
          @MetastoreType = metastoretype
          @ProjectId = projectid
          @DatasourceId = datasourceid
          @TableId = tableid
          @Params = params
          @ParentSet = parentset
          @ChildSet = childset
          @ExtParams = extparams
          @Id = id
          @MetastoreTypeName = metastoretypename
          @TableName = tablename
          @QualifiedName = qualifiedname
          @DownStreamCount = downstreamcount
          @UpStreamCount = upstreamcount
          @Description = description
          @PrefixPath = prefixpath
          @CreateTime = createtime
          @ModifyTime = modifytime
          @Tasks = tasks
          @ChannelType = channeltype
          @DisplayType = displaytype
          @EngineType = enginetype
          @TableType = tabletype
          @DatasourceName = datasourcename
          @DatabaseName = databasename
          @DatabaseId = databaseid
        end

        def deserialize(params)
          @MetastoreType = params['MetastoreType']
          @ProjectId = params['ProjectId']
          @DatasourceId = params['DatasourceId']
          @TableId = params['TableId']
          unless params['Params'].nil?
            @Params = []
            params['Params'].each do |i|
              lineageparamrecord_tmp = LineageParamRecord.new
              lineageparamrecord_tmp.deserialize(i)
              @Params << lineageparamrecord_tmp
            end
          end
          @ParentSet = params['ParentSet']
          @ChildSet = params['ChildSet']
          unless params['ExtParams'].nil?
            @ExtParams = []
            params['ExtParams'].each do |i|
              recordfield_tmp = RecordField.new
              recordfield_tmp.deserialize(i)
              @ExtParams << recordfield_tmp
            end
          end
          @Id = params['Id']
          @MetastoreTypeName = params['MetastoreTypeName']
          @TableName = params['TableName']
          @QualifiedName = params['QualifiedName']
          @DownStreamCount = params['DownStreamCount']
          @UpStreamCount = params['UpStreamCount']
          @Description = params['Description']
          @PrefixPath = params['PrefixPath']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
          @Tasks = params['Tasks']
          @ChannelType = params['ChannelType']
          @DisplayType = params['DisplayType']
          @EngineType = params['EngineType']
          @TableType = params['TableType']
          @DatasourceName = params['DatasourceName']
          @DatabaseName = params['DatabaseName']
          @DatabaseId = params['DatabaseId']
        end
      end

      # 表的元数据信息
      class TableMeta < TencentCloud::Common::AbstractModel
        # @param TableId: 表的全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableOwnerName: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerName: String
        # @param DatasourceId: 数据源全局唯一ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceId: Integer
        # @param ClusterName: 所属集群名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterName: String
        # @param DatasourceName: 数据源名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceName: String
        # @param DatabaseName: 数据库名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TablePath: 表路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TablePath: String
        # @param TableNameCn: 表中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableNameCn: String
        # @param MetastoreId: 元数据租户ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreId: Integer
        # @param MetastoreType: 技术类型,可用值:HIVE,MYSQL,KAFKA, HBASE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MetastoreType: String
        # @param Description: 表描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param ColumnSeparator: 列分隔符
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ColumnSeparator: String
        # @param StorageFormat: 存储格式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageFormat: String
        # @param StorageSize: 存储量,字节数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSize: Integer
        # @param TableType: 表类型,如hive MANAGED_TABLE;EXTERNAL_TABLE
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableType: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 最近数据变更时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param DdlModifyTime: 最近DDL变更时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DdlModifyTime: String
        # @param LastAccessTime: 数据最后访问时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastAccessTime: String
        # @param ProjectName: 所属项目英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param BizCatalogIds: 所属数据目录id(可能多个)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BizCatalogIds: Array
        # @param BizCatalogNames: 所属数据目录(可能多个)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BizCatalogNames: Array
        # @param HasFavorite: true已收藏/false表示未收藏状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HasFavorite: Boolean
        # @param LifeCycleTime: 生命周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LifeCycleTime: Integer
        # @param StorageSizeWithUnit: 存储量,已转为适合的单位展示
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StorageSizeWithUnit: String
        # @param InstanceId: 数据源引擎的实例ID:如EMR集群实例ID/数据源实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceId: String
        # @param TechnologyType: 数据来源技术类型:HIVE/MYSQL/HBASE/KAFKA等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TechnologyType: String
        # @param TableNameEn: 表英文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableNameEn: String
        # @param ProjectId: 项目Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param Partitions: Kafka Topic 分区数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Partitions: String
        # @param ReplicationFactor: Kafka Topic 副本数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ReplicationFactor: String
        # @param ProjectDisplayName: 所属项目英中文名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectDisplayName: String
        # @param DataModifyTime: 数据最后修改时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataModifyTime: String
        # @param ClusterId: 集群ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterId: String
        # @param HasAdminAuthority: 当前用户是否有管理员权限
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HasAdminAuthority: Boolean
        # @param DatasourceDisplayName: 数据源展示名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatasourceDisplayName: String
        # @param DatabaseId: 数据库ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param FavoriteCount: 租户下对表的收藏总次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FavoriteCount: Integer
        # @param LikeCount: 租户下对表的点赞总次数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LikeCount: Integer
        # @param HasLike: true已点赞/false表示未点赞状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type HasLike: Boolean
        # @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: String
        # @param TableOwnerId: 表负责人ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableOwnerId: String
        # @param DataSourceCategory: 系统源-CLUSTER, DB-自定义源
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataSourceCategory: String
        # @param Columns: 表字段信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Columns: Array
        # @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: String
        # @param IsView: 是否视图
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsView: Boolean
        # @param Location: 存储位置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Location: String
        # @param IsPartitionTable: 判断是否是分区表1 是 0否
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type IsPartitionTable: Integer
        # @param PartitionColumns: 分区字段 key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionColumns: Array
        # @param PartitionExpireDays: 生命周期-分区保留天数【分区保留策略时有效】
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PartitionExpireDays: Integer
        # @param TableProperties: 表附属信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableProperties: Array
        # @param Environment: 环境,取值 prod或者 dev
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Environment: String
        # @param Schema: 数据库模式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Schema: String

        attr_accessor :TableId, :TableName, :TableOwnerName, :DatasourceId, :ClusterName, :DatasourceName, :DatabaseName, :TablePath, :TableNameCn, :MetastoreId, :MetastoreType, :Description, :ColumnSeparator, :StorageFormat, :StorageSize, :TableType, :CreateTime, :ModifyTime, :DdlModifyTime, :LastAccessTime, :ProjectName, :BizCatalogIds, :BizCatalogNames, :HasFavorite, :LifeCycleTime, :StorageSizeWithUnit, :InstanceId, :TechnologyType, :TableNameEn, :ProjectId, :Partitions, :ReplicationFactor, :ProjectDisplayName, :DataModifyTime, :ClusterId, :HasAdminAuthority, :DatasourceDisplayName, :DatabaseId, :FavoriteCount, :LikeCount, :HasLike, :TablePropertyScore, :TableHeat, :OwnerProjectId, :TableOwnerId, :DataSourceCategory, :Columns, :MetaCrawlType, :IsView, :Location, :IsPartitionTable, :PartitionColumns, :PartitionExpireDays, :TableProperties, :Environment, :Schema

        def initialize(tableid=nil, tablename=nil, tableownername=nil, datasourceid=nil, clustername=nil, datasourcename=nil, databasename=nil, tablepath=nil, tablenamecn=nil, metastoreid=nil, metastoretype=nil, description=nil, columnseparator=nil, storageformat=nil, storagesize=nil, tabletype=nil, createtime=nil, modifytime=nil, ddlmodifytime=nil, lastaccesstime=nil, projectname=nil, bizcatalogids=nil, bizcatalognames=nil, hasfavorite=nil, lifecycletime=nil, storagesizewithunit=nil, instanceid=nil, technologytype=nil, tablenameen=nil, projectid=nil, partitions=nil, replicationfactor=nil, projectdisplayname=nil, datamodifytime=nil, clusterid=nil, hasadminauthority=nil, datasourcedisplayname=nil, databaseid=nil, favoritecount=nil, likecount=nil, haslike=nil, tablepropertyscore=nil, tableheat=nil, ownerprojectid=nil, tableownerid=nil, datasourcecategory=nil, columns=nil, metacrawltype=nil, isview=nil, location=nil, ispartitiontable=nil, partitioncolumns=nil, partitionexpiredays=nil, tableproperties=nil, environment=nil, schema=nil)
          @TableId = tableid
          @TableName = tablename
          @TableOwnerName = tableownername
          @DatasourceId = datasourceid
          @ClusterName = clustername
          @DatasourceName = datasourcename
          @DatabaseName = databasename
          @TablePath = tablepath
          @TableNameCn = tablenamecn
          @MetastoreId = metastoreid
          @MetastoreType = metastoretype
          @Description = description
          @ColumnSeparator = columnseparator
          @StorageFormat = storageformat
          @StorageSize = storagesize
          @TableType = tabletype
          @CreateTime = createtime
          @ModifyTime = modifytime
          @DdlModifyTime = ddlmodifytime
          @LastAccessTime = lastaccesstime
          @ProjectName = projectname
          @BizCatalogIds = bizcatalogids
          @BizCatalogNames = bizcatalognames
          @HasFavorite = hasfavorite
          @LifeCycleTime = lifecycletime
          @StorageSizeWithUnit = storagesizewithunit
          @InstanceId = instanceid
          @TechnologyType = technologytype
          @TableNameEn = tablenameen
          @ProjectId = projectid
          @Partitions = partitions
          @ReplicationFactor = replicationfactor
          @ProjectDisplayName = projectdisplayname
          @DataModifyTime = datamodifytime
          @ClusterId = clusterid
          @HasAdminAuthority = hasadminauthority
          @DatasourceDisplayName = datasourcedisplayname
          @DatabaseId = databaseid
          @FavoriteCount = favoritecount
          @LikeCount = likecount
          @HasLike = haslike
          @TablePropertyScore = tablepropertyscore
          @TableHeat = tableheat
          @OwnerProjectId = ownerprojectid
          @TableOwnerId = tableownerid
          @DataSourceCategory = datasourcecategory
          @Columns = columns
          @MetaCrawlType = metacrawltype
          @IsView = isview
          @Location = location
          @IsPartitionTable = ispartitiontable
          @PartitionColumns = partitioncolumns
          @PartitionExpireDays = partitionexpiredays
          @TableProperties = tableproperties
          @Environment = environment
          @Schema = schema
        end

        def deserialize(params)
          @TableId = params['TableId']
          @TableName = params['TableName']
          @TableOwnerName = params['TableOwnerName']
          @DatasourceId = params['DatasourceId']
          @ClusterName = params['ClusterName']
          @DatasourceName = params['DatasourceName']
          @DatabaseName = params['DatabaseName']
          @TablePath = params['TablePath']
          @TableNameCn = params['TableNameCn']
          @MetastoreId = params['MetastoreId']
          @MetastoreType = params['MetastoreType']
          @Description = params['Description']
          @ColumnSeparator = params['ColumnSeparator']
          @StorageFormat = params['StorageFormat']
          @StorageSize = params['StorageSize']
          @TableType = params['TableType']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
          @DdlModifyTime = params['DdlModifyTime']
          @LastAccessTime = params['LastAccessTime']
          @ProjectName = params['ProjectName']
          @BizCatalogIds = params['BizCatalogIds']
          @BizCatalogNames = params['BizCatalogNames']
          @HasFavorite = params['HasFavorite']
          @LifeCycleTime = params['LifeCycleTime']
          @StorageSizeWithUnit = params['StorageSizeWithUnit']
          @InstanceId = params['InstanceId']
          @TechnologyType = params['TechnologyType']
          @TableNameEn = params['TableNameEn']
          @ProjectId = params['ProjectId']
          @Partitions = params['Partitions']
          @ReplicationFactor = params['ReplicationFactor']
          @ProjectDisplayName = params['ProjectDisplayName']
          @DataModifyTime = params['DataModifyTime']
          @ClusterId = params['ClusterId']
          @HasAdminAuthority = params['HasAdminAuthority']
          @DatasourceDisplayName = params['DatasourceDisplayName']
          @DatabaseId = params['DatabaseId']
          @FavoriteCount = params['FavoriteCount']
          @LikeCount = params['LikeCount']
          @HasLike = params['HasLike']
          unless params['TablePropertyScore'].nil?
            @TablePropertyScore = TablePropertyScore.new
            @TablePropertyScore.deserialize(params['TablePropertyScore'])
          end
          unless params['TableHeat'].nil?
            @TableHeat = TableHeat.new
            @TableHeat.deserialize(params['TableHeat'])
          end
          @OwnerProjectId = params['OwnerProjectId']
          @TableOwnerId = params['TableOwnerId']
          @DataSourceCategory = params['DataSourceCategory']
          unless params['Columns'].nil?
            @Columns = []
            params['Columns'].each do |i|
              searchcolumndocvo_tmp = SearchColumnDocVO.new
              searchcolumndocvo_tmp.deserialize(i)
              @Columns << searchcolumndocvo_tmp
            end
          end
          @MetaCrawlType = params['MetaCrawlType']
          @IsView = params['IsView']
          @Location = params['Location']
          @IsPartitionTable = params['IsPartitionTable']
          @PartitionColumns = params['PartitionColumns']
          @PartitionExpireDays = params['PartitionExpireDays']
          unless params['TableProperties'].nil?
            @TableProperties = []
            params['TableProperties'].each do |i|
              tablemetaproperty_tmp = TableMetaProperty.new
              tablemetaproperty_tmp.deserialize(i)
              @TableProperties << tablemetaproperty_tmp
            end
          end
          @Environment = params['Environment']
          @Schema = params['Schema']
        end
      end

      # 表附加信息
      class TableMetaProperty < TencentCloud::Common::AbstractModel
        # @param Key: 属性的key
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Key: String
        # @param Value: 属性的值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 按表名查询的查询条件
      class TableNameFilter < TencentCloud::Common::AbstractModel
        # @param MsType: 数据源类型
        # @type MsType: String
        # @param DatasourceId: 数据源id
        # @type DatasourceId: Integer
        # @param DatabaseName: 数据库名称
        # @type DatabaseName: String
        # @param SchemaName: schema
        # @type SchemaName: String
        # @param Name: 表名
        # @type Name: String

        attr_accessor :MsType, :DatasourceId, :DatabaseName, :SchemaName, :Name

        def initialize(mstype=nil, datasourceid=nil, databasename=nil, schemaname=nil, name=nil)
          @MsType = mstype
          @DatasourceId = datasourceid
          @DatabaseName = databasename
          @SchemaName = schemaname
          @Name = name
        end

        def deserialize(params)
          @MsType = params['MsType']
          @DatasourceId = params['DatasourceId']
          @DatabaseName = params['DatabaseName']
          @SchemaName = params['SchemaName']
          @Name = params['Name']
        end
      end

      # 表的分区数据
      class TablePartition < TencentCloud::Common::AbstractModel
        # @param PartitionName: 分区名称
        # @type PartitionName: String
        # @param RecordCount: 分区记录数
        # @type RecordCount: Integer
        # @param StorageSize: 分区数据存储大小,字节数
        # @type StorageSize: String
        # @param CreateTime: 分区创建时间
        # @type CreateTime: String
        # @param ModifiedTime: 分区修改时间
        # @type ModifiedTime: String
        # @param StorageSizeWithUnit: 分区数据存储大小,已转为适合的单位
        # @type StorageSizeWithUnit: String
        # @param NumFiles: 文件数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NumFiles: Integer
        # @param AverageFileSizeWithUnit: 平均文件大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AverageFileSizeWithUnit: String

        attr_accessor :PartitionName, :RecordCount, :StorageSize, :CreateTime, :ModifiedTime, :StorageSizeWithUnit, :NumFiles, :AverageFileSizeWithUnit

        def initialize(partitionname=nil, recordcount=nil, storagesize=nil, createtime=nil, modifiedtime=nil, storagesizewithunit=nil, numfiles=nil, averagefilesizewithunit=nil)
          @PartitionName = partitionname
          @RecordCount = recordcount
          @StorageSize = storagesize
          @CreateTime = createtime
          @ModifiedTime = modifiedtime
          @StorageSizeWithUnit = storagesizewithunit
          @NumFiles = numfiles
          @AverageFileSizeWithUnit = averagefilesizewithunit
        end

        def deserialize(params)
          @PartitionName = params['PartitionName']
          @RecordCount = params['RecordCount']
          @StorageSize = params['StorageSize']
          @CreateTime = params['CreateTime']
          @ModifiedTime = params['ModifiedTime']
          @StorageSizeWithUnit = params['StorageSizeWithUnit']
          @NumFiles = params['NumFiles']
          @AverageFileSizeWithUnit = params['AverageFileSizeWithUnit']
        end
      end

      # 按天更新的表的资产评分
      class TablePropertyScore < TencentCloud::Common::AbstractModel
        # @param TableId: 表ID
        # @type TableId: String
        # @param DayTime: 统计日期
        # @type DayTime: String
        # @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

        attr_accessor :TableId, :DayTime, :Integrity, :Safety, :Timeliness, :Stability, :Normative, :Average

        def initialize(tableid=nil, daytime=nil, integrity=nil, safety=nil, timeliness=nil, stability=nil, normative=nil, average=nil)
          @TableId = tableid
          @DayTime = daytime
          @Integrity = integrity
          @Safety = safety
          @Timeliness = timeliness
          @Stability = stability
          @Normative = normative
          @Average = average
        end

        def deserialize(params)
          @TableId = params['TableId']
          @DayTime = params['DayTime']
          @Integrity = params['Integrity']
          @Safety = params['Safety']
          @Timeliness = params['Timeliness']
          @Stability = params['Stability']
          @Normative = params['Normative']
          @Average = params['Average']
        end
      end

      # 表质量详情
      class TableQualityDetail < TencentCloud::Common::AbstractModel
        # @param DatabaseId: 数据库id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseId: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param TableId: 表id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableId: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param OwnerUserId: 表责任人ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserId: Integer
        # @param OwnerUserName: 表责任人名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerUserName: String
        # @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: Integer
        # @param SchemaName: 模式名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String
        # @param RuleGroupTableId: 规则表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RuleGroupTableId: String

        attr_accessor :DatabaseId, :DatabaseName, :TableId, :TableName, :OwnerUserId, :OwnerUserName, :DatabaseScore, :TableScore, :LastPeriodRatio, :DsEnvType, :SchemaName, :RuleGroupTableId

        def initialize(databaseid=nil, databasename=nil, tableid=nil, tablename=nil, owneruserid=nil, ownerusername=nil, databasescore=nil, tablescore=nil, lastperiodratio=nil, dsenvtype=nil, schemaname=nil, rulegrouptableid=nil)
          @DatabaseId = databaseid
          @DatabaseName = databasename
          @TableId = tableid
          @TableName = tablename
          @OwnerUserId = owneruserid
          @OwnerUserName = ownerusername
          @DatabaseScore = databasescore
          @TableScore = tablescore
          @LastPeriodRatio = lastperiodratio
          @DsEnvType = dsenvtype
          @SchemaName = schemaname
          @RuleGroupTableId = rulegrouptableid
        end

        def deserialize(params)
          @DatabaseId = params['DatabaseId']
          @DatabaseName = params['DatabaseName']
          @TableId = params['TableId']
          @TableName = params['TableName']
          @OwnerUserId = params['OwnerUserId']
          @OwnerUserName = params['OwnerUserName']
          @DatabaseScore = params['DatabaseScore']
          @TableScore = params['TableScore']
          @LastPeriodRatio = params['LastPeriodRatio']
          @DsEnvType = params['DsEnvType']
          @SchemaName = params['SchemaName']
          @RuleGroupTableId = params['RuleGroupTableId']
        end
      end

      # 表质量分分页结果
      class TableQualityDetailPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总条数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 表质量列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              tablequalitydetail_tmp = TableQualityDetail.new
              tablequalitydetail_tmp.deserialize(i)
              @Items << tablequalitydetail_tmp
            end
          end
        end
      end

      # 表评分统计信息
      class TableScoreStatisticsInfo < TencentCloud::Common::AbstractModel
        # @param Level: 等级 1、2、3、4、5
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Level: Integer
        # @param Scale: 占比
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Scale: Integer
        # @param TableNumber: 表数量
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableNumber: Integer

        attr_accessor :Level, :Scale, :TableNumber

        def initialize(level=nil, scale=nil, tablenumber=nil)
          @Level = level
          @Scale = scale
          @TableNumber = tablenumber
        end

        def deserialize(params)
          @Level = params['Level']
          @Scale = params['Scale']
          @TableNumber = params['TableNumber']
        end
      end

      # 基于表的标签统计信息
      class TagVoteSum < TencentCloud::Common::AbstractModel
        # @param TagId: 标签id
        # @type TagId: Integer
        # @param VoteSum: 该表该标签投票次数
        # @type VoteSum: Integer
        # @param Status: 当前用户对这张表是否加了该标签 true 已添加 false 未添加
        # @type Status: Boolean
        # @param TagName: 标签名
        # @type TagName: String

        attr_accessor :TagId, :VoteSum, :Status, :TagName

        def initialize(tagid=nil, votesum=nil, status=nil, tagname=nil)
          @TagId = tagid
          @VoteSum = votesum
          @Status = status
          @TagName = tagname
        end

        def deserialize(params)
          @TagId = params['TagId']
          @VoteSum = params['VoteSum']
          @Status = params['Status']
          @TagName = params['TagName']
        end
      end

      # 任务告警信息
      class TaskAlarmInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param RegularName: 规则名称
        # @type RegularName: String
        # @param RegularStatus: 规则状态(0表示关闭,1表示打开)
        # @type RegularStatus: Integer
        # @param AlarmLevel: 告警级别(0表示普通,1表示重要,2表示紧急)
        # @type AlarmLevel: Integer
        # @param AlarmWay: 告警方式,多个用逗号隔开(1:邮件,2:短信,3:微信,4:语音,5:代表企业微信,6:http)
        # @type AlarmWay: String
        # @param TaskType: 任务类型(201表示实时,202表示离线)
        # @type TaskType: Integer
        # @param Id: ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Id: String
        # @param RegularId: 规则ID
        # @type RegularId: String
        # @param AlarmIndicator: 告警指标,0表示任务失败,1表示任务运行超时,2表示任务停止,3表示任务暂停
        # ,4写入速度,5读取速度,6读取吞吐,7写入吞吐, 8脏数据字节数,9脏数据条数
        # @type AlarmIndicator: Integer
        # @param TriggerType: 指标阈值(1表示离线任务第一次运行失败,2表示离线任务所有重试完成后失败)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TriggerType: Integer
        # @param EstimatedTime: 预计的超时时间(分钟级别)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EstimatedTime: Integer
        # @param AlarmRecipientId: 告警接收人ID,多个用逗号隔开
        # @type AlarmRecipientId: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param Creater: 创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creater: String
        # @param AlarmRecipientName: 告警接收人昵称,多个用逗号隔开
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmRecipientName: String
        # @param AlarmIndicatorDesc: 告警指标描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmIndicatorDesc: String
        # @param Operator: 实时任务告警需要的参数,1是大于2是小于
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: Integer
        # @param NodeId: 节点id,多个逗号分隔
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeId: String
        # @param NodeName: 节点名称,多个逗号分隔
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NodeName: String
        # @param AlarmIndicatorInfos: 指标列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmIndicatorInfos: Array
        # @param AlarmRecipientType: 告警接收人类型,0指定人员;1任务责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type AlarmRecipientType: Integer
        # @param QuietPeriods: 免打扰时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type QuietPeriods: Array
        # @param WeComHook: 企业微信群Hook地址,多个hook地址使用,隔开
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WeComHook: String
        # @param UpdateTime: 最近操作时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param OperatorUin: 最近操作人Uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorUin: String
        # @param TaskCount: 关联任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskCount: Integer
        # @param MonitorType: 监控对象类型,1:所有任务,2:指定任务,3:指定责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorType: Integer
        # @param MonitorObjectIds: 监控对象列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MonitorObjectIds: Array
        # @param LatestAlarmInstanceId: 最近一次告警的实例ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LatestAlarmInstanceId: String
        # @param LatestAlarmTime: 最近一次告警时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LatestAlarmTime: String
        # @param Description: 告警规则描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Description: String
        # @param LarkWebHooks: 飞书群Hook地址,多个hook地址使用,隔开
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LarkWebHooks: String
        # @param DingDingWebHooks: 钉钉群Hook地址,多个hook地址使用,隔开
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DingDingWebHooks: String

        attr_accessor :TaskId, :RegularName, :RegularStatus, :AlarmLevel, :AlarmWay, :TaskType, :Id, :RegularId, :AlarmIndicator, :TriggerType, :EstimatedTime, :AlarmRecipientId, :ProjectId, :Creater, :AlarmRecipientName, :AlarmIndicatorDesc, :Operator, :NodeId, :NodeName, :AlarmIndicatorInfos, :AlarmRecipientType, :QuietPeriods, :WeComHook, :UpdateTime, :OperatorUin, :TaskCount, :MonitorType, :MonitorObjectIds, :LatestAlarmInstanceId, :LatestAlarmTime, :Description, :LarkWebHooks, :DingDingWebHooks

        def initialize(taskid=nil, regularname=nil, regularstatus=nil, alarmlevel=nil, alarmway=nil, tasktype=nil, id=nil, regularid=nil, alarmindicator=nil, triggertype=nil, estimatedtime=nil, alarmrecipientid=nil, projectid=nil, creater=nil, alarmrecipientname=nil, alarmindicatordesc=nil, operator=nil, nodeid=nil, nodename=nil, alarmindicatorinfos=nil, alarmrecipienttype=nil, quietperiods=nil, wecomhook=nil, updatetime=nil, operatoruin=nil, taskcount=nil, monitortype=nil, monitorobjectids=nil, latestalarminstanceid=nil, latestalarmtime=nil, description=nil, larkwebhooks=nil, dingdingwebhooks=nil)
          @TaskId = taskid
          @RegularName = regularname
          @RegularStatus = regularstatus
          @AlarmLevel = alarmlevel
          @AlarmWay = alarmway
          @TaskType = tasktype
          @Id = id
          @RegularId = regularid
          @AlarmIndicator = alarmindicator
          @TriggerType = triggertype
          @EstimatedTime = estimatedtime
          @AlarmRecipientId = alarmrecipientid
          @ProjectId = projectid
          @Creater = creater
          @AlarmRecipientName = alarmrecipientname
          @AlarmIndicatorDesc = alarmindicatordesc
          @Operator = operator
          @NodeId = nodeid
          @NodeName = nodename
          @AlarmIndicatorInfos = alarmindicatorinfos
          @AlarmRecipientType = alarmrecipienttype
          @QuietPeriods = quietperiods
          @WeComHook = wecomhook
          @UpdateTime = updatetime
          @OperatorUin = operatoruin
          @TaskCount = taskcount
          @MonitorType = monitortype
          @MonitorObjectIds = monitorobjectids
          @LatestAlarmInstanceId = latestalarminstanceid
          @LatestAlarmTime = latestalarmtime
          @Description = description
          @LarkWebHooks = larkwebhooks
          @DingDingWebHooks = dingdingwebhooks
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @RegularName = params['RegularName']
          @RegularStatus = params['RegularStatus']
          @AlarmLevel = params['AlarmLevel']
          @AlarmWay = params['AlarmWay']
          @TaskType = params['TaskType']
          @Id = params['Id']
          @RegularId = params['RegularId']
          @AlarmIndicator = params['AlarmIndicator']
          @TriggerType = params['TriggerType']
          @EstimatedTime = params['EstimatedTime']
          @AlarmRecipientId = params['AlarmRecipientId']
          @ProjectId = params['ProjectId']
          @Creater = params['Creater']
          @AlarmRecipientName = params['AlarmRecipientName']
          @AlarmIndicatorDesc = params['AlarmIndicatorDesc']
          @Operator = params['Operator']
          @NodeId = params['NodeId']
          @NodeName = params['NodeName']
          unless params['AlarmIndicatorInfos'].nil?
            @AlarmIndicatorInfos = []
            params['AlarmIndicatorInfos'].each do |i|
              alarmindicatorinfo_tmp = AlarmIndicatorInfo.new
              alarmindicatorinfo_tmp.deserialize(i)
              @AlarmIndicatorInfos << alarmindicatorinfo_tmp
            end
          end
          @AlarmRecipientType = params['AlarmRecipientType']
          unless params['QuietPeriods'].nil?
            @QuietPeriods = []
            params['QuietPeriods'].each do |i|
              quietperiod_tmp = QuietPeriod.new
              quietperiod_tmp.deserialize(i)
              @QuietPeriods << quietperiod_tmp
            end
          end
          @WeComHook = params['WeComHook']
          @UpdateTime = params['UpdateTime']
          @OperatorUin = params['OperatorUin']
          @TaskCount = params['TaskCount']
          @MonitorType = params['MonitorType']
          @MonitorObjectIds = params['MonitorObjectIds']
          @LatestAlarmInstanceId = params['LatestAlarmInstanceId']
          @LatestAlarmTime = params['LatestAlarmTime']
          @Description = params['Description']
          @LarkWebHooks = params['LarkWebHooks']
          @DingDingWebHooks = params['DingDingWebHooks']
        end
      end

      # 周期单位统计
      class TaskByCycle < TencentCloud::Common::AbstractModel
        # @param Number: num
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Number: Integer
        # @param CycleUnit: 周期单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String

        attr_accessor :Number, :CycleUnit, :ProjectId

        def initialize(number=nil, cycleunit=nil, projectid=nil)
          @Number = number
          @CycleUnit = cycleunit
          @ProjectId = projectid
        end

        def deserialize(params)
          @Number = params['Number']
          @CycleUnit = params['CycleUnit']
          @ProjectId = params['ProjectId']
        end
      end

      # 状态趋势统计
      class TaskByStatus < TencentCloud::Common::AbstractModel
        # @param CountGroup: 统计值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CountGroup: String
        # @param ShowTimeGroup: 日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ShowTimeGroup: String
        # @param Status: 状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param CycleUnit: 周期单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param ReportTime: 1
        # @type ReportTime: String
        # @param Count: 1
        # @type Count: Integer

        attr_accessor :CountGroup, :ShowTimeGroup, :Status, :CycleUnit, :ReportTime, :Count

        def initialize(countgroup=nil, showtimegroup=nil, status=nil, cycleunit=nil, reporttime=nil, count=nil)
          @CountGroup = countgroup
          @ShowTimeGroup = showtimegroup
          @Status = status
          @CycleUnit = cycleunit
          @ReportTime = reporttime
          @Count = count
        end

        def deserialize(params)
          @CountGroup = params['CountGroup']
          @ShowTimeGroup = params['ShowTimeGroup']
          @Status = params['Status']
          @CycleUnit = params['CycleUnit']
          @ReportTime = params['ReportTime']
          @Count = params['Count']
        end
      end

      # 任务扩展信息
      class TaskExtInfo < TencentCloud::Common::AbstractModel
        # @param Key: 键
        # @type Key: String
        # @param Value: 值
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 任务属性
      class TaskInnerInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # @type TaskId: String
        # @param TaskName: 任务名
        # @type TaskName: String
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param CycleType: 周期类型  0:crontab类型, 1:分钟,2:小时,3:天,4:周,5:月,6:一次性,7:用户驱动,10:弹性周期 周,11:弹性周期 月,12:年,13:即时触发Instant类型,与正常周期调度任务逻辑隔离
        # @type CycleType: Integer
        # @param VirtualTaskId: 虚拟任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualTaskId: String
        # @param VirtualFlag: 虚拟任务标记
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualFlag: Boolean
        # @param RealWorkflowId: 真实任务工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RealWorkflowId: String

        attr_accessor :TaskId, :TaskName, :WorkflowId, :CycleType, :VirtualTaskId, :VirtualFlag, :RealWorkflowId

        def initialize(taskid=nil, taskname=nil, workflowid=nil, cycletype=nil, virtualtaskid=nil, virtualflag=nil, realworkflowid=nil)
          @TaskId = taskid
          @TaskName = taskname
          @WorkflowId = workflowid
          @CycleType = cycletype
          @VirtualTaskId = virtualtaskid
          @VirtualFlag = virtualflag
          @RealWorkflowId = realworkflowid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @WorkflowId = params['WorkflowId']
          @CycleType = params['CycleType']
          @VirtualTaskId = params['VirtualTaskId']
          @VirtualFlag = params['VirtualFlag']
          @RealWorkflowId = params['RealWorkflowId']
        end
      end

      # 任务实例状态统计
      class TaskInstanceCountDto < TencentCloud::Common::AbstractModel
        # @param Success: 成功的实例数
        # @type Success: Integer
        # @param Running: 执行中实例数
        # @type Running: Integer
        # @param Waiting: 等待中的实例数
        # @type Waiting: Integer
        # @param Depend: 等待上游实例数
        # @type Depend: Integer
        # @param Failed: 失败实例数
        # @type Failed: Integer
        # @param Stopped: 永久终止实例数
        # @type Stopped: Integer

        attr_accessor :Success, :Running, :Waiting, :Depend, :Failed, :Stopped

        def initialize(success=nil, running=nil, waiting=nil, depend=nil, failed=nil, stopped=nil)
          @Success = success
          @Running = running
          @Waiting = waiting
          @Depend = depend
          @Failed = failed
          @Stopped = stopped
        end

        def deserialize(params)
          @Success = params['Success']
          @Running = params['Running']
          @Waiting = params['Waiting']
          @Depend = params['Depend']
          @Failed = params['Failed']
          @Stopped = params['Stopped']
        end
      end

      # 任务集成信息
      class TaskLineageInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务 ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param TableName: 表名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param TableUri: 表 URI,格式:dsn.name
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableUri: String
        # @param Type: 表方向类型
        #     - 0 - table作为源表
        #     - 1 - table作为目标表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: Integer
        # @param DataSourceId: 数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataSourceId: Integer
        # @param DataSourceType: 数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DataSourceType: String
        # @param DatabaseName: 数据库名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DatabaseName: String
        # @param SchemaName: 模型名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchemaName: String

        attr_accessor :TaskId, :TaskName, :TableName, :TableUri, :Type, :DataSourceId, :DataSourceType, :DatabaseName, :SchemaName

        def initialize(taskid=nil, taskname=nil, tablename=nil, tableuri=nil, type=nil, datasourceid=nil, datasourcetype=nil, databasename=nil, schemaname=nil)
          @TaskId = taskid
          @TaskName = taskname
          @TableName = tablename
          @TableUri = tableuri
          @Type = type
          @DataSourceId = datasourceid
          @DataSourceType = datasourcetype
          @DatabaseName = databasename
          @SchemaName = schemaname
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @TableName = params['TableName']
          @TableUri = params['TableUri']
          @Type = params['Type']
          @DataSourceId = params['DataSourceId']
          @DataSourceType = params['DataSourceType']
          @DatabaseName = params['DatabaseName']
          @SchemaName = params['SchemaName']
        end
      end

      # 任务血缘信息,包括源表和目标表
      class TaskLineageInfoPair < TencentCloud::Common::AbstractModel
        # @param SourceTable: 表血缘-源表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceTable: :class:`Tencentcloud::Wedata.v20210820.models.TaskLineageInfo`
        # @param TargetTable: 表血缘-目标表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetTable: :class:`Tencentcloud::Wedata.v20210820.models.TaskLineageInfo`

        attr_accessor :SourceTable, :TargetTable

        def initialize(sourcetable=nil, targettable=nil)
          @SourceTable = sourcetable
          @TargetTable = targettable
        end

        def deserialize(params)
          unless params['SourceTable'].nil?
            @SourceTable = TaskLineageInfo.new
            @SourceTable.deserialize(params['SourceTable'])
          end
          unless params['TargetTable'].nil?
            @TargetTable = TaskLineageInfo.new
            @TargetTable.deserialize(params['TargetTable'])
          end
        end
      end

      # 任务锁的状态
      class TaskLockStatus < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param Locker: 持锁者
        # @type Locker: String
        # @param IsLocker: 当前操作用户是否为持锁者,1表示为持锁者,0表示为不为持锁者
        # @type IsLocker: Integer
        # @param IsRob: 是否可以抢锁,1表示可以抢锁,0表示不可以抢锁
        # @type IsRob: Integer

        attr_accessor :TaskId, :Locker, :IsLocker, :IsRob

        def initialize(taskid=nil, locker=nil, islocker=nil, isrob=nil)
          @TaskId = taskid
          @Locker = locker
          @IsLocker = islocker
          @IsRob = isrob
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @Locker = params['Locker']
          @IsLocker = params['IsLocker']
          @IsRob = params['IsRob']
        end
      end

      # TaskLog请求参数结构体
      class TaskLogRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param StartTime: 起始时间戳,单位毫秒
        # @type StartTime: Integer
        # @param EndTime: 结束时间戳,单位毫秒
        # @type EndTime: Integer
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param Limit: 拉取日志数量,默认100
        # @type Limit: Integer
        # @param OrderType: 日志排序 desc 倒序 asc 顺序
        # @type OrderType: String
        # @param TaskType: 实时任务 201   离线任务 202  默认实时任务
        # @type TaskType: Integer

        attr_accessor :TaskId, :StartTime, :EndTime, :ProjectId, :Limit, :OrderType, :TaskType

        def initialize(taskid=nil, starttime=nil, endtime=nil, projectid=nil, limit=nil, ordertype=nil, tasktype=nil)
          @TaskId = taskid
          @StartTime = starttime
          @EndTime = endtime
          @ProjectId = projectid
          @Limit = limit
          @OrderType = ordertype
          @TaskType = tasktype
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @ProjectId = params['ProjectId']
          @Limit = params['Limit']
          @OrderType = params['OrderType']
          @TaskType = params['TaskType']
        end
      end

      # TaskLog返回参数结构体
      class TaskLogResponse < TencentCloud::Common::AbstractModel
        # @param LogContentList: 任务详细日志
        # @type LogContentList: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :LogContentList, :RequestId

        def initialize(logcontentlist=nil, requestid=nil)
          @LogContentList = logcontentlist
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['LogContentList'].nil?
            @LogContentList = []
            params['LogContentList'].each do |i|
              logcontent_tmp = LogContent.new
              logcontent_tmp.deserialize(i)
              @LogContentList << logcontent_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # 任务运维详情
      class TaskOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param VirtualTaskId: 虚拟任务id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualTaskId: String
        # @param VirtualFlag: 虚拟任务标记
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualFlag: Boolean
        # @param TaskName: 任务名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param WorkflowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param RealWorkflowId: 任务为虚拟任务时,任务所在的真实工作流Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RealWorkflowId: String
        # @param WorkflowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param FolderId: 文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param FolderName: 文件夹名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderName: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param LastUpdate: 最近更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastUpdate: String
        # @param Status: 任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param InCharge: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String
        # @param InChargeId: 责任人用户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InChargeId: String
        # @param StartTime: 调度生效日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 调度结束日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param ExecutionStartTime: 执行时间左闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionEndTime: String
        # @param CycleType: 周期类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param CycleStep: 步长
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param CrontabExpression: 调度cron表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CrontabExpression: String
        # @param DelayTime: 延时执行时间,unit=分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param StartupTime: 开始执行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartupTime: Integer
        # @param RetryWait: 重试等待时间, unit=分钟
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RetryWait: Integer
        # @param RetryAble: 是否可重试,1 代表可以重试
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RetryAble: Integer
        # @param TaskAction: 调度配置-弹性周期配置,小时/周/月/年调度才有,小时任务指定每天的0点3点4点跑,则为'0,3,4'
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param TryLimit: 运行次数限制
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TryLimit: Integer
        # @param RunPriority: 运行优先级
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RunPriority: Integer
        # @param TaskType: 任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskType: :class:`Tencentcloud::Wedata.v20210820.models.TaskTypeOpsDto`
        # @param BrokerIp: 指定的运行节点
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type BrokerIp: String
        # @param ClusterId: 集群name
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ClusterId: String
        # @param MinDateTime: 最小数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MinDateTime: String
        # @param MaxDateTime: 最大数据时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type MaxDateTime: String
        # @param ExecutionTTL: 运行耗时超时时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionTTL: Integer
        # @param SelfDepend: 自依赖类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SelfDepend: String
        # @param LeftCoordinate: 左侧坐标
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LeftCoordinate: Float
        # @param TopCoordinate: 顶部坐标
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TopCoordinate: Float
        # @param Notes: 任务备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Notes: String
        # @param InstanceInitStrategy: 任务初始化策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceInitStrategy: String
        # @param YarnQueue: 计算队列
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type YarnQueue: String
        # @param LastSchedulerCommitTime: 最新调度提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LastSchedulerCommitTime: String
        # @param NormalizedJobStartTime: 按cron表达式计算的任务开始执行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type NormalizedJobStartTime: String
        # @param SchedulerDesc: 调度计划描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDesc: String
        # @param ResourceGroup: 计算资源组
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceGroup: String
        # @param Creator: 任务创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creator: String
        # @param DependencyRel: 任务依赖类型 and、or
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyRel: String
        # @param DependencyWorkflow: 任务工作流依赖 yes、no
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyWorkflow: String
        # @param EventListenerConfig: 事件监听配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventListenerConfig: String
        # @param EventPublisherConfig: 事件驱动配置
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventPublisherConfig: String
        # @param VirtualTaskStatus: 虚拟任务状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VirtualTaskStatus: String
        # @param TaskLinkInfo: 任务依赖边详情
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskLinkInfo: :class:`Tencentcloud::Wedata.v20210820.models.LinkOpsDto`
        # @param ProductName: 任务产品类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProductName: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param OwnId: 主账户userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnId: String
        # @param UserId: 用户userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserId: String
        # @param TenantId: 租户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TenantId: String
        # @param UpdateUser: 更新人昵称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateUser: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param UpdateUserId: 更新人userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateUserId: String
        # @param TaskTypeId: 任务类型id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTypeId: Integer
        # @param TaskTypeDesc: 任务类型描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskTypeDesc: String
        # @param ShowWorkflow: 是否展示工作流
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ShowWorkflow: Boolean
        # @param FirstSubmitTime: 首次提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstSubmitTime: String
        # @param FirstRunTime: 首次运行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstRunTime: String
        # @param ScheduleDesc: 调度描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScheduleDesc: String
        # @param CycleNum: 周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleNum: Integer
        # @param Crontab: 表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Crontab: String
        # @param StartDate: 开始日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartDate: String
        # @param EndDate: 结束日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndDate: String
        # @param CycleUnit: 周期单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleUnit: String
        # @param InitStrategy: 初始化策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InitStrategy: String
        # @param Layer: 层级
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Layer: String
        # @param SourceServiceId: 来源数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceServiceId: String
        # @param SourceServiceType: 来源数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SourceServiceType: String
        # @param TargetServiceId: 目标数据源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetServiceId: String
        # @param TargetServiceType: 目标数据源类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TargetServiceType: String
        # @param TasksStr: 子任务列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TasksStr: String
        # @param Submit: 任务版本是否已提交
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Submit: Boolean
        # @param ExecutorGroupId: 资源组id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupId: String
        # @param ExecutorGroupName: 资源组名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutorGroupName: String
        # @param TaskExtInfo: 任务扩展信息(目前返沪离线同步的任务详情)
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskExtInfo: String
        # @param EventListenerInfos: 任务绑定的事件信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EventListenerInfos: Array
        # @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: Array

        attr_accessor :TaskId, :VirtualTaskId, :VirtualFlag, :TaskName, :WorkflowId, :RealWorkflowId, :WorkflowName, :FolderId, :FolderName, :CreateTime, :LastUpdate, :Status, :InCharge, :InChargeId, :StartTime, :EndTime, :ExecutionStartTime, :ExecutionEndTime, :CycleType, :CycleStep, :CrontabExpression, :DelayTime, :StartupTime, :RetryWait, :RetryAble, :TaskAction, :TryLimit, :RunPriority, :TaskType, :BrokerIp, :ClusterId, :MinDateTime, :MaxDateTime, :ExecutionTTL, :SelfDepend, :LeftCoordinate, :TopCoordinate, :Notes, :InstanceInitStrategy, :YarnQueue, :LastSchedulerCommitTime, :NormalizedJobStartTime, :SchedulerDesc, :ResourceGroup, :Creator, :DependencyRel, :DependencyWorkflow, :EventListenerConfig, :EventPublisherConfig, :VirtualTaskStatus, :TaskLinkInfo, :ProductName, :ProjectId, :ProjectIdent, :ProjectName, :OwnId, :UserId, :TenantId, :UpdateUser, :UpdateTime, :UpdateUserId, :TaskTypeId, :TaskTypeDesc, :ShowWorkflow, :FirstSubmitTime, :FirstRunTime, :ScheduleDesc, :CycleNum, :Crontab, :StartDate, :EndDate, :CycleUnit, :InitStrategy, :Layer, :SourceServiceId, :SourceServiceType, :TargetServiceId, :TargetServiceType, :TasksStr, :Submit, :ExecutorGroupId, :ExecutorGroupName, :TaskExtInfo, :EventListenerInfos, :ScriptInfo, :DLCResourceConfig, :ParentTaskInfos, :ExtResourceFlag, :NewParentTaskInfos

        def initialize(taskid=nil, virtualtaskid=nil, virtualflag=nil, taskname=nil, workflowid=nil, realworkflowid=nil, workflowname=nil, folderid=nil, foldername=nil, createtime=nil, lastupdate=nil, status=nil, incharge=nil, inchargeid=nil, starttime=nil, endtime=nil, executionstarttime=nil, executionendtime=nil, cycletype=nil, cyclestep=nil, crontabexpression=nil, delaytime=nil, startuptime=nil, retrywait=nil, retryable=nil, taskaction=nil, trylimit=nil, runpriority=nil, tasktype=nil, brokerip=nil, clusterid=nil, mindatetime=nil, maxdatetime=nil, executionttl=nil, selfdepend=nil, leftcoordinate=nil, topcoordinate=nil, notes=nil, instanceinitstrategy=nil, yarnqueue=nil, lastschedulercommittime=nil, normalizedjobstarttime=nil, schedulerdesc=nil, resourcegroup=nil, creator=nil, dependencyrel=nil, dependencyworkflow=nil, eventlistenerconfig=nil, eventpublisherconfig=nil, virtualtaskstatus=nil, tasklinkinfo=nil, productname=nil, projectid=nil, projectident=nil, projectname=nil, ownid=nil, userid=nil, tenantid=nil, updateuser=nil, updatetime=nil, updateuserid=nil, tasktypeid=nil, tasktypedesc=nil, showworkflow=nil, firstsubmittime=nil, firstruntime=nil, scheduledesc=nil, cyclenum=nil, crontab=nil, startdate=nil, enddate=nil, cycleunit=nil, initstrategy=nil, layer=nil, sourceserviceid=nil, sourceservicetype=nil, targetserviceid=nil, targetservicetype=nil, tasksstr=nil, submit=nil, executorgroupid=nil, executorgroupname=nil, taskextinfo=nil, eventlistenerinfos=nil, scriptinfo=nil, dlcresourceconfig=nil, parenttaskinfos=nil, extresourceflag=nil, newparenttaskinfos=nil)
          @TaskId = taskid
          @VirtualTaskId = virtualtaskid
          @VirtualFlag = virtualflag
          @TaskName = taskname
          @WorkflowId = workflowid
          @RealWorkflowId = realworkflowid
          @WorkflowName = workflowname
          @FolderId = folderid
          @FolderName = foldername
          @CreateTime = createtime
          @LastUpdate = lastupdate
          @Status = status
          @InCharge = incharge
          @InChargeId = inchargeid
          @StartTime = starttime
          @EndTime = endtime
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @CycleType = cycletype
          @CycleStep = cyclestep
          @CrontabExpression = crontabexpression
          @DelayTime = delaytime
          @StartupTime = startuptime
          @RetryWait = retrywait
          @RetryAble = retryable
          @TaskAction = taskaction
          @TryLimit = trylimit
          @RunPriority = runpriority
          @TaskType = tasktype
          @BrokerIp = brokerip
          @ClusterId = clusterid
          @MinDateTime = mindatetime
          @MaxDateTime = maxdatetime
          @ExecutionTTL = executionttl
          @SelfDepend = selfdepend
          @LeftCoordinate = leftcoordinate
          @TopCoordinate = topcoordinate
          @Notes = notes
          @InstanceInitStrategy = instanceinitstrategy
          @YarnQueue = yarnqueue
          @LastSchedulerCommitTime = lastschedulercommittime
          @NormalizedJobStartTime = normalizedjobstarttime
          @SchedulerDesc = schedulerdesc
          @ResourceGroup = resourcegroup
          @Creator = creator
          @DependencyRel = dependencyrel
          @DependencyWorkflow = dependencyworkflow
          @EventListenerConfig = eventlistenerconfig
          @EventPublisherConfig = eventpublisherconfig
          @VirtualTaskStatus = virtualtaskstatus
          @TaskLinkInfo = tasklinkinfo
          @ProductName = productname
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @OwnId = ownid
          @UserId = userid
          @TenantId = tenantid
          @UpdateUser = updateuser
          @UpdateTime = updatetime
          @UpdateUserId = updateuserid
          @TaskTypeId = tasktypeid
          @TaskTypeDesc = tasktypedesc
          @ShowWorkflow = showworkflow
          @FirstSubmitTime = firstsubmittime
          @FirstRunTime = firstruntime
          @ScheduleDesc = scheduledesc
          @CycleNum = cyclenum
          @Crontab = crontab
          @StartDate = startdate
          @EndDate = enddate
          @CycleUnit = cycleunit
          @InitStrategy = initstrategy
          @Layer = layer
          @SourceServiceId = sourceserviceid
          @SourceServiceType = sourceservicetype
          @TargetServiceId = targetserviceid
          @TargetServiceType = targetservicetype
          @TasksStr = tasksstr
          @Submit = submit
          @ExecutorGroupId = executorgroupid
          @ExecutorGroupName = executorgroupname
          @TaskExtInfo = taskextinfo
          @EventListenerInfos = eventlistenerinfos
          @ScriptInfo = scriptinfo
          @DLCResourceConfig = dlcresourceconfig
          @ParentTaskInfos = parenttaskinfos
          @ExtResourceFlag = extresourceflag
          @NewParentTaskInfos = newparenttaskinfos
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @VirtualTaskId = params['VirtualTaskId']
          @VirtualFlag = params['VirtualFlag']
          @TaskName = params['TaskName']
          @WorkflowId = params['WorkflowId']
          @RealWorkflowId = params['RealWorkflowId']
          @WorkflowName = params['WorkflowName']
          @FolderId = params['FolderId']
          @FolderName = params['FolderName']
          @CreateTime = params['CreateTime']
          @LastUpdate = params['LastUpdate']
          @Status = params['Status']
          @InCharge = params['InCharge']
          @InChargeId = params['InChargeId']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @CrontabExpression = params['CrontabExpression']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @RetryWait = params['RetryWait']
          @RetryAble = params['RetryAble']
          @TaskAction = params['TaskAction']
          @TryLimit = params['TryLimit']
          @RunPriority = params['RunPriority']
          unless params['TaskType'].nil?
            @TaskType = TaskTypeOpsDto.new
            @TaskType.deserialize(params['TaskType'])
          end
          @BrokerIp = params['BrokerIp']
          @ClusterId = params['ClusterId']
          @MinDateTime = params['MinDateTime']
          @MaxDateTime = params['MaxDateTime']
          @ExecutionTTL = params['ExecutionTTL']
          @SelfDepend = params['SelfDepend']
          @LeftCoordinate = params['LeftCoordinate']
          @TopCoordinate = params['TopCoordinate']
          @Notes = params['Notes']
          @InstanceInitStrategy = params['InstanceInitStrategy']
          @YarnQueue = params['YarnQueue']
          @LastSchedulerCommitTime = params['LastSchedulerCommitTime']
          @NormalizedJobStartTime = params['NormalizedJobStartTime']
          @SchedulerDesc = params['SchedulerDesc']
          @ResourceGroup = params['ResourceGroup']
          @Creator = params['Creator']
          @DependencyRel = params['DependencyRel']
          @DependencyWorkflow = params['DependencyWorkflow']
          @EventListenerConfig = params['EventListenerConfig']
          @EventPublisherConfig = params['EventPublisherConfig']
          @VirtualTaskStatus = params['VirtualTaskStatus']
          unless params['TaskLinkInfo'].nil?
            @TaskLinkInfo = LinkOpsDto.new
            @TaskLinkInfo.deserialize(params['TaskLinkInfo'])
          end
          @ProductName = params['ProductName']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @OwnId = params['OwnId']
          @UserId = params['UserId']
          @TenantId = params['TenantId']
          @UpdateUser = params['UpdateUser']
          @UpdateTime = params['UpdateTime']
          @UpdateUserId = params['UpdateUserId']
          @TaskTypeId = params['TaskTypeId']
          @TaskTypeDesc = params['TaskTypeDesc']
          @ShowWorkflow = params['ShowWorkflow']
          @FirstSubmitTime = params['FirstSubmitTime']
          @FirstRunTime = params['FirstRunTime']
          @ScheduleDesc = params['ScheduleDesc']
          @CycleNum = params['CycleNum']
          @Crontab = params['Crontab']
          @StartDate = params['StartDate']
          @EndDate = params['EndDate']
          @CycleUnit = params['CycleUnit']
          @InitStrategy = params['InitStrategy']
          @Layer = params['Layer']
          @SourceServiceId = params['SourceServiceId']
          @SourceServiceType = params['SourceServiceType']
          @TargetServiceId = params['TargetServiceId']
          @TargetServiceType = params['TargetServiceType']
          @TasksStr = params['TasksStr']
          @Submit = params['Submit']
          @ExecutorGroupId = params['ExecutorGroupId']
          @ExecutorGroupName = params['ExecutorGroupName']
          @TaskExtInfo = params['TaskExtInfo']
          unless params['EventListenerInfos'].nil?
            @EventListenerInfos = []
            params['EventListenerInfos'].each do |i|
              aiopseventlistenerdto_tmp = AiOpsEventListenerDTO.new
              aiopseventlistenerdto_tmp.deserialize(i)
              @EventListenerInfos << aiopseventlistenerdto_tmp
            end
          end
          unless params['ScriptInfo'].nil?
            @ScriptInfo = AiopsScriptInfo.new
            @ScriptInfo.deserialize(params['ScriptInfo'])
          end
          unless params['DLCResourceConfig'].nil?
            @DLCResourceConfig = AiopsDLCResourceConfigDto.new
            @DLCResourceConfig.deserialize(params['DLCResourceConfig'])
          end
          unless params['ParentTaskInfos'].nil?
            @ParentTaskInfos = AiopsSimpleTaskDto.new
            @ParentTaskInfos.deserialize(params['ParentTaskInfos'])
          end
          unless params['ExtResourceFlag'].nil?
            @ExtResourceFlag = ExtResourceFlagDto.new
            @ExtResourceFlag.deserialize(params['ExtResourceFlag'])
          end
          unless params['NewParentTaskInfos'].nil?
            @NewParentTaskInfos = []
            params['NewParentTaskInfos'].each do |i|
              aiopssimpletaskdto_tmp = AiopsSimpleTaskDto.new
              aiopssimpletaskdto_tmp.deserialize(i)
              @NewParentTaskInfos << aiopssimpletaskdto_tmp
            end
          end
        end
      end

      # 任务执行脚本
      class TaskScriptContent < TencentCloud::Common::AbstractModel
        # @param ScriptContent: 脚本内容 base64编码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScriptContent: String

        attr_accessor :ScriptContent

        def initialize(scriptcontent=nil)
          @ScriptContent = scriptcontent
        end

        def deserialize(params)
          @ScriptContent = params['ScriptContent']
        end
      end

      # 任务提交预校验详细信息
      class TaskSubmitPreCheckDetailInfo < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务编号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskId: String
        # @param TaskName: 任务名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskName: String
        # @param ProjectId: 项目编号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param InChargeId: 责任人编号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InChargeId: String
        # @param InCharge: 责任人名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InCharge: String

        attr_accessor :TaskId, :TaskName, :ProjectId, :ProjectName, :InChargeId, :InCharge

        def initialize(taskid=nil, taskname=nil, projectid=nil, projectname=nil, inchargeid=nil, incharge=nil)
          @TaskId = taskid
          @TaskName = taskname
          @ProjectId = projectid
          @ProjectName = projectname
          @InChargeId = inchargeid
          @InCharge = incharge
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @TaskName = params['TaskName']
          @ProjectId = params['ProjectId']
          @ProjectName = params['ProjectName']
          @InChargeId = params['InChargeId']
          @InCharge = params['InCharge']
        end
      end

      # 任务标签,可用于检索任务的条件
      class TaskTag < TencentCloud::Common::AbstractModel
        # @param TagName: 标签名称
        # @type TagName: String
        # @param TagValues: 标签值列表
        # @type TagValues: Array

        attr_accessor :TagName, :TagValues

        def initialize(tagname=nil, tagvalues=nil)
          @TagName = tagname
          @TagValues = tagvalues
        end

        def deserialize(params)
          @TagName = params['TagName']
          @TagValues = params['TagValues']
        end
      end

      # TaskTypeCnt
      class TaskTypeCnt < TencentCloud::Common::AbstractModel
        # @param Number: 统计值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Number: String
        # @param TaskType: 任务类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskType: String
        # @param TypeName: 类型名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TypeName: String

        attr_accessor :Number, :TaskType, :TypeName

        def initialize(number=nil, tasktype=nil, typename=nil)
          @Number = number
          @TaskType = tasktype
          @TypeName = typename
        end

        def deserialize(params)
          @Number = params['Number']
          @TaskType = params['TaskType']
          @TypeName = params['TypeName']
        end
      end

      # 任务类型map
      class TaskTypeMap < TencentCloud::Common::AbstractModel
        # @param Key: key
        # @type Key: Integer
        # @param Value: value
        # @type Value: String

        attr_accessor :Key, :Value

        def initialize(key=nil, value=nil)
          @Key = key
          @Value = value
        end

        def deserialize(params)
          @Key = params['Key']
          @Value = params['Value']
        end
      end

      # 任务类型基本信息
      class TaskTypeOpsDto < TencentCloud::Common::AbstractModel
        # @param TypeDesc: 任务类型描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TypeDesc: String
        # @param TypeId: 任务类型id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TypeId: Integer
        # @param TypeSort: 任务类型归类
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TypeSort: String

        attr_accessor :TypeDesc, :TypeId, :TypeSort

        def initialize(typedesc=nil, typeid=nil, typesort=nil)
          @TypeDesc = typedesc
          @TypeId = typeid
          @TypeSort = typesort
        end

        def deserialize(params)
          @TypeDesc = params['TypeDesc']
          @TypeId = params['TypeId']
          @TypeSort = params['TypeSort']
        end
      end

      # 任务实例基本信息
      class TaskVersionInstance < TencentCloud::Common::AbstractModel
        # @param InstanceVersion: 实例版本号
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceVersion: Integer
        # @param VersionDesc: 实例描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type VersionDesc: String
        # @param ChangeType: 0, "新增",1, "修改"
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ChangeType: Integer
        # @param SubmitterUin: 版本提交人UIN
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SubmitterUin: String
        # @param InstanceDate: 提交日期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceDate: String
        # @param InstanceStatus: 0, "未启用",1, "启用(生产态)"
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceStatus: Integer

        attr_accessor :InstanceVersion, :VersionDesc, :ChangeType, :SubmitterUin, :InstanceDate, :InstanceStatus

        def initialize(instanceversion=nil, versiondesc=nil, changetype=nil, submitteruin=nil, instancedate=nil, instancestatus=nil)
          @InstanceVersion = instanceversion
          @VersionDesc = versiondesc
          @ChangeType = changetype
          @SubmitterUin = submitteruin
          @InstanceDate = instancedate
          @InstanceStatus = instancestatus
        end

        def deserialize(params)
          @InstanceVersion = params['InstanceVersion']
          @VersionDesc = params['VersionDesc']
          @ChangeType = params['ChangeType']
          @SubmitterUin = params['SubmitterUin']
          @InstanceDate = params['InstanceDate']
          @InstanceStatus = params['InstanceStatus']
        end
      end

      # 数据质量阈值
      class ThresholdValue < TencentCloud::Common::AbstractModel
        # @param ValueType: 阈值类型  1.低阈值  2.高阈值   3.普通阈值  4.枚举值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ValueType: Integer
        # @param Value: 阈值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Value: String

        attr_accessor :ValueType, :Value

        def initialize(valuetype=nil, value=nil)
          @ValueType = valuetype
          @Value = value
        end

        def deserialize(params)
          @ValueType = params['ValueType']
          @Value = params['Value']
        end
      end

      # 质量概览表排行结果
      class TopTableStat < TencentCloud::Common::AbstractModel
        # @param AlarmTables: 告警表列表
        # @type AlarmTables: Array
        # @param PipelineTables: 阻塞表列表
        # @type PipelineTables: Array

        attr_accessor :AlarmTables, :PipelineTables

        def initialize(alarmtables=nil, pipelinetables=nil)
          @AlarmTables = alarmtables
          @PipelineTables = pipelinetables
        end

        def deserialize(params)
          unless params['AlarmTables'].nil?
            @AlarmTables = []
            params['AlarmTables'].each do |i|
              toptablestatitem_tmp = TopTableStatItem.new
              toptablestatitem_tmp.deserialize(i)
              @AlarmTables << toptablestatitem_tmp
            end
          end
          unless params['PipelineTables'].nil?
            @PipelineTables = []
            params['PipelineTables'].each do |i|
              toptablestatitem_tmp = TopTableStatItem.new
              toptablestatitem_tmp.deserialize(i)
              @PipelineTables << toptablestatitem_tmp
            end
          end
        end
      end

      # 质量概览表排行元素
      class TopTableStatItem < TencentCloud::Common::AbstractModel
        # @param TableId: 表Id
        # @type TableId: String
        # @param TableName: 表名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TableName: String
        # @param Cnt: 数
        # @type Cnt: Integer

        attr_accessor :TableId, :TableName, :Cnt

        def initialize(tableid=nil, tablename=nil, cnt=nil)
          @TableId = tableid
          @TableName = tablename
          @Cnt = cnt
        end

        def deserialize(params)
          @TableId = params['TableId']
          @TableName = params['TableName']
          @Cnt = params['Cnt']
        end
      end

      # TriggerDsEvent请求参数结构体
      class TriggerDsEventRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param EventCaseList: 事件实例信息
        # @type EventCaseList: Array
        # @param EventBatchCaseList: 事件实例信息(连续时间)
        # @type EventBatchCaseList: Array

        attr_accessor :ProjectId, :EventCaseList, :EventBatchCaseList

        def initialize(projectid=nil, eventcaselist=nil, eventbatchcaselist=nil)
          @ProjectId = projectid
          @EventCaseList = eventcaselist
          @EventBatchCaseList = eventbatchcaselist
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          unless params['EventCaseList'].nil?
            @EventCaseList = []
            params['EventCaseList'].each do |i|
              eventcasedto_tmp = EventCaseDTO.new
              eventcasedto_tmp.deserialize(i)
              @EventCaseList << eventcasedto_tmp
            end
          end
          unless params['EventBatchCaseList'].nil?
            @EventBatchCaseList = []
            params['EventBatchCaseList'].each do |i|
              eventbatchcasedto_tmp = EventBatchCaseDTO.new
              eventbatchcasedto_tmp.deserialize(i)
              @EventBatchCaseList << eventbatchcasedto_tmp
            end
          end
        end
      end

      # TriggerDsEvent返回参数结构体
      class TriggerDsEventResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作结果
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOpsDTO`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOpsDTO.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # TriggerEvent请求参数结构体
      class TriggerEventRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param Name: 案例名称
        # @type Name: String
        # @param Dimension: 时间格式:如果选择触发时间:2022年6月21,则设置为20220621
        # @type Dimension: String
        # @param Description: 描述信息
        # @type Description: String

        attr_accessor :ProjectId, :Name, :Dimension, :Description

        def initialize(projectid=nil, name=nil, dimension=nil, description=nil)
          @ProjectId = projectid
          @Name = name
          @Dimension = dimension
          @Description = description
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @Name = params['Name']
          @Dimension = params['Dimension']
          @Description = params['Description']
        end
      end

      # TriggerEvent返回参数结构体
      class TriggerEventResponse < TencentCloud::Common::AbstractModel
        # @param Data: 成功或者失败
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchReturn`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchReturn.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # UnlockIntegrationTask请求参数结构体
      class UnlockIntegrationTaskRequest < TencentCloud::Common::AbstractModel
        # @param TaskId: 任务id
        # @type TaskId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :TaskId, :ProjectId

        def initialize(taskid=nil, projectid=nil)
          @TaskId = taskid
          @ProjectId = projectid
        end

        def deserialize(params)
          @TaskId = params['TaskId']
          @ProjectId = params['ProjectId']
        end
      end

      # UnlockIntegrationTask返回参数结构体
      class UnlockIntegrationTaskResponse < TencentCloud::Common::AbstractModel
        # @param Data: 操作成功与否标识
        # @type Data: Boolean
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          @Data = params['Data']
          @RequestId = params['RequestId']
        end
      end

      # UpdateWorkflowOwner请求参数结构体
      class UpdateWorkflowOwnerRequest < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目Id
        # @type ProjectId: String
        # @param WorkflowIds: 工作流Ids
        # @type WorkflowIds: Array
        # @param Owner: 责任人,多个以';'号分割
        # @type Owner: String
        # @param OwnerId: 责任人UserId,多个以';'号分割
        # @type OwnerId: String

        attr_accessor :ProjectId, :WorkflowIds, :Owner, :OwnerId

        def initialize(projectid=nil, workflowids=nil, owner=nil, ownerid=nil)
          @ProjectId = projectid
          @WorkflowIds = workflowids
          @Owner = owner
          @OwnerId = ownerid
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowIds = params['WorkflowIds']
          @Owner = params['Owner']
          @OwnerId = params['OwnerId']
        end
      end

      # UpdateWorkflowOwner返回参数结构体
      class UpdateWorkflowOwnerResponse < TencentCloud::Common::AbstractModel
        # @param Data: 响应数据
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Data: :class:`Tencentcloud::Wedata.v20210820.models.BatchOperationOpsDto`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = BatchOperationOpsDto.new
            @Data.deserialize(params['Data'])
          end
          @RequestId = params['RequestId']
        end
      end

      # UploadContent请求参数结构体
      class UploadContentRequest < TencentCloud::Common::AbstractModel
        # @param ScriptRequestInfo: 脚本上传信息
        # @type ScriptRequestInfo: :class:`Tencentcloud::Wedata.v20210820.models.ScriptRequestInfo`
        # @param RequestFromSource: 请求来源,WEB 前端;CLIENT 客户端
        # @type RequestFromSource: String
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :ScriptRequestInfo, :RequestFromSource, :ProjectId

        def initialize(scriptrequestinfo=nil, requestfromsource=nil, projectid=nil)
          @ScriptRequestInfo = scriptrequestinfo
          @RequestFromSource = requestfromsource
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['ScriptRequestInfo'].nil?
            @ScriptRequestInfo = ScriptRequestInfo.new
            @ScriptRequestInfo.deserialize(params['ScriptRequestInfo'])
          end
          @RequestFromSource = params['RequestFromSource']
          @ProjectId = params['ProjectId']
        end
      end

      # UploadContent返回参数结构体
      class UploadContentResponse < TencentCloud::Common::AbstractModel
        # @param ScriptInfo: 脚本信息响应
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ScriptInfo: :class:`Tencentcloud::Wedata.v20210820.models.ScriptInfoResponse`
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :ScriptInfo, :RequestId

        def initialize(scriptinfo=nil, requestid=nil)
          @ScriptInfo = scriptinfo
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['ScriptInfo'].nil?
            @ScriptInfo = ScriptInfoResponse.new
            @ScriptInfo.deserialize(params['ScriptInfo'])
          end
          @RequestId = params['RequestId']
        end
      end

      # UploadResource请求参数结构体
      class UploadResourceRequest < TencentCloud::Common::AbstractModel
        # @param UploadResourceRequestInfo: 资源上传请求信息
        # @type UploadResourceRequestInfo: :class:`Tencentcloud::Wedata.v20210820.models.UploadResourceRequestInfo`
        # @param ProjectId: 项目id
        # @type ProjectId: String

        attr_accessor :UploadResourceRequestInfo, :ProjectId

        def initialize(uploadresourcerequestinfo=nil, projectid=nil)
          @UploadResourceRequestInfo = uploadresourcerequestinfo
          @ProjectId = projectid
        end

        def deserialize(params)
          unless params['UploadResourceRequestInfo'].nil?
            @UploadResourceRequestInfo = UploadResourceRequestInfo.new
            @UploadResourceRequestInfo.deserialize(params['UploadResourceRequestInfo'])
          end
          @ProjectId = params['ProjectId']
        end
      end

      # 资管管理-上传资源请求
      class UploadResourceRequestInfo < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param FilePath: 资源路径
        # @type FilePath: String
        # @param BucketName: 桶名称
        # @type BucketName: String
        # @param Region: 所属地区
        # @type Region: String
        # @param NewFile: 是否为新资源
        # @type NewFile: Boolean
        # @param FileList: 资源列表
        # @type FileList: Array
        # @param FileSizeList: 资源大小列表
        # @type FileSizeList: Array
        # @param FileMd5: File Md5(适配私有化,公有云可以不传)
        # @type FileMd5: String

        attr_accessor :ProjectId, :FilePath, :BucketName, :Region, :NewFile, :FileList, :FileSizeList, :FileMd5

        def initialize(projectid=nil, filepath=nil, bucketname=nil, region=nil, newfile=nil, filelist=nil, filesizelist=nil, filemd5=nil)
          @ProjectId = projectid
          @FilePath = filepath
          @BucketName = bucketname
          @Region = region
          @NewFile = newfile
          @FileList = filelist
          @FileSizeList = filesizelist
          @FileMd5 = filemd5
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @FilePath = params['FilePath']
          @BucketName = params['BucketName']
          @Region = params['Region']
          @NewFile = params['NewFile']
          @FileList = params['FileList']
          @FileSizeList = params['FileSizeList']
          @FileMd5 = params['FileMd5']
        end
      end

      # UploadResource返回参数结构体
      class UploadResourceResponse < TencentCloud::Common::AbstractModel
        # @param Data: 资源文件信息列表
        # @type Data: Array
        # @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
        # @type RequestId: String

        attr_accessor :Data, :RequestId

        def initialize(data=nil, requestid=nil)
          @Data = data
          @RequestId = requestid
        end

        def deserialize(params)
          unless params['Data'].nil?
            @Data = []
            params['Data'].each do |i|
              userfiledtonew_tmp = UserFileDTONew.new
              userfiledtonew_tmp.deserialize(i)
              @Data << userfiledtonew_tmp
            end
          end
          @RequestId = params['RequestId']
        end
      end

      # 用户文件信息
      class UserFileDTONew < TencentCloud::Common::AbstractModel
        # @param ResourceId: 资源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceId: String
        # @param FileName: 文件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileName: String
        # @param FileExtensionType: 文件类型,如 jar zip 等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileExtensionType: String
        # @param Type: 文件上传类型,资源管理为 resource
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Md5Value: 文件MD5值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Md5Value: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param Size: 文件大小,单位为字节
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Size: Integer
        # @param LocalPath: 本地路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalPath: String
        # @param LocalTempPath: 本地临时路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalTempPath: String
        # @param RemotePath: 远程路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemotePath: String
        # @param OwnerName: 文件拥有者名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerName: String
        # @param Owner: 文件拥有者uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param PathDepth: 文件深度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PathDepth: String
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ExtraInfo: 附加信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtraInfo: String
        # @param ZipPath: 本地临时压缩文件绝对路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ZipPath: String
        # @param Bucket: 文件所属存储桶
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Bucket: String
        # @param Region: 文件所属存储桶的地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param DeleteName: 删除用户名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteName: String
        # @param DeleteOwner: 删除用户id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteOwner: String
        # @param Operator: 操作者id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: String
        # @param OperatorName: 操作者名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorName: String
        # @param FullPath: 全路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FullPath: String

        attr_accessor :ResourceId, :FileName, :FileExtensionType, :Type, :Md5Value, :CreateTime, :UpdateTime, :Size, :LocalPath, :LocalTempPath, :RemotePath, :OwnerName, :Owner, :PathDepth, :ProjectId, :ExtraInfo, :ZipPath, :Bucket, :Region, :DeleteName, :DeleteOwner, :Operator, :OperatorName, :FullPath

        def initialize(resourceid=nil, filename=nil, fileextensiontype=nil, type=nil, md5value=nil, createtime=nil, updatetime=nil, size=nil, localpath=nil, localtemppath=nil, remotepath=nil, ownername=nil, owner=nil, pathdepth=nil, projectid=nil, extrainfo=nil, zippath=nil, bucket=nil, region=nil, deletename=nil, deleteowner=nil, operator=nil, operatorname=nil, fullpath=nil)
          @ResourceId = resourceid
          @FileName = filename
          @FileExtensionType = fileextensiontype
          @Type = type
          @Md5Value = md5value
          @CreateTime = createtime
          @UpdateTime = updatetime
          @Size = size
          @LocalPath = localpath
          @LocalTempPath = localtemppath
          @RemotePath = remotepath
          @OwnerName = ownername
          @Owner = owner
          @PathDepth = pathdepth
          @ProjectId = projectid
          @ExtraInfo = extrainfo
          @ZipPath = zippath
          @Bucket = bucket
          @Region = region
          @DeleteName = deletename
          @DeleteOwner = deleteowner
          @Operator = operator
          @OperatorName = operatorname
          @FullPath = fullpath
        end

        def deserialize(params)
          @ResourceId = params['ResourceId']
          @FileName = params['FileName']
          @FileExtensionType = params['FileExtensionType']
          @Type = params['Type']
          @Md5Value = params['Md5Value']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @Size = params['Size']
          @LocalPath = params['LocalPath']
          @LocalTempPath = params['LocalTempPath']
          @RemotePath = params['RemotePath']
          @OwnerName = params['OwnerName']
          @Owner = params['Owner']
          @PathDepth = params['PathDepth']
          @ProjectId = params['ProjectId']
          @ExtraInfo = params['ExtraInfo']
          @ZipPath = params['ZipPath']
          @Bucket = params['Bucket']
          @Region = params['Region']
          @DeleteName = params['DeleteName']
          @DeleteOwner = params['DeleteOwner']
          @Operator = params['Operator']
          @OperatorName = params['OperatorName']
          @FullPath = params['FullPath']
        end
      end

      # 开发空间-获取数据开发脚本信息响应体
      class UserFileInfo < TencentCloud::Common::AbstractModel
        # @param ResourceId: 资源ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ResourceId: String
        # @param FileName: 文件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileName: String
        # @param FileExtensionType: 文件类型,如 jar zip 等
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FileExtensionType: String
        # @param Type: 文件上传类型,资源管理为 resource
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Type: String
        # @param Md5Value: 文件MD5值
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Md5Value: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param UpdateTime: 更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UpdateTime: String
        # @param Size: 文件大小,单位为字节
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Size: Integer
        # @param LocalPath: 本地路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalPath: String
        # @param LocalTempPath: 本地临时路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LocalTempPath: String
        # @param RemotePath: 远程路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type RemotePath: String
        # @param OwnerName: 文件拥有者名字
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerName: String
        # @param Owner: 文件拥有者uin
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param PathDepth: 文件深度
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PathDepth: Integer
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ExtraInfo: 附加信息
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExtraInfo: Array
        # @param ZipPath: 本地临时压缩文件绝对路径
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ZipPath: String
        # @param Bucket: 文件所属存储桶
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Bucket: String
        # @param Region: 文件所属存储桶的地域
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Region: String
        # @param DeleteName: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteName: String
        # @param DeleteOwner: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DeleteOwner: String
        # @param Operator: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Operator: String
        # @param OperatorName: 无
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OperatorName: String
        # @param EncodeExtraInfo: 附加信息 base64编码
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EncodeExtraInfo: String

        attr_accessor :ResourceId, :FileName, :FileExtensionType, :Type, :Md5Value, :CreateTime, :UpdateTime, :Size, :LocalPath, :LocalTempPath, :RemotePath, :OwnerName, :Owner, :PathDepth, :ProjectId, :ExtraInfo, :ZipPath, :Bucket, :Region, :DeleteName, :DeleteOwner, :Operator, :OperatorName, :EncodeExtraInfo

        def initialize(resourceid=nil, filename=nil, fileextensiontype=nil, type=nil, md5value=nil, createtime=nil, updatetime=nil, size=nil, localpath=nil, localtemppath=nil, remotepath=nil, ownername=nil, owner=nil, pathdepth=nil, projectid=nil, extrainfo=nil, zippath=nil, bucket=nil, region=nil, deletename=nil, deleteowner=nil, operator=nil, operatorname=nil, encodeextrainfo=nil)
          @ResourceId = resourceid
          @FileName = filename
          @FileExtensionType = fileextensiontype
          @Type = type
          @Md5Value = md5value
          @CreateTime = createtime
          @UpdateTime = updatetime
          @Size = size
          @LocalPath = localpath
          @LocalTempPath = localtemppath
          @RemotePath = remotepath
          @OwnerName = ownername
          @Owner = owner
          @PathDepth = pathdepth
          @ProjectId = projectid
          @ExtraInfo = extrainfo
          @ZipPath = zippath
          @Bucket = bucket
          @Region = region
          @DeleteName = deletename
          @DeleteOwner = deleteowner
          @Operator = operator
          @OperatorName = operatorname
          @EncodeExtraInfo = encodeextrainfo
        end

        def deserialize(params)
          @ResourceId = params['ResourceId']
          @FileName = params['FileName']
          @FileExtensionType = params['FileExtensionType']
          @Type = params['Type']
          @Md5Value = params['Md5Value']
          @CreateTime = params['CreateTime']
          @UpdateTime = params['UpdateTime']
          @Size = params['Size']
          @LocalPath = params['LocalPath']
          @LocalTempPath = params['LocalTempPath']
          @RemotePath = params['RemotePath']
          @OwnerName = params['OwnerName']
          @Owner = params['Owner']
          @PathDepth = params['PathDepth']
          @ProjectId = params['ProjectId']
          unless params['ExtraInfo'].nil?
            @ExtraInfo = []
            params['ExtraInfo'].each do |i|
              paraminfo_tmp = ParamInfo.new
              paraminfo_tmp.deserialize(i)
              @ExtraInfo << paraminfo_tmp
            end
          end
          @ZipPath = params['ZipPath']
          @Bucket = params['Bucket']
          @Region = params['Region']
          @DeleteName = params['DeleteName']
          @DeleteOwner = params['DeleteOwner']
          @Operator = params['Operator']
          @OperatorName = params['OperatorName']
          @EncodeExtraInfo = params['EncodeExtraInfo']
        end
      end

      # 权重信息
      class WeightInfo < TencentCloud::Common::AbstractModel
        # @param Weight: 权重
        # @type Weight: Integer
        # @param QualityDim: 维度类型 1:准确性,2:唯一性,3:完整性,4:一致性,5:及时性,6:有效性
        # @type QualityDim: Integer

        attr_accessor :Weight, :QualityDim

        def initialize(weight=nil, qualitydim=nil)
          @Weight = weight
          @QualityDim = qualitydim
        end

        def deserialize(params)
          @Weight = params['Weight']
          @QualityDim = params['QualityDim']
        end
      end

      # 工作流运行信息
      class WorkFlowExecuteDto < TencentCloud::Common::AbstractModel
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param Status: 工作流运行状态 0:等待运行、1:运行中、2:运行完成、3:运行出错
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: Integer

        attr_accessor :StartTime, :EndTime, :Status

        def initialize(starttime=nil, endtime=nil, status=nil)
          @StartTime = starttime
          @EndTime = endtime
          @Status = status
        end

        def deserialize(params)
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @Status = params['Status']
        end
      end

      # 分页查询工作流画布运行起止时间
      class WorkFlowExecuteDtoByPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: data
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array
        # @param PageSize: 分页大小
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type PageSize: Integer

        attr_accessor :TotalCount, :Items, :PageSize

        def initialize(totalcount=nil, items=nil, pagesize=nil)
          @TotalCount = totalcount
          @Items = items
          @PageSize = pagesize
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              workflowexecutedto_tmp = WorkFlowExecuteDto.new
              workflowexecutedto_tmp.deserialize(i)
              @Items << workflowexecutedto_tmp
            end
          end
          @PageSize = params['PageSize']
        end
      end

      # 工作流信息
      class Workflow < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流id
        # @type WorkflowId: String
        # @param Owner: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param OwnerId: 责任人Id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerId: String
        # @param ProjectId: 项目id
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # @type ProjectName: String
        # @param WorkflowDesc: 备注
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowDesc: String
        # @param WorkflowName: 工作流名称
        # @type WorkflowName: String
        # @param FolderId: 所属文件夹id
        # @type FolderId: String
        # @param UserGroupId: 工作流所属用户分组id 若有多个,分号隔开: a;b;c
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserGroupId: String
        # @param UserGroupName: 工作流所属用户分组名称  若有多个,分号隔开: a;b;c
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserGroupName: String

        attr_accessor :WorkflowId, :Owner, :OwnerId, :ProjectId, :ProjectIdent, :ProjectName, :WorkflowDesc, :WorkflowName, :FolderId, :UserGroupId, :UserGroupName

        def initialize(workflowid=nil, owner=nil, ownerid=nil, projectid=nil, projectident=nil, projectname=nil, workflowdesc=nil, workflowname=nil, folderid=nil, usergroupid=nil, usergroupname=nil)
          @WorkflowId = workflowid
          @Owner = owner
          @OwnerId = ownerid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @WorkflowDesc = workflowdesc
          @WorkflowName = workflowname
          @FolderId = folderid
          @UserGroupId = usergroupid
          @UserGroupName = usergroupname
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @Owner = params['Owner']
          @OwnerId = params['OwnerId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @WorkflowDesc = params['WorkflowDesc']
          @WorkflowName = params['WorkflowName']
          @FolderId = params['FolderId']
          @UserGroupId = params['UserGroupId']
          @UserGroupName = params['UserGroupName']
        end
      end

      # 工作流画布详情
      class WorkflowCanvasOpsDto < TencentCloud::Common::AbstractModel
        # @param WorkflowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param WorkflowDesc: 工作流详情描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowDesc: String
        # @param WorkflowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowName: String
        # @param FolderId: 所属文件夹id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param FolderIds: 所属文件夹ids
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderIds: Array
        # @param Tasks: 任务列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Tasks: Array
        # @param Links: 任务依赖边列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Links: Array
        # @param UserGroupId: 工作流所属用户分组id,若有多个分号隔开: a;b;c
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserGroupId: String
        # @param UserGroupName: 工作流所属用户分组名称,若有多个分号隔开: a;b;c
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type UserGroupName: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param Owner: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param OwnerId: 责任人UserId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerId: String

        attr_accessor :WorkflowId, :WorkflowDesc, :WorkflowName, :FolderId, :FolderIds, :Tasks, :Links, :UserGroupId, :UserGroupName, :ProjectId, :ProjectIdent, :ProjectName, :Owner, :OwnerId

        def initialize(workflowid=nil, workflowdesc=nil, workflowname=nil, folderid=nil, folderids=nil, tasks=nil, links=nil, usergroupid=nil, usergroupname=nil, projectid=nil, projectident=nil, projectname=nil, owner=nil, ownerid=nil)
          @WorkflowId = workflowid
          @WorkflowDesc = workflowdesc
          @WorkflowName = workflowname
          @FolderId = folderid
          @FolderIds = folderids
          @Tasks = tasks
          @Links = links
          @UserGroupId = usergroupid
          @UserGroupName = usergroupname
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @Owner = owner
          @OwnerId = ownerid
        end

        def deserialize(params)
          @WorkflowId = params['WorkflowId']
          @WorkflowDesc = params['WorkflowDesc']
          @WorkflowName = params['WorkflowName']
          @FolderId = params['FolderId']
          @FolderIds = params['FolderIds']
          unless params['Tasks'].nil?
            @Tasks = []
            params['Tasks'].each do |i|
              taskopsdto_tmp = TaskOpsDto.new
              taskopsdto_tmp.deserialize(i)
              @Tasks << taskopsdto_tmp
            end
          end
          unless params['Links'].nil?
            @Links = []
            params['Links'].each do |i|
              linkopsdto_tmp = LinkOpsDto.new
              linkopsdto_tmp.deserialize(i)
              @Links << linkopsdto_tmp
            end
          end
          @UserGroupId = params['UserGroupId']
          @UserGroupName = params['UserGroupName']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @Owner = params['Owner']
          @OwnerId = params['OwnerId']
        end
      end

      # 工作流
      class WorkflowExtOpsDto < TencentCloud::Common::AbstractModel
        # @param TaskCount: 任务数量count
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskCount: Integer
        # @param FolderName: 文件名
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderName: String
        # @param WorkFlowId: 工作流id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkFlowId: String
        # @param Owner: 责任人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Owner: String
        # @param OwnerId: 责任人userId
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type OwnerId: String
        # @param ProjectId: 项目id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param ProjectIdent: 项目标识
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectIdent: String
        # @param ProjectName: 项目名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectName: String
        # @param WorkFlowDesc: 工作流描述
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkFlowDesc: String
        # @param WorkFlowName: 工作流名称
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkFlowName: String
        # @param FolderId: 工作流文件id
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FolderId: String
        # @param Status: 工作流状态
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Status: String
        # @param CreateTime: 工作流创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param ModifyTime: 最近更新时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String

        attr_accessor :TaskCount, :FolderName, :WorkFlowId, :Owner, :OwnerId, :ProjectId, :ProjectIdent, :ProjectName, :WorkFlowDesc, :WorkFlowName, :FolderId, :Status, :CreateTime, :ModifyTime

        def initialize(taskcount=nil, foldername=nil, workflowid=nil, owner=nil, ownerid=nil, projectid=nil, projectident=nil, projectname=nil, workflowdesc=nil, workflowname=nil, folderid=nil, status=nil, createtime=nil, modifytime=nil)
          @TaskCount = taskcount
          @FolderName = foldername
          @WorkFlowId = workflowid
          @Owner = owner
          @OwnerId = ownerid
          @ProjectId = projectid
          @ProjectIdent = projectident
          @ProjectName = projectname
          @WorkFlowDesc = workflowdesc
          @WorkFlowName = workflowname
          @FolderId = folderid
          @Status = status
          @CreateTime = createtime
          @ModifyTime = modifytime
        end

        def deserialize(params)
          @TaskCount = params['TaskCount']
          @FolderName = params['FolderName']
          @WorkFlowId = params['WorkFlowId']
          @Owner = params['Owner']
          @OwnerId = params['OwnerId']
          @ProjectId = params['ProjectId']
          @ProjectIdent = params['ProjectIdent']
          @ProjectName = params['ProjectName']
          @WorkFlowDesc = params['WorkFlowDesc']
          @WorkFlowName = params['WorkFlowName']
          @FolderId = params['FolderId']
          @Status = params['Status']
          @CreateTime = params['CreateTime']
          @ModifyTime = params['ModifyTime']
        end
      end

      # 用户生产工作流列表分页
      class WorkflowExtOpsDtoPage < TencentCloud::Common::AbstractModel
        # @param TotalCount: 记录总数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TotalCount: Integer
        # @param Items: 记录列表
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Items: Array

        attr_accessor :TotalCount, :Items

        def initialize(totalcount=nil, items=nil)
          @TotalCount = totalcount
          @Items = items
        end

        def deserialize(params)
          @TotalCount = params['TotalCount']
          unless params['Items'].nil?
            @Items = []
            params['Items'].each do |i|
              workflowextopsdto_tmp = WorkflowExtOpsDto.new
              workflowextopsdto_tmp.deserialize(i)
              @Items << workflowextopsdto_tmp
            end
          end
        end
      end

      # 工作流调度信息
      class WorkflowScheduleDtoDs < TencentCloud::Common::AbstractModel
        # @param ProjectId: 项目ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ProjectId: String
        # @param WorkflowId: 工作流ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param Creater: 创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creater: String
        # @param ModifyTime: 修改时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param DelayTime: 延迟时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param StartupTime: 启动时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartupTime: Integer
        # @param SelfDepend: 任务依赖
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SelfDepend: String
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param TaskAction: 指定运行时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param CycleType: 调度周期时间单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param CycleStep: 调度周期
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param CrontabExpression: Cron表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CrontabExpression: String
        # @param ExecutionStartTime: 执行时间左闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionEndTime: String
        # @param InstanceInitStrategy: 实例初始化策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceInitStrategy: String
        # @param DependencyWorkflow: 工作流依赖
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyWorkflow: String
        # @param SchedulerDesc: 调度计划
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDesc: String
        # @param FirstSubmitTime: 工作流首次提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstSubmitTime: String
        # @param LatestSubmitTime: 工作流最近提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LatestSubmitTime: String

        attr_accessor :ProjectId, :WorkflowId, :CreateTime, :Creater, :ModifyTime, :DelayTime, :StartupTime, :SelfDepend, :StartTime, :EndTime, :TaskAction, :CycleType, :CycleStep, :CrontabExpression, :ExecutionStartTime, :ExecutionEndTime, :InstanceInitStrategy, :DependencyWorkflow, :SchedulerDesc, :FirstSubmitTime, :LatestSubmitTime

        def initialize(projectid=nil, workflowid=nil, createtime=nil, creater=nil, modifytime=nil, delaytime=nil, startuptime=nil, selfdepend=nil, starttime=nil, endtime=nil, taskaction=nil, cycletype=nil, cyclestep=nil, crontabexpression=nil, executionstarttime=nil, executionendtime=nil, instanceinitstrategy=nil, dependencyworkflow=nil, schedulerdesc=nil, firstsubmittime=nil, latestsubmittime=nil)
          @ProjectId = projectid
          @WorkflowId = workflowid
          @CreateTime = createtime
          @Creater = creater
          @ModifyTime = modifytime
          @DelayTime = delaytime
          @StartupTime = startuptime
          @SelfDepend = selfdepend
          @StartTime = starttime
          @EndTime = endtime
          @TaskAction = taskaction
          @CycleType = cycletype
          @CycleStep = cyclestep
          @CrontabExpression = crontabexpression
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @InstanceInitStrategy = instanceinitstrategy
          @DependencyWorkflow = dependencyworkflow
          @SchedulerDesc = schedulerdesc
          @FirstSubmitTime = firstsubmittime
          @LatestSubmitTime = latestsubmittime
        end

        def deserialize(params)
          @ProjectId = params['ProjectId']
          @WorkflowId = params['WorkflowId']
          @CreateTime = params['CreateTime']
          @Creater = params['Creater']
          @ModifyTime = params['ModifyTime']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @SelfDepend = params['SelfDepend']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskAction = params['TaskAction']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @CrontabExpression = params['CrontabExpression']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @InstanceInitStrategy = params['InstanceInitStrategy']
          @DependencyWorkflow = params['DependencyWorkflow']
          @SchedulerDesc = params['SchedulerDesc']
          @FirstSubmitTime = params['FirstSubmitTime']
          @LatestSubmitTime = params['LatestSubmitTime']
        end
      end

      # 工作流调度详情
      class WorkflowSchedulerOpsDto < TencentCloud::Common::AbstractModel
        # @param CreateTime: 创建时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CreateTime: String
        # @param Creator: 创建人
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Creator: String
        # @param ModifyTime: 修改时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ModifyTime: String
        # @param DelayTime: 延迟时间, unit=minute
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DelayTime: Integer
        # @param StartupTime: 启动时间,unit=minute
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartupTime: Integer
        # @param SelfDepend: 任务自依赖类型
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SelfDepend: String
        # @param StartTime: 开始时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type StartTime: String
        # @param EndTime: 结束时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type EndTime: String
        # @param TaskAction: 指定运行时间, 指定时间:如周一:1
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TaskAction: String
        # @param CycleType: 调度周期类型,时间单位
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleType: String
        # @param CycleStep: 调度周期,间隔步长 unit=minute
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleStep: Integer
        # @param CrontabExpression: 调度cron表达式
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CrontabExpression: String
        # @param ExecutionStartTime: 执行时间左闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionStartTime: String
        # @param ExecutionEndTime: 执行时间右闭区间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type ExecutionEndTime: String
        # @param InstanceInitStrategy: 任务实例初始化策略
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type InstanceInitStrategy: String
        # @param WorkflowId: 工作流ID
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type WorkflowId: String
        # @param DependencyWorkflow: 工作流自依赖
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type DependencyWorkflow: String
        # @param SchedulerDesc: 调度计划释义
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type SchedulerDesc: String
        # @param FirstSubmitTime: 工作流首次提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type FirstSubmitTime: String
        # @param LatestSubmitTime: 工作流最近提交时间
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type LatestSubmitTime: String

        attr_accessor :CreateTime, :Creator, :ModifyTime, :DelayTime, :StartupTime, :SelfDepend, :StartTime, :EndTime, :TaskAction, :CycleType, :CycleStep, :CrontabExpression, :ExecutionStartTime, :ExecutionEndTime, :InstanceInitStrategy, :WorkflowId, :DependencyWorkflow, :SchedulerDesc, :FirstSubmitTime, :LatestSubmitTime

        def initialize(createtime=nil, creator=nil, modifytime=nil, delaytime=nil, startuptime=nil, selfdepend=nil, starttime=nil, endtime=nil, taskaction=nil, cycletype=nil, cyclestep=nil, crontabexpression=nil, executionstarttime=nil, executionendtime=nil, instanceinitstrategy=nil, workflowid=nil, dependencyworkflow=nil, schedulerdesc=nil, firstsubmittime=nil, latestsubmittime=nil)
          @CreateTime = createtime
          @Creator = creator
          @ModifyTime = modifytime
          @DelayTime = delaytime
          @StartupTime = startuptime
          @SelfDepend = selfdepend
          @StartTime = starttime
          @EndTime = endtime
          @TaskAction = taskaction
          @CycleType = cycletype
          @CycleStep = cyclestep
          @CrontabExpression = crontabexpression
          @ExecutionStartTime = executionstarttime
          @ExecutionEndTime = executionendtime
          @InstanceInitStrategy = instanceinitstrategy
          @WorkflowId = workflowid
          @DependencyWorkflow = dependencyworkflow
          @SchedulerDesc = schedulerdesc
          @FirstSubmitTime = firstsubmittime
          @LatestSubmitTime = latestsubmittime
        end

        def deserialize(params)
          @CreateTime = params['CreateTime']
          @Creator = params['Creator']
          @ModifyTime = params['ModifyTime']
          @DelayTime = params['DelayTime']
          @StartupTime = params['StartupTime']
          @SelfDepend = params['SelfDepend']
          @StartTime = params['StartTime']
          @EndTime = params['EndTime']
          @TaskAction = params['TaskAction']
          @CycleType = params['CycleType']
          @CycleStep = params['CycleStep']
          @CrontabExpression = params['CrontabExpression']
          @ExecutionStartTime = params['ExecutionStartTime']
          @ExecutionEndTime = params['ExecutionEndTime']
          @InstanceInitStrategy = params['InstanceInitStrategy']
          @WorkflowId = params['WorkflowId']
          @DependencyWorkflow = params['DependencyWorkflow']
          @SchedulerDesc = params['SchedulerDesc']
          @FirstSubmitTime = params['FirstSubmitTime']
          @LatestSubmitTime = params['LatestSubmitTime']
        end
      end

      # 工作流任务统计
      class WorkflowTaskCountOpsDto < TencentCloud::Common::AbstractModel
        # @param Count: 工作流任务数
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type Count: Integer
        # @param TypeCount: 任务类型维度统计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type TypeCount: Array
        # @param CycleCount: 任务周期类型维度统计
        # 注意:此字段可能返回 null,表示取不到有效值。
        # @type CycleCount: Array

        attr_accessor :Count, :TypeCount, :CycleCount

        def initialize(count=nil, typecount=nil, cyclecount=nil)
          @Count = count
          @TypeCount = typecount
          @CycleCount = cyclecount
        end

        def deserialize(params)
          @Count = params['Count']
          unless params['TypeCount'].nil?
            @TypeCount = []
            params['TypeCount'].each do |i|
              pairdto_tmp = PairDto.new
              pairdto_tmp.deserialize(i)
              @TypeCount << pairdto_tmp
            end
          end
          unless params['CycleCount'].nil?
            @CycleCount = []
            params['CycleCount'].each do |i|
              pairdto_tmp = PairDto.new
              pairdto_tmp.deserialize(i)
              @CycleCount << pairdto_tmp
            end
          end
        end
      end

    end
  end
end