
com.pulumi.awsnative.mediapackagev2.kotlin.inputs.OriginEndpointHlsManifestConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.mediapackagev2.kotlin.inputs
import com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointHlsManifestConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
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
/**
* Retrieve the HTTP live streaming (HLS) manifest configuration.
* @property childManifestName A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default child manifest name, index_1. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
* @property filterConfiguration
* @property manifestName A short short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. MediaPackage automatically inserts the format extension, such as .m3u8. You can't use the same manifest name if you use HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
* @property manifestWindowSeconds The total duration (in seconds) of the manifest's content.
* @property programDateTimeIntervalSeconds Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval,
* EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.
* The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.
* ID3Timed metadata messages generate every 5 seconds whenever the content is ingested.
* Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
* @property scteHls THE SCTE-35 HLS configuration associated with the HLS manifest configuration.
* @property url The egress domain URL for stream delivery from MediaPackage.
*/
public data class OriginEndpointHlsManifestConfigurationArgs(
public val childManifestName: Output? = null,
public val filterConfiguration: Output? = null,
public val manifestName: Output,
public val manifestWindowSeconds: Output? = null,
public val programDateTimeIntervalSeconds: Output? = null,
public val scteHls: Output? = null,
public val url: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointHlsManifestConfigurationArgs =
com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointHlsManifestConfigurationArgs.builder()
.childManifestName(childManifestName?.applyValue({ args0 -> args0 }))
.filterConfiguration(
filterConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.manifestName(manifestName.applyValue({ args0 -> args0 }))
.manifestWindowSeconds(manifestWindowSeconds?.applyValue({ args0 -> args0 }))
.programDateTimeIntervalSeconds(programDateTimeIntervalSeconds?.applyValue({ args0 -> args0 }))
.scteHls(scteHls?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.url(url?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [OriginEndpointHlsManifestConfigurationArgs].
*/
@PulumiTagMarker
public class OriginEndpointHlsManifestConfigurationArgsBuilder internal constructor() {
private var childManifestName: Output? = null
private var filterConfiguration: Output? = null
private var manifestName: Output? = null
private var manifestWindowSeconds: Output? = null
private var programDateTimeIntervalSeconds: Output? = null
private var scteHls: Output? = null
private var url: Output? = null
/**
* @param value A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default child manifest name, index_1. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
*/
@JvmName("nrptbcxgnmofphmr")
public suspend fun childManifestName(`value`: Output) {
this.childManifestName = value
}
/**
* @param value
*/
@JvmName("xvejicrtflyescju")
public suspend fun filterConfiguration(`value`: Output) {
this.filterConfiguration = value
}
/**
* @param value A short short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. MediaPackage automatically inserts the format extension, such as .m3u8. You can't use the same manifest name if you use HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
*/
@JvmName("iyjijrmqusvatfxo")
public suspend fun manifestName(`value`: Output) {
this.manifestName = value
}
/**
* @param value The total duration (in seconds) of the manifest's content.
*/
@JvmName("twcjbvkyqfqfybvj")
public suspend fun manifestWindowSeconds(`value`: Output) {
this.manifestWindowSeconds = value
}
/**
* @param value Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval,
* EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.
* The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.
* ID3Timed metadata messages generate every 5 seconds whenever the content is ingested.
* Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
*/
@JvmName("dsdirfkhepjciebf")
public suspend fun programDateTimeIntervalSeconds(`value`: Output) {
this.programDateTimeIntervalSeconds = value
}
/**
* @param value THE SCTE-35 HLS configuration associated with the HLS manifest configuration.
*/
@JvmName("ryhggxlbdgatjkho")
public suspend fun scteHls(`value`: Output) {
this.scteHls = value
}
/**
* @param value The egress domain URL for stream delivery from MediaPackage.
*/
@JvmName("xgvjnmdaduefdhmd")
public suspend fun url(`value`: Output) {
this.url = value
}
/**
* @param value A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default child manifest name, index_1. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
*/
@JvmName("jabwrnwthcundyra")
public suspend fun childManifestName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.childManifestName = mapped
}
/**
* @param value
*/
@JvmName("ilidhtduadxsjjaq")
public suspend fun filterConfiguration(`value`: OriginEndpointFilterConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.filterConfiguration = mapped
}
/**
* @param argument
*/
@JvmName("jjqlphfgesptatba")
public suspend fun filterConfiguration(argument: suspend OriginEndpointFilterConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = OriginEndpointFilterConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.filterConfiguration = mapped
}
/**
* @param value A short short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. MediaPackage automatically inserts the format extension, such as .m3u8. You can't use the same manifest name if you use HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
*/
@JvmName("aeskngaditopfewg")
public suspend fun manifestName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.manifestName = mapped
}
/**
* @param value The total duration (in seconds) of the manifest's content.
*/
@JvmName("afmpquymxvsttbqx")
public suspend fun manifestWindowSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.manifestWindowSeconds = mapped
}
/**
* @param value Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval,
* EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.
* The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.
* ID3Timed metadata messages generate every 5 seconds whenever the content is ingested.
* Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
*/
@JvmName("asjytmwnjdlhndot")
public suspend fun programDateTimeIntervalSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.programDateTimeIntervalSeconds = mapped
}
/**
* @param value THE SCTE-35 HLS configuration associated with the HLS manifest configuration.
*/
@JvmName("hsyvhgsmxnuvvsui")
public suspend fun scteHls(`value`: OriginEndpointScteHlsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scteHls = mapped
}
/**
* @param argument THE SCTE-35 HLS configuration associated with the HLS manifest configuration.
*/
@JvmName("cgxnjibaabrtdvjl")
public suspend fun scteHls(argument: suspend OriginEndpointScteHlsArgsBuilder.() -> Unit) {
val toBeMapped = OriginEndpointScteHlsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.scteHls = mapped
}
/**
* @param value The egress domain URL for stream delivery from MediaPackage.
*/
@JvmName("unlssyxhketdikss")
public suspend fun url(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.url = mapped
}
internal fun build(): OriginEndpointHlsManifestConfigurationArgs =
OriginEndpointHlsManifestConfigurationArgs(
childManifestName = childManifestName,
filterConfiguration = filterConfiguration,
manifestName = manifestName ?: throw PulumiNullFieldException("manifestName"),
manifestWindowSeconds = manifestWindowSeconds,
programDateTimeIntervalSeconds = programDateTimeIntervalSeconds,
scteHls = scteHls,
url = url,
)
}