All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.mediapackage.kotlin.inputs.PackagingConfigurationDashManifestArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediapackage.kotlin.inputs

import com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationDashManifestArgs.builder
import com.pulumi.awsnative.mediapackage.kotlin.enums.PackagingConfigurationDashManifestManifestLayout
import com.pulumi.awsnative.mediapackage.kotlin.enums.PackagingConfigurationDashManifestProfile
import com.pulumi.awsnative.mediapackage.kotlin.enums.PackagingConfigurationDashManifestScteMarkersSource
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * A DASH manifest configuration.
 * @property manifestLayout Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.
 * @property manifestName A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
 * @property minBufferTimeSeconds Minimum duration (in seconds) that a player will buffer media before starting the presentation.
 * @property profile The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
 * @property scteMarkersSource The source of scte markers used. When set to SEGMENTS, the scte markers are sourced from the segments of the ingested content. When set to MANIFEST, the scte markers are sourced from the manifest of the ingested content.
 * @property streamSelection Limitations for outputs from the endpoint, based on the video bitrate.
 */
public data class PackagingConfigurationDashManifestArgs(
    public val manifestLayout: Output? = null,
    public val manifestName: Output? = null,
    public val minBufferTimeSeconds: Output? = null,
    public val profile: Output? = null,
    public val scteMarkersSource: Output? = null,
    public val streamSelection: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationDashManifestArgs =
        com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationDashManifestArgs.builder()
            .manifestLayout(manifestLayout?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .manifestName(manifestName?.applyValue({ args0 -> args0 }))
            .minBufferTimeSeconds(minBufferTimeSeconds?.applyValue({ args0 -> args0 }))
            .profile(profile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .scteMarkersSource(scteMarkersSource?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .streamSelection(
                streamSelection?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [PackagingConfigurationDashManifestArgs].
 */
@PulumiTagMarker
public class PackagingConfigurationDashManifestArgsBuilder internal constructor() {
    private var manifestLayout: Output? = null

    private var manifestName: Output? = null

    private var minBufferTimeSeconds: Output? = null

    private var profile: Output? = null

    private var scteMarkersSource: Output? = null

    private var streamSelection: Output? = null

    /**
     * @param value Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.
     */
    @JvmName("ntgvontbobxkjhkn")
    public suspend fun manifestLayout(`value`: Output) {
        this.manifestLayout = value
    }

    /**
     * @param value A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
     */
    @JvmName("eadwafpynhrsbhgl")
    public suspend fun manifestName(`value`: Output) {
        this.manifestName = value
    }

    /**
     * @param value Minimum duration (in seconds) that a player will buffer media before starting the presentation.
     */
    @JvmName("kecwamtgcrnqxgpg")
    public suspend fun minBufferTimeSeconds(`value`: Output) {
        this.minBufferTimeSeconds = value
    }

    /**
     * @param value The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
     */
    @JvmName("dirtppmmnsjxuavb")
    public suspend fun profile(`value`: Output) {
        this.profile = value
    }

    /**
     * @param value The source of scte markers used. When set to SEGMENTS, the scte markers are sourced from the segments of the ingested content. When set to MANIFEST, the scte markers are sourced from the manifest of the ingested content.
     */
    @JvmName("mtoglokpsoxjiesj")
    public suspend fun scteMarkersSource(`value`: Output) {
        this.scteMarkersSource = value
    }

    /**
     * @param value Limitations for outputs from the endpoint, based on the video bitrate.
     */
    @JvmName("ixbtwluyngmfamno")
    public suspend fun streamSelection(`value`: Output) {
        this.streamSelection = value
    }

    /**
     * @param value Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.
     */
    @JvmName("whoqhhpsralxqelf")
    public suspend fun manifestLayout(`value`: PackagingConfigurationDashManifestManifestLayout?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manifestLayout = mapped
    }

    /**
     * @param value A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
     */
    @JvmName("eotkioyqdsqcrygv")
    public suspend fun manifestName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manifestName = mapped
    }

    /**
     * @param value Minimum duration (in seconds) that a player will buffer media before starting the presentation.
     */
    @JvmName("xlayuwtwtdhqylud")
    public suspend fun minBufferTimeSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minBufferTimeSeconds = mapped
    }

    /**
     * @param value The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
     */
    @JvmName("mihyokshvkbxvyfx")
    public suspend fun profile(`value`: PackagingConfigurationDashManifestProfile?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profile = mapped
    }

    /**
     * @param value The source of scte markers used. When set to SEGMENTS, the scte markers are sourced from the segments of the ingested content. When set to MANIFEST, the scte markers are sourced from the manifest of the ingested content.
     */
    @JvmName("svbpbmdyaysqivvr")
    public suspend fun scteMarkersSource(`value`: PackagingConfigurationDashManifestScteMarkersSource?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.scteMarkersSource = mapped
    }

    /**
     * @param value Limitations for outputs from the endpoint, based on the video bitrate.
     */
    @JvmName("sgksgdaimerhnrfb")
    public suspend fun streamSelection(`value`: PackagingConfigurationStreamSelectionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streamSelection = mapped
    }

    /**
     * @param argument Limitations for outputs from the endpoint, based on the video bitrate.
     */
    @JvmName("dusjiwhjnlsrmcie")
    public suspend fun streamSelection(argument: suspend PackagingConfigurationStreamSelectionArgsBuilder.() -> Unit) {
        val toBeMapped = PackagingConfigurationStreamSelectionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.streamSelection = mapped
    }

    internal fun build(): PackagingConfigurationDashManifestArgs =
        PackagingConfigurationDashManifestArgs(
            manifestLayout = manifestLayout,
            manifestName = manifestName,
            minBufferTimeSeconds = minBufferTimeSeconds,
            profile = profile,
            scteMarkersSource = scteMarkersSource,
            streamSelection = streamSelection,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy