// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mps.Outputs
{

    [OutputType]
    public sealed class WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSet
    {
        /// <summary>
        /// Transfer Adaptive Code Stream Template ID.
        /// </summary>
        public readonly int Definition;
        /// <summary>
        /// After converting to an adaptive stream, the output path of the manifest file can be a relative path or an absolute path. If not filled, the default is a relative path: `{inputName}_adaptiveDynamicStreaming_{definition}.{format}`.
        /// </summary>
        public readonly string? OutputObjectPath;
        /// <summary>
        /// The target storage of the file after converting to the adaptive code stream, if not filled, it will inherit the OutputStorage value of the upper layer.Note: This field may return null, indicating that no valid value can be obtained.
        /// </summary>
        public readonly Outputs.WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSetOutputStorage? OutputStorage;
        /// <summary>
        /// After converting to an adaptive stream (only HLS), the output path of the fragmented file can only be a relative path. If not filled, the default is a relative path: `{inputName}_adaptiveDynamicStreaming_{definition}_{subStreamNumber}_{segmentNumber}.{format}`.
        /// </summary>
        public readonly string? SegmentObjectName;
        /// <summary>
        /// After converting to an adaptive stream, the output path of the sub-stream file can only be a relative path. If not filled, the default is a relative path: {inputName}_adaptiveDynamicStreaming_{definition}_{subStreamNumber}.{format}`.
        /// </summary>
        public readonly string? SubStreamObjectName;
        /// <summary>
        /// Watermark list, support multiple pictures or text watermarks, up to 10.
        /// </summary>
        public readonly ImmutableArray<Outputs.WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSetWatermarkSet> WatermarkSets;

        [OutputConstructor]
        private WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSet(
            int definition,

            string? outputObjectPath,

            Outputs.WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSetOutputStorage? outputStorage,

            string? segmentObjectName,

            string? subStreamObjectName,

            ImmutableArray<Outputs.WorkflowMediaProcessTaskAdaptiveDynamicStreamingTaskSetWatermarkSet> watermarkSets)
        {
            Definition = definition;
            OutputObjectPath = outputObjectPath;
            OutputStorage = outputStorage;
            SegmentObjectName = segmentObjectName;
            SubStreamObjectName = subStreamObjectName;
            WatermarkSets = watermarkSets;
        }
    }
}
