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

com.pulumi.gcp.transcoder.kotlin.inputs.JobConfigArgs.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: 8.20.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.transcoder.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.transcoder.inputs.JobConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property adBreaks Ad break.
 * Structure is documented below.
 * @property editLists List of input assets stored in Cloud Storage.
 * Structure is documented below.
 * @property elementaryStreams List of input assets stored in Cloud Storage.
 * Structure is documented below.
 * @property encryptions List of encryption configurations for the content.
 * Structure is documented below.
 * @property inputs List of input assets stored in Cloud Storage.
 * Structure is documented below.
 * @property manifests Manifest configuration.
 * Structure is documented below.
 * @property muxStreams Multiplexing settings for output stream.
 * Structure is documented below.
 * @property output Location of output file(s) in a Cloud Storage bucket.
 * Structure is documented below.
 * @property overlays List of overlays on the output video, in descending Z-order.
 * Structure is documented below.
 * @property pubsubDestination Pub/Sub destination.
 * Structure is documented below.
 */
public data class JobConfigArgs(
    public val adBreaks: Output>? = null,
    public val editLists: Output>? = null,
    public val elementaryStreams: Output>? = null,
    public val encryptions: Output>? = null,
    public val inputs: Output>? = null,
    public val manifests: Output>? = null,
    public val muxStreams: Output>? = null,
    public val output: Output? = null,
    public val overlays: Output>? = null,
    public val pubsubDestination: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.transcoder.inputs.JobConfigArgs =
        com.pulumi.gcp.transcoder.inputs.JobConfigArgs.builder()
            .adBreaks(
                adBreaks?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .editLists(
                editLists?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .elementaryStreams(
                elementaryStreams?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .encryptions(
                encryptions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .inputs(inputs?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .manifests(
                manifests?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .muxStreams(
                muxStreams?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .output(output?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .overlays(
                overlays?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .pubsubDestination(
                pubsubDestination?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [JobConfigArgs].
 */
@PulumiTagMarker
public class JobConfigArgsBuilder internal constructor() {
    private var adBreaks: Output>? = null

    private var editLists: Output>? = null

    private var elementaryStreams: Output>? = null

    private var encryptions: Output>? = null

    private var inputs: Output>? = null

    private var manifests: Output>? = null

    private var muxStreams: Output>? = null

    private var output: Output? = null

    private var overlays: Output>? = null

    private var pubsubDestination: Output? = null

    /**
     * @param value Ad break.
     * Structure is documented below.
     */
    @JvmName("uqdtakryrijswrno")
    public suspend fun adBreaks(`value`: Output>) {
        this.adBreaks = value
    }

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

    /**
     * @param values Ad break.
     * Structure is documented below.
     */
    @JvmName("pbmioqekhdbpnhjd")
    public suspend fun adBreaks(values: List>) {
        this.adBreaks = Output.all(values)
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("uituiqvaigmnlchc")
    public suspend fun editLists(`value`: Output>) {
        this.editLists = value
    }

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

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("qpjgjkqwrlbjqrmw")
    public suspend fun editLists(values: List>) {
        this.editLists = Output.all(values)
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("eoouswtegupywfff")
    public suspend fun elementaryStreams(`value`: Output>) {
        this.elementaryStreams = value
    }

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

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("yntammlnswyqsdcf")
    public suspend fun elementaryStreams(values: List>) {
        this.elementaryStreams = Output.all(values)
    }

    /**
     * @param value List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("vooxlydwtvbikmvs")
    public suspend fun encryptions(`value`: Output>) {
        this.encryptions = value
    }

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

    /**
     * @param values List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("pcowwcsfqnyljdam")
    public suspend fun encryptions(values: List>) {
        this.encryptions = Output.all(values)
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("esedxcerrxisyikr")
    public suspend fun inputs(`value`: Output>) {
        this.inputs = value
    }

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

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("lxlspfsvjftygign")
    public suspend fun inputs(values: List>) {
        this.inputs = Output.all(values)
    }

    /**
     * @param value Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("cmwrmywblapikuiy")
    public suspend fun manifests(`value`: Output>) {
        this.manifests = value
    }

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

    /**
     * @param values Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("rajcgehsjindujxl")
    public suspend fun manifests(values: List>) {
        this.manifests = Output.all(values)
    }

    /**
     * @param value Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("oarshqyankyciunt")
    public suspend fun muxStreams(`value`: Output>) {
        this.muxStreams = value
    }

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

    /**
     * @param values Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("laojguotilfkajwi")
    public suspend fun muxStreams(values: List>) {
        this.muxStreams = Output.all(values)
    }

    /**
     * @param value Location of output file(s) in a Cloud Storage bucket.
     * Structure is documented below.
     */
    @JvmName("nedrxhvqfxkknyht")
    public suspend fun output(`value`: Output) {
        this.output = value
    }

    /**
     * @param value List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("oqggowdoumcwmfqa")
    public suspend fun overlays(`value`: Output>) {
        this.overlays = value
    }

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

    /**
     * @param values List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("qrcbrgmwxttmdpmj")
    public suspend fun overlays(values: List>) {
        this.overlays = Output.all(values)
    }

    /**
     * @param value Pub/Sub destination.
     * Structure is documented below.
     */
    @JvmName("bcjtgxgnumigidfg")
    public suspend fun pubsubDestination(`value`: Output) {
        this.pubsubDestination = value
    }

    /**
     * @param value Ad break.
     * Structure is documented below.
     */
    @JvmName("juavevpvlfrsmgyq")
    public suspend fun adBreaks(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.adBreaks = mapped
    }

    /**
     * @param argument Ad break.
     * Structure is documented below.
     */
    @JvmName("vmgotonkrlgnqhoo")
    public suspend fun adBreaks(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigAdBreakArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.adBreaks = mapped
    }

    /**
     * @param argument Ad break.
     * Structure is documented below.
     */
    @JvmName("cftbdmeujfkppbat")
    public suspend fun adBreaks(vararg argument: suspend JobConfigAdBreakArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigAdBreakArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.adBreaks = mapped
    }

    /**
     * @param argument Ad break.
     * Structure is documented below.
     */
    @JvmName("toghfdxymxsaquyt")
    public suspend fun adBreaks(argument: suspend JobConfigAdBreakArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigAdBreakArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.adBreaks = mapped
    }

    /**
     * @param values Ad break.
     * Structure is documented below.
     */
    @JvmName("elakohhhuccwgdiw")
    public suspend fun adBreaks(vararg values: JobConfigAdBreakArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.adBreaks = mapped
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("esbhfmyuochlonxs")
    public suspend fun editLists(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.editLists = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("farnckmyosumogkd")
    public suspend fun editLists(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigEditListArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.editLists = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("tecattwmbeidckbo")
    public suspend fun editLists(vararg argument: suspend JobConfigEditListArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigEditListArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.editLists = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("anfwrkhxgwljyaqe")
    public suspend fun editLists(argument: suspend JobConfigEditListArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigEditListArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.editLists = mapped
    }

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("tqpisisrfufbtrts")
    public suspend fun editLists(vararg values: JobConfigEditListArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.editLists = mapped
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("hguyrjydjnfeadot")
    public suspend fun elementaryStreams(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.elementaryStreams = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("doosiemgndskippj")
    public suspend fun elementaryStreams(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigElementaryStreamArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.elementaryStreams = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("fkckwgnhduhlcxkp")
    public suspend fun elementaryStreams(vararg argument: suspend JobConfigElementaryStreamArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigElementaryStreamArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.elementaryStreams = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("lilkfgsytmpplhpd")
    public suspend fun elementaryStreams(argument: suspend JobConfigElementaryStreamArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            JobConfigElementaryStreamArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.elementaryStreams = mapped
    }

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("wtytrbxblmuspvam")
    public suspend fun elementaryStreams(vararg values: JobConfigElementaryStreamArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.elementaryStreams = mapped
    }

    /**
     * @param value List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("rsoaglhyghfmajvl")
    public suspend fun encryptions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptions = mapped
    }

    /**
     * @param argument List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("mfwpawslakbkxxcb")
    public suspend fun encryptions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigEncryptionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.encryptions = mapped
    }

    /**
     * @param argument List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("seqlpakbrtwstokm")
    public suspend fun encryptions(vararg argument: suspend JobConfigEncryptionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigEncryptionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.encryptions = mapped
    }

    /**
     * @param argument List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("yvjvbphbvkahiabt")
    public suspend fun encryptions(argument: suspend JobConfigEncryptionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigEncryptionArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.encryptions = mapped
    }

    /**
     * @param values List of encryption configurations for the content.
     * Structure is documented below.
     */
    @JvmName("mhfritqcfxqxbgbs")
    public suspend fun encryptions(vararg values: JobConfigEncryptionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.encryptions = mapped
    }

    /**
     * @param value List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("trgumvyiulyikfyp")
    public suspend fun inputs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inputs = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("mikmylnywecdmrtd")
    public suspend fun inputs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigInputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.inputs = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("pgsppmlgjhpuhyld")
    public suspend fun inputs(vararg argument: suspend JobConfigInputArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigInputArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.inputs = mapped
    }

    /**
     * @param argument List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("reecaytfmnatrmvb")
    public suspend fun inputs(argument: suspend JobConfigInputArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigInputArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.inputs = mapped
    }

    /**
     * @param values List of input assets stored in Cloud Storage.
     * Structure is documented below.
     */
    @JvmName("iqcbbaucqpoiqytl")
    public suspend fun inputs(vararg values: JobConfigInputArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.inputs = mapped
    }

    /**
     * @param value Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("fvudhitytshtljum")
    public suspend fun manifests(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manifests = mapped
    }

    /**
     * @param argument Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("hcbxouvijvuxgoyq")
    public suspend fun manifests(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigManifestArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.manifests = mapped
    }

    /**
     * @param argument Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("vgorrtgthbykbcwu")
    public suspend fun manifests(vararg argument: suspend JobConfigManifestArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigManifestArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.manifests = mapped
    }

    /**
     * @param argument Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("gyiowcjtdwpxohqb")
    public suspend fun manifests(argument: suspend JobConfigManifestArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigManifestArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.manifests = mapped
    }

    /**
     * @param values Manifest configuration.
     * Structure is documented below.
     */
    @JvmName("liykqohiowgwbpey")
    public suspend fun manifests(vararg values: JobConfigManifestArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.manifests = mapped
    }

    /**
     * @param value Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("hictxuifpvxxomht")
    public suspend fun muxStreams(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.muxStreams = mapped
    }

    /**
     * @param argument Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("yqijjrkqaequclwg")
    public suspend fun muxStreams(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigMuxStreamArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.muxStreams = mapped
    }

    /**
     * @param argument Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("biipkyxhgonqsshh")
    public suspend fun muxStreams(vararg argument: suspend JobConfigMuxStreamArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigMuxStreamArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.muxStreams = mapped
    }

    /**
     * @param argument Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("esssvijepxaqxvxi")
    public suspend fun muxStreams(argument: suspend JobConfigMuxStreamArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigMuxStreamArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.muxStreams = mapped
    }

    /**
     * @param values Multiplexing settings for output stream.
     * Structure is documented below.
     */
    @JvmName("kwgypllaxbiufyrf")
    public suspend fun muxStreams(vararg values: JobConfigMuxStreamArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.muxStreams = mapped
    }

    /**
     * @param value Location of output file(s) in a Cloud Storage bucket.
     * Structure is documented below.
     */
    @JvmName("iwdtdmlafrxtwgnv")
    public suspend fun output(`value`: JobConfigOutputArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.output = mapped
    }

    /**
     * @param argument Location of output file(s) in a Cloud Storage bucket.
     * Structure is documented below.
     */
    @JvmName("wybreaxraxfksjjw")
    public suspend fun output(argument: suspend JobConfigOutputArgsBuilder.() -> Unit) {
        val toBeMapped = JobConfigOutputArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.output = mapped
    }

    /**
     * @param value List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("oixxwxrlgmwhpgws")
    public suspend fun overlays(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.overlays = mapped
    }

    /**
     * @param argument List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("kcrbfjettveynjbv")
    public suspend fun overlays(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            JobConfigOverlayArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.overlays = mapped
    }

    /**
     * @param argument List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("sixmqhdfowrakjau")
    public suspend fun overlays(vararg argument: suspend JobConfigOverlayArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            JobConfigOverlayArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.overlays = mapped
    }

    /**
     * @param argument List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("jdvlwfkisdjiyxim")
    public suspend fun overlays(argument: suspend JobConfigOverlayArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(JobConfigOverlayArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.overlays = mapped
    }

    /**
     * @param values List of overlays on the output video, in descending Z-order.
     * Structure is documented below.
     */
    @JvmName("ckmtpuncrqulnvbq")
    public suspend fun overlays(vararg values: JobConfigOverlayArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.overlays = mapped
    }

    /**
     * @param value Pub/Sub destination.
     * Structure is documented below.
     */
    @JvmName("jridgijojehpxkxy")
    public suspend fun pubsubDestination(`value`: JobConfigPubsubDestinationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pubsubDestination = mapped
    }

    /**
     * @param argument Pub/Sub destination.
     * Structure is documented below.
     */
    @JvmName("yykbcrxinjfxsmqa")
    public suspend fun pubsubDestination(argument: suspend JobConfigPubsubDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = JobConfigPubsubDestinationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.pubsubDestination = mapped
    }

    internal fun build(): JobConfigArgs = JobConfigArgs(
        adBreaks = adBreaks,
        editLists = editLists,
        elementaryStreams = elementaryStreams,
        encryptions = encryptions,
        inputs = inputs,
        manifests = manifests,
        muxStreams = muxStreams,
        output = output,
        overlays = overlays,
        pubsubDestination = pubsubDestination,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy