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

com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowMediaStreamSourceConfigurationArgs.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.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediaconnect.kotlin.inputs

import com.pulumi.awsnative.mediaconnect.inputs.FlowMediaStreamSourceConfigurationArgs.builder
import com.pulumi.awsnative.mediaconnect.kotlin.enums.FlowMediaStreamSourceConfigurationEncodingName
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The media stream that is associated with the source, and the parameters for that association.
 * @property encodingName The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding name to raw. For video, JPEG XS streams, set the encoding name to jxsv.
 * @property inputConfigurations The media streams that you want to associate with the source.
 * @property mediaStreamName A name that helps you distinguish one media stream from another.
 */
public data class FlowMediaStreamSourceConfigurationArgs(
    public val encodingName: Output,
    public val inputConfigurations: Output>? = null,
    public val mediaStreamName: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.mediaconnect.inputs.FlowMediaStreamSourceConfigurationArgs =
        com.pulumi.awsnative.mediaconnect.inputs.FlowMediaStreamSourceConfigurationArgs.builder()
            .encodingName(encodingName.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .inputConfigurations(
                inputConfigurations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .mediaStreamName(mediaStreamName.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FlowMediaStreamSourceConfigurationArgs].
 */
@PulumiTagMarker
public class FlowMediaStreamSourceConfigurationArgsBuilder internal constructor() {
    private var encodingName: Output? = null

    private var inputConfigurations: Output>? = null

    private var mediaStreamName: Output? = null

    /**
     * @param value The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding name to raw. For video, JPEG XS streams, set the encoding name to jxsv.
     */
    @JvmName("jjrydgxjbdpvtjwa")
    public suspend fun encodingName(`value`: Output) {
        this.encodingName = value
    }

    /**
     * @param value The media streams that you want to associate with the source.
     */
    @JvmName("lkymjgnquwbhlryg")
    public suspend fun inputConfigurations(`value`: Output>) {
        this.inputConfigurations = value
    }

    @JvmName("khryeuimadwwdfkl")
    public suspend fun inputConfigurations(vararg values: Output) {
        this.inputConfigurations = Output.all(values.asList())
    }

    /**
     * @param values The media streams that you want to associate with the source.
     */
    @JvmName("jlglngkscstixkii")
    public suspend fun inputConfigurations(values: List>) {
        this.inputConfigurations = Output.all(values)
    }

    /**
     * @param value A name that helps you distinguish one media stream from another.
     */
    @JvmName("swhbdggohohytfjp")
    public suspend fun mediaStreamName(`value`: Output) {
        this.mediaStreamName = value
    }

    /**
     * @param value The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding name to raw. For video, JPEG XS streams, set the encoding name to jxsv.
     */
    @JvmName("dicntikuqiuwvsrt")
    public suspend fun encodingName(`value`: FlowMediaStreamSourceConfigurationEncodingName) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.encodingName = mapped
    }

    /**
     * @param value The media streams that you want to associate with the source.
     */
    @JvmName("nanwdwwydwrefrhq")
    public suspend fun inputConfigurations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inputConfigurations = mapped
    }

    /**
     * @param argument The media streams that you want to associate with the source.
     */
    @JvmName("kfjmtyqxpkptfnss")
    public suspend fun inputConfigurations(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            FlowInputConfigurationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.inputConfigurations = mapped
    }

    /**
     * @param argument The media streams that you want to associate with the source.
     */
    @JvmName("ufrmsqyxpmbldoub")
    public suspend fun inputConfigurations(vararg argument: suspend FlowInputConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            FlowInputConfigurationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.inputConfigurations = mapped
    }

    /**
     * @param argument The media streams that you want to associate with the source.
     */
    @JvmName("vkhsguykbefjsdht")
    public suspend fun inputConfigurations(argument: suspend FlowInputConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(FlowInputConfigurationArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.inputConfigurations = mapped
    }

    /**
     * @param values The media streams that you want to associate with the source.
     */
    @JvmName("mprdsnmncuuxggiu")
    public suspend fun inputConfigurations(vararg values: FlowInputConfigurationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.inputConfigurations = mapped
    }

    /**
     * @param value A name that helps you distinguish one media stream from another.
     */
    @JvmName("cujhypkooeiujjqr")
    public suspend fun mediaStreamName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mediaStreamName = mapped
    }

    internal fun build(): FlowMediaStreamSourceConfigurationArgs =
        FlowMediaStreamSourceConfigurationArgs(
            encodingName = encodingName ?: throw PulumiNullFieldException("encodingName"),
            inputConfigurations = inputConfigurations,
            mediaStreamName = mediaStreamName ?: throw PulumiNullFieldException("mediaStreamName"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy