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

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

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationHlsManifestArgs.builder
import com.pulumi.awsnative.mediapackage.kotlin.enums.PackagingConfigurationHlsManifestAdMarkers
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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * An HTTP Live Streaming (HLS) manifest configuration.
 * @property adMarkers This setting controls how ad markers are included in the packaged OriginEndpoint. "NONE" will omit all SCTE-35 ad markers from the output. "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 messages in the input source.
 * @property includeIframeOnlyStream When enabled, an I-Frame only stream will be included in the output.
 * @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 programDateTimeIntervalSeconds The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.
 * @property repeatExtXKey When enabled, the EXT-X-KEY tag will be repeated in output manifests.
 * @property streamSelection Video bitrate limitations for outputs from this packaging configuration.
 */
public data class PackagingConfigurationHlsManifestArgs(
    public val adMarkers: Output? = null,
    public val includeIframeOnlyStream: Output? = null,
    public val manifestName: Output? = null,
    public val programDateTimeIntervalSeconds: Output? = null,
    public val repeatExtXKey: Output? = null,
    public val streamSelection: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationHlsManifestArgs =
        com.pulumi.awsnative.mediapackage.inputs.PackagingConfigurationHlsManifestArgs.builder()
            .adMarkers(adMarkers?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .includeIframeOnlyStream(includeIframeOnlyStream?.applyValue({ args0 -> args0 }))
            .manifestName(manifestName?.applyValue({ args0 -> args0 }))
            .programDateTimeIntervalSeconds(programDateTimeIntervalSeconds?.applyValue({ args0 -> args0 }))
            .repeatExtXKey(repeatExtXKey?.applyValue({ args0 -> args0 }))
            .streamSelection(
                streamSelection?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [PackagingConfigurationHlsManifestArgs].
 */
@PulumiTagMarker
public class PackagingConfigurationHlsManifestArgsBuilder internal constructor() {
    private var adMarkers: Output? = null

    private var includeIframeOnlyStream: Output? = null

    private var manifestName: Output? = null

    private var programDateTimeIntervalSeconds: Output? = null

    private var repeatExtXKey: Output? = null

    private var streamSelection: Output? = null

    /**
     * @param value This setting controls how ad markers are included in the packaged OriginEndpoint. "NONE" will omit all SCTE-35 ad markers from the output. "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 messages in the input source.
     */
    @JvmName("nigeytagmamiqdtd")
    public suspend fun adMarkers(`value`: Output) {
        this.adMarkers = value
    }

    /**
     * @param value When enabled, an I-Frame only stream will be included in the output.
     */
    @JvmName("hkiurphmwxcgkppj")
    public suspend fun includeIframeOnlyStream(`value`: Output) {
        this.includeIframeOnlyStream = 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("xybyeaeuumsuyfsy")
    public suspend fun manifestName(`value`: Output) {
        this.manifestName = value
    }

    /**
     * @param value The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.
     */
    @JvmName("ctgkbywgruimopqx")
    public suspend fun programDateTimeIntervalSeconds(`value`: Output) {
        this.programDateTimeIntervalSeconds = value
    }

    /**
     * @param value When enabled, the EXT-X-KEY tag will be repeated in output manifests.
     */
    @JvmName("wwysdwderalvhsit")
    public suspend fun repeatExtXKey(`value`: Output) {
        this.repeatExtXKey = value
    }

    /**
     * @param value Video bitrate limitations for outputs from this packaging configuration.
     */
    @JvmName("cybpdhlhpjrggsjl")
    public suspend fun streamSelection(`value`: Output) {
        this.streamSelection = value
    }

    /**
     * @param value This setting controls how ad markers are included in the packaged OriginEndpoint. "NONE" will omit all SCTE-35 ad markers from the output. "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 messages in the input source.
     */
    @JvmName("fcegsjrwwreuwucy")
    public suspend fun adMarkers(`value`: PackagingConfigurationHlsManifestAdMarkers?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.adMarkers = mapped
    }

    /**
     * @param value When enabled, an I-Frame only stream will be included in the output.
     */
    @JvmName("keequypssxgvkjbg")
    public suspend fun includeIframeOnlyStream(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.includeIframeOnlyStream = 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("qljfawdejrfuaxng")
    public suspend fun manifestName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manifestName = mapped
    }

    /**
     * @param value The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.
     */
    @JvmName("brgmpsjptceifrcb")
    public suspend fun programDateTimeIntervalSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.programDateTimeIntervalSeconds = mapped
    }

    /**
     * @param value When enabled, the EXT-X-KEY tag will be repeated in output manifests.
     */
    @JvmName("iytexjoauqqohqyo")
    public suspend fun repeatExtXKey(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.repeatExtXKey = mapped
    }

    /**
     * @param value Video bitrate limitations for outputs from this packaging configuration.
     */
    @JvmName("kvamervalprcpvuj")
    public suspend fun streamSelection(`value`: PackagingConfigurationStreamSelectionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streamSelection = mapped
    }

    /**
     * @param argument Video bitrate limitations for outputs from this packaging configuration.
     */
    @JvmName("pgvpmmbtcjbklvxd")
    public suspend fun streamSelection(argument: suspend PackagingConfigurationStreamSelectionArgsBuilder.() -> Unit) {
        val toBeMapped = PackagingConfigurationStreamSelectionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.streamSelection = mapped
    }

    internal fun build(): PackagingConfigurationHlsManifestArgs =
        PackagingConfigurationHlsManifestArgs(
            adMarkers = adMarkers,
            includeIframeOnlyStream = includeIframeOnlyStream,
            manifestName = manifestName,
            programDateTimeIntervalSeconds = programDateTimeIntervalSeconds,
            repeatExtXKey = repeatExtXKey,
            streamSelection = streamSelection,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy