com.pulumi.awsnative.mediapackage.kotlin.inputs.PackagingConfigurationDashManifestArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@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,
)
}