/*
* 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 EventContent : AbstractModel
{
///
/// 事件句柄,调用方必须调用 ConfirmEvents 来确认消息已经收到,确认有效时间 30 秒。失效后,事件可重新被获取。
///
[JsonProperty("EventHandle")]
public string EventHandle{ get; set; }
///
/// 支持事件类型:
/// NewFileUpload:视频上传完成;
/// ProcedureStateChanged:任务流状态变更;
/// FileDeleted:视频删除完成;
/// PullComplete:视频转拉完成;
/// EditMediaComplete:视频编辑完成;
/// WechatPublishComplete:微信发布完成;
/// ComposeMediaComplete:制作媒体文件完成;
/// WechatMiniProgramPublishComplete:微信小程序发布完成。
/// 兼容 2017 版的事件类型:
/// TranscodeComplete:视频转码完成;
/// ConcatComplete:视频拼接完成;
/// ClipComplete:视频剪辑完成;
/// CreateImageSpriteComplete:视频截取雪碧图完成;
/// CreateSnapshotByTimeOffsetComplete:视频按时间点截图完成。
///
[JsonProperty("EventType")]
public string EventType{ get; set; }
///
/// 视频上传完成事件,当事件类型为 NewFileUpload 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("FileUploadEvent")]
public FileUploadTask FileUploadEvent{ get; set; }
///
/// 任务流状态变更事件,当事件类型为 ProcedureStateChanged 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("ProcedureStateChangeEvent")]
public ProcedureTask ProcedureStateChangeEvent{ get; set; }
///
/// 文件删除事件,当事件类型为 FileDeleted 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("FileDeleteEvent")]
public FileDeleteTask FileDeleteEvent{ get; set; }
///
/// 视频转拉完成事件,当事件类型为 PullComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("PullCompleteEvent")]
public PullUploadTask PullCompleteEvent{ get; set; }
///
/// 视频编辑完成事件,当事件类型为 EditMediaComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("EditMediaCompleteEvent")]
public EditMediaTask EditMediaCompleteEvent{ get; set; }
///
/// 微信发布完成事件,当事件类型为 WechatPublishComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("WechatPublishCompleteEvent")]
public WechatPublishTask WechatPublishCompleteEvent{ get; set; }
///
/// 视频转码完成事件,当事件类型为 TranscodeComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("TranscodeCompleteEvent")]
public TranscodeTask2017 TranscodeCompleteEvent{ get; set; }
///
/// 视频拼接完成事件,当事件类型为 ConcatComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("ConcatCompleteEvent")]
public ConcatTask2017 ConcatCompleteEvent{ get; set; }
///
/// 视频剪辑完成事件,当事件类型为 ClipComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("ClipCompleteEvent")]
public ClipTask2017 ClipCompleteEvent{ get; set; }
///
/// 视频截取雪碧图完成事件,当事件类型为 CreateImageSpriteComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("CreateImageSpriteCompleteEvent")]
public CreateImageSpriteTask2017 CreateImageSpriteCompleteEvent{ get; set; }
///
/// 视频按时间点截图完成事件,当事件类型为 CreateSnapshotByTimeOffsetComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("SnapshotByTimeOffsetCompleteEvent")]
public SnapshotByTimeOffsetTask2017 SnapshotByTimeOffsetCompleteEvent{ get; set; }
///
/// 制作媒体文件任务完成事件,当事件类型为 ComposeMediaComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("ComposeMediaCompleteEvent")]
public ComposeMediaTask ComposeMediaCompleteEvent{ get; set; }
///
/// 微信小程序发布任务完成事件,当事件类型为 WechatMiniProgramPublishComplete 时有效。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("WechatMiniProgramPublishCompleteEvent")]
public WechatMiniProgramPublishTask WechatMiniProgramPublishCompleteEvent{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "EventHandle", this.EventHandle);
this.SetParamSimple(map, prefix + "EventType", this.EventType);
this.SetParamObj(map, prefix + "FileUploadEvent.", this.FileUploadEvent);
this.SetParamObj(map, prefix + "ProcedureStateChangeEvent.", this.ProcedureStateChangeEvent);
this.SetParamObj(map, prefix + "FileDeleteEvent.", this.FileDeleteEvent);
this.SetParamObj(map, prefix + "PullCompleteEvent.", this.PullCompleteEvent);
this.SetParamObj(map, prefix + "EditMediaCompleteEvent.", this.EditMediaCompleteEvent);
this.SetParamObj(map, prefix + "WechatPublishCompleteEvent.", this.WechatPublishCompleteEvent);
this.SetParamObj(map, prefix + "TranscodeCompleteEvent.", this.TranscodeCompleteEvent);
this.SetParamObj(map, prefix + "ConcatCompleteEvent.", this.ConcatCompleteEvent);
this.SetParamObj(map, prefix + "ClipCompleteEvent.", this.ClipCompleteEvent);
this.SetParamObj(map, prefix + "CreateImageSpriteCompleteEvent.", this.CreateImageSpriteCompleteEvent);
this.SetParamObj(map, prefix + "SnapshotByTimeOffsetCompleteEvent.", this.SnapshotByTimeOffsetCompleteEvent);
this.SetParamObj(map, prefix + "ComposeMediaCompleteEvent.", this.ComposeMediaCompleteEvent);
this.SetParamObj(map, prefix + "WechatMiniProgramPublishCompleteEvent.", this.WechatMiniProgramPublishCompleteEvent);
}
}
}