com.pulumi.awsnative.mediapackagev2.kotlin.inputs.OriginEndpointSegmentArgs.kt Maven / Gradle / Ivy
Show all versions of pulumi-aws-native-kotlin Show documentation
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.mediapackagev2.kotlin.inputs
import com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointSegmentArgs.builder
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
/**
* The segment configuration, including the segment name, duration, and other configuration values.
* @property encryption Whether to use encryption for the segment.
* @property includeIframeOnlyStreams When selected, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included. MediaPackage generates an I-frame only stream from the first rendition in the manifest. The service inserts EXT-I-FRAMES-ONLY tags in the output manifest, and then generates and includes an I-frames only playlist in the stream. This playlist permits player functionality like fast forward and rewind.
* @property scte The SCTE-35 configuration associated with the segment.
* @property segmentDurationSeconds The duration (in seconds) of each segment. Enter a value equal to, or a multiple of, the input segment duration. If the value that you enter is different from the input segment duration, MediaPackage rounds segments to the nearest multiple of the input segment duration.
* @property segmentName The name that describes the segment. The name is the base name of the segment used in all content manifests inside of the endpoint. You can't use spaces in the name.
* @property tsIncludeDvbSubtitles By default, MediaPackage excludes all digital video broadcasting (DVB) subtitles from the output. When selected, MediaPackage passes through DVB subtitles into the output.
* @property tsUseAudioRenditionGroup When selected, MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group.
*/
public data class OriginEndpointSegmentArgs(
public val encryption: Output? = null,
public val includeIframeOnlyStreams: Output? = null,
public val scte: Output? = null,
public val segmentDurationSeconds: Output? = null,
public val segmentName: Output? = null,
public val tsIncludeDvbSubtitles: Output? = null,
public val tsUseAudioRenditionGroup: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointSegmentArgs =
com.pulumi.awsnative.mediapackagev2.inputs.OriginEndpointSegmentArgs.builder()
.encryption(encryption?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.includeIframeOnlyStreams(includeIframeOnlyStreams?.applyValue({ args0 -> args0 }))
.scte(scte?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.segmentDurationSeconds(segmentDurationSeconds?.applyValue({ args0 -> args0 }))
.segmentName(segmentName?.applyValue({ args0 -> args0 }))
.tsIncludeDvbSubtitles(tsIncludeDvbSubtitles?.applyValue({ args0 -> args0 }))
.tsUseAudioRenditionGroup(tsUseAudioRenditionGroup?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [OriginEndpointSegmentArgs].
*/
@PulumiTagMarker
public class OriginEndpointSegmentArgsBuilder internal constructor() {
private var encryption: Output? = null
private var includeIframeOnlyStreams: Output? = null
private var scte: Output? = null
private var segmentDurationSeconds: Output? = null
private var segmentName: Output? = null
private var tsIncludeDvbSubtitles: Output? = null
private var tsUseAudioRenditionGroup: Output? = null
/**
* @param value Whether to use encryption for the segment.
*/
@JvmName("oiiyslgyxhfnwxsb")
public suspend fun encryption(`value`: Output) {
this.encryption = value
}
/**
* @param value When selected, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included. MediaPackage generates an I-frame only stream from the first rendition in the manifest. The service inserts EXT-I-FRAMES-ONLY tags in the output manifest, and then generates and includes an I-frames only playlist in the stream. This playlist permits player functionality like fast forward and rewind.
*/
@JvmName("bceixvnosvuvcugq")
public suspend fun includeIframeOnlyStreams(`value`: Output) {
this.includeIframeOnlyStreams = value
}
/**
* @param value The SCTE-35 configuration associated with the segment.
*/
@JvmName("dqcykchkkgggastu")
public suspend fun scte(`value`: Output) {
this.scte = value
}
/**
* @param value The duration (in seconds) of each segment. Enter a value equal to, or a multiple of, the input segment duration. If the value that you enter is different from the input segment duration, MediaPackage rounds segments to the nearest multiple of the input segment duration.
*/
@JvmName("qxhkbvljclbxxsyk")
public suspend fun segmentDurationSeconds(`value`: Output) {
this.segmentDurationSeconds = value
}
/**
* @param value The name that describes the segment. The name is the base name of the segment used in all content manifests inside of the endpoint. You can't use spaces in the name.
*/
@JvmName("hmnivbfcfyensqpn")
public suspend fun segmentName(`value`: Output) {
this.segmentName = value
}
/**
* @param value By default, MediaPackage excludes all digital video broadcasting (DVB) subtitles from the output. When selected, MediaPackage passes through DVB subtitles into the output.
*/
@JvmName("gejfycmmcugqfaax")
public suspend fun tsIncludeDvbSubtitles(`value`: Output) {
this.tsIncludeDvbSubtitles = value
}
/**
* @param value When selected, MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group.
*/
@JvmName("crooyljncehoesyc")
public suspend fun tsUseAudioRenditionGroup(`value`: Output) {
this.tsUseAudioRenditionGroup = value
}
/**
* @param value Whether to use encryption for the segment.
*/
@JvmName("dtduoflbydqwpvha")
public suspend fun encryption(`value`: OriginEndpointEncryptionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryption = mapped
}
/**
* @param argument Whether to use encryption for the segment.
*/
@JvmName("mdaeqslsdkquakek")
public suspend fun encryption(argument: suspend OriginEndpointEncryptionArgsBuilder.() -> Unit) {
val toBeMapped = OriginEndpointEncryptionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.encryption = mapped
}
/**
* @param value When selected, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included. MediaPackage generates an I-frame only stream from the first rendition in the manifest. The service inserts EXT-I-FRAMES-ONLY tags in the output manifest, and then generates and includes an I-frames only playlist in the stream. This playlist permits player functionality like fast forward and rewind.
*/
@JvmName("xywxwiokmdldwkys")
public suspend fun includeIframeOnlyStreams(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.includeIframeOnlyStreams = mapped
}
/**
* @param value The SCTE-35 configuration associated with the segment.
*/
@JvmName("rfnvbjpsvgyutoqm")
public suspend fun scte(`value`: OriginEndpointScteArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scte = mapped
}
/**
* @param argument The SCTE-35 configuration associated with the segment.
*/
@JvmName("dmajtaoteybanaxc")
public suspend fun scte(argument: suspend OriginEndpointScteArgsBuilder.() -> Unit) {
val toBeMapped = OriginEndpointScteArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.scte = mapped
}
/**
* @param value The duration (in seconds) of each segment. Enter a value equal to, or a multiple of, the input segment duration. If the value that you enter is different from the input segment duration, MediaPackage rounds segments to the nearest multiple of the input segment duration.
*/
@JvmName("igwilvgeiywmqwwg")
public suspend fun segmentDurationSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.segmentDurationSeconds = mapped
}
/**
* @param value The name that describes the segment. The name is the base name of the segment used in all content manifests inside of the endpoint. You can't use spaces in the name.
*/
@JvmName("rcfvyjohkenrecew")
public suspend fun segmentName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.segmentName = mapped
}
/**
* @param value By default, MediaPackage excludes all digital video broadcasting (DVB) subtitles from the output. When selected, MediaPackage passes through DVB subtitles into the output.
*/
@JvmName("xwpjedgvwlcyjnpk")
public suspend fun tsIncludeDvbSubtitles(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tsIncludeDvbSubtitles = mapped
}
/**
* @param value When selected, MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group.
*/
@JvmName("deqlnonhccpkblry")
public suspend fun tsUseAudioRenditionGroup(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tsUseAudioRenditionGroup = mapped
}
internal fun build(): OriginEndpointSegmentArgs = OriginEndpointSegmentArgs(
encryption = encryption,
includeIframeOnlyStreams = includeIframeOnlyStreams,
scte = scte,
segmentDurationSeconds = segmentDurationSeconds,
segmentName = segmentName,
tsIncludeDvbSubtitles = tsIncludeDvbSubtitles,
tsUseAudioRenditionGroup = tsUseAudioRenditionGroup,
)
}