/*
* Copyright (c) 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.
*/
namespace TencentCloud.Vod.V20180717.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class ProcedureTask : AbstractModel
{
///
/// 视频处理任务 ID。
///
[JsonProperty("TaskId")]
public string TaskId{ get; set; }
///
/// 任务流状态,取值:
/// PROCESSING:处理中;
/// FINISH:已完成。
///
[JsonProperty("Status")]
public string Status{ get; set; }
///
/// 已弃用,请使用各个具体任务的 ErrCode。
///
[JsonProperty("ErrCode")]
public long? ErrCode{ get; set; }
///
/// 已弃用,请使用各个具体任务的 Message。
///
[JsonProperty("Message")]
public string Message{ get; set; }
///
/// 媒体文件 ID
/// 若流程由 [ProcessMedia](https://cloud.tencent.com/document/product/266/33427) 发起,该字段表示 [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo) 的 FileId;
/// 若流程由 [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426) 发起,该字段表示 [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo) 的 Id。
///
[JsonProperty("FileId")]
public string FileId{ get; set; }
///
/// 媒体文件名称
/// 若流程由 [ProcessMedia](https://cloud.tencent.com/document/product/266/33427) 发起,该字段表示 [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo) 的 BasicInfo.Name;
/// 若流程由 [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426) 发起,该字段表示 [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo) 的 Name。
///
[JsonProperty("FileName")]
public string FileName{ get; set; }
///
/// 媒体文件地址
/// 若流程由 [ProcessMedia](https://cloud.tencent.com/document/product/266/33427) 发起,该字段表示 [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo) 的 BasicInfo.MediaUrl;
/// 若流程由 [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426) 发起,该字段表示 [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo) 的 Url。
///
[JsonProperty("FileUrl")]
public string FileUrl{ get; set; }
///
/// 原始视频的元信息。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("MetaData")]
public MediaMetaData MetaData{ get; set; }
///
/// 视频处理任务的执行状态与结果。
///
[JsonProperty("MediaProcessResultSet")]
public MediaProcessTaskResult[] MediaProcessResultSet{ get; set; }
///
/// 视频内容审核任务的执行状态与结果。
///
[JsonProperty("AiContentReviewResultSet")]
public AiContentReviewResult[] AiContentReviewResultSet{ get; set; }
///
/// 视频内容分析任务的执行状态与结果。
///
[JsonProperty("AiAnalysisResultSet")]
public AiAnalysisResult[] AiAnalysisResultSet{ get; set; }
///
/// 视频内容识别任务的执行状态与结果。
///
[JsonProperty("AiRecognitionResultSet")]
public AiRecognitionResult[] AiRecognitionResultSet{ get; set; }
///
/// 任务流的优先级,取值范围为 [-10, 10]。
///
[JsonProperty("TasksPriority")]
public long? TasksPriority{ get; set; }
///
/// 任务流状态变更通知模式。
/// Finish:只有当任务流全部执行完毕时,才发起一次事件通知;
/// Change:只要任务流中每个子任务的状态发生变化,都进行事件通知;
/// None:不接受该任务流回调。
///
[JsonProperty("TasksNotifyMode")]
public string TasksNotifyMode{ get; set; }
///
/// 来源上下文,用于透传用户请求信息,任务流状态变更回调将返回该字段值,最长 1000 个字符。
///
[JsonProperty("SessionContext")]
public string SessionContext{ get; set; }
///
/// 用于去重的识别码,如果七天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
///
[JsonProperty("SessionId")]
public string SessionId{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "TaskId", this.TaskId);
this.SetParamSimple(map, prefix + "Status", this.Status);
this.SetParamSimple(map, prefix + "ErrCode", this.ErrCode);
this.SetParamSimple(map, prefix + "Message", this.Message);
this.SetParamSimple(map, prefix + "FileId", this.FileId);
this.SetParamSimple(map, prefix + "FileName", this.FileName);
this.SetParamSimple(map, prefix + "FileUrl", this.FileUrl);
this.SetParamObj(map, prefix + "MetaData.", this.MetaData);
this.SetParamArrayObj(map, prefix + "MediaProcessResultSet.", this.MediaProcessResultSet);
this.SetParamArrayObj(map, prefix + "AiContentReviewResultSet.", this.AiContentReviewResultSet);
this.SetParamArrayObj(map, prefix + "AiAnalysisResultSet.", this.AiAnalysisResultSet);
this.SetParamArrayObj(map, prefix + "AiRecognitionResultSet.", this.AiRecognitionResultSet);
this.SetParamSimple(map, prefix + "TasksPriority", this.TasksPriority);
this.SetParamSimple(map, prefix + "TasksNotifyMode", this.TasksNotifyMode);
this.SetParamSimple(map, prefix + "SessionContext", this.SessionContext);
this.SetParamSimple(map, prefix + "SessionId", this.SessionId);
}
}
}