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

com.pulumi.azure.media.kotlin.inputs.LiveEventInputArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.media.kotlin.inputs

import com.pulumi.azure.media.inputs.LiveEventInputArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property accessToken A UUID in string form to uniquely identify the stream. If omitted, the service will generate a unique value. Changing this forces a new value to be created.
 * @property endpoints
 * @property ipAccessControlAllows One or more `ip_access_control_allow` blocks as defined below.
 * @property keyFrameIntervalDuration ISO 8601 time duration of the key frame interval duration of the input. This value sets the `EXT-X-TARGETDURATION` property in the HLS output. For example, use PT2S to indicate 2 seconds. This field cannot be set when `type` is set to `Encoding`.
 * @property streamingProtocol The input protocol for the live event. Allowed values are `FragmentedMP4` and `RTMP`. Changing this forces a new resource to be created.
 */
public data class LiveEventInputArgs(
    public val accessToken: Output? = null,
    public val endpoints: Output>? = null,
    public val ipAccessControlAllows: Output>? = null,
    public val keyFrameIntervalDuration: Output? = null,
    public val streamingProtocol: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.media.inputs.LiveEventInputArgs =
        com.pulumi.azure.media.inputs.LiveEventInputArgs.builder()
            .accessToken(accessToken?.applyValue({ args0 -> args0 }))
            .endpoints(
                endpoints?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .ipAccessControlAllows(
                ipAccessControlAllows?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .keyFrameIntervalDuration(keyFrameIntervalDuration?.applyValue({ args0 -> args0 }))
            .streamingProtocol(streamingProtocol?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LiveEventInputArgs].
 */
@PulumiTagMarker
public class LiveEventInputArgsBuilder internal constructor() {
    private var accessToken: Output? = null

    private var endpoints: Output>? = null

    private var ipAccessControlAllows: Output>? = null

    private var keyFrameIntervalDuration: Output? = null

    private var streamingProtocol: Output? = null

    /**
     * @param value A UUID in string form to uniquely identify the stream. If omitted, the service will generate a unique value. Changing this forces a new value to be created.
     */
    @JvmName("rvfjflptqpbytesk")
    public suspend fun accessToken(`value`: Output) {
        this.accessToken = value
    }

    /**
     * @param value
     */
    @JvmName("kpygbojymhtjyrwo")
    public suspend fun endpoints(`value`: Output>) {
        this.endpoints = value
    }

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

    /**
     * @param values
     */
    @JvmName("awjgrdompavqprnl")
    public suspend fun endpoints(values: List>) {
        this.endpoints = Output.all(values)
    }

    /**
     * @param value One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("ufwwstcxduskxepc")
    public suspend fun ipAccessControlAllows(`value`: Output>) {
        this.ipAccessControlAllows = value
    }

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

    /**
     * @param values One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("iapuccgoiyqnxvmb")
    public suspend fun ipAccessControlAllows(values: List>) {
        this.ipAccessControlAllows = Output.all(values)
    }

    /**
     * @param value ISO 8601 time duration of the key frame interval duration of the input. This value sets the `EXT-X-TARGETDURATION` property in the HLS output. For example, use PT2S to indicate 2 seconds. This field cannot be set when `type` is set to `Encoding`.
     */
    @JvmName("ddrfvxvearbutfbh")
    public suspend fun keyFrameIntervalDuration(`value`: Output) {
        this.keyFrameIntervalDuration = value
    }

    /**
     * @param value The input protocol for the live event. Allowed values are `FragmentedMP4` and `RTMP`. Changing this forces a new resource to be created.
     */
    @JvmName("pnyjarbthipbkewe")
    public suspend fun streamingProtocol(`value`: Output) {
        this.streamingProtocol = value
    }

    /**
     * @param value A UUID in string form to uniquely identify the stream. If omitted, the service will generate a unique value. Changing this forces a new value to be created.
     */
    @JvmName("idxqmsruwwjdaije")
    public suspend fun accessToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accessToken = mapped
    }

    /**
     * @param value
     */
    @JvmName("umqggenhjimcqbtp")
    public suspend fun endpoints(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpoints = mapped
    }

    /**
     * @param argument
     */
    @JvmName("ygebcbnnpdvocxxf")
    public suspend fun endpoints(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LiveEventInputEndpointArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param argument
     */
    @JvmName("yhkrfwdxpwomdtqw")
    public suspend fun endpoints(vararg argument: suspend LiveEventInputEndpointArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LiveEventInputEndpointArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param argument
     */
    @JvmName("ebrpfrdbhhvhosdh")
    public suspend fun endpoints(argument: suspend LiveEventInputEndpointArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(LiveEventInputEndpointArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param values
     */
    @JvmName("mbehqfebsmledsjw")
    public suspend fun endpoints(vararg values: LiveEventInputEndpointArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpoints = mapped
    }

    /**
     * @param value One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("fwnkbdqudcvlslac")
    public suspend fun ipAccessControlAllows(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipAccessControlAllows = mapped
    }

    /**
     * @param argument One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("veebdrqidyubdqfs")
    public suspend fun ipAccessControlAllows(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LiveEventInputIpAccessControlAllowArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.ipAccessControlAllows = mapped
    }

    /**
     * @param argument One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("hoaxjbgjfsdoblwl")
    public suspend fun ipAccessControlAllows(vararg argument: suspend LiveEventInputIpAccessControlAllowArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LiveEventInputIpAccessControlAllowArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.ipAccessControlAllows = mapped
    }

    /**
     * @param argument One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("gqcvbysugsldgcge")
    public suspend fun ipAccessControlAllows(argument: suspend LiveEventInputIpAccessControlAllowArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            LiveEventInputIpAccessControlAllowArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.ipAccessControlAllows = mapped
    }

    /**
     * @param values One or more `ip_access_control_allow` blocks as defined below.
     */
    @JvmName("rqqkeduicvbarsfo")
    public suspend fun ipAccessControlAllows(vararg values: LiveEventInputIpAccessControlAllowArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ipAccessControlAllows = mapped
    }

    /**
     * @param value ISO 8601 time duration of the key frame interval duration of the input. This value sets the `EXT-X-TARGETDURATION` property in the HLS output. For example, use PT2S to indicate 2 seconds. This field cannot be set when `type` is set to `Encoding`.
     */
    @JvmName("ifpkmmrholvqtmex")
    public suspend fun keyFrameIntervalDuration(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyFrameIntervalDuration = mapped
    }

    /**
     * @param value The input protocol for the live event. Allowed values are `FragmentedMP4` and `RTMP`. Changing this forces a new resource to be created.
     */
    @JvmName("jkbvdtvdswyrugek")
    public suspend fun streamingProtocol(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streamingProtocol = mapped
    }

    internal fun build(): LiveEventInputArgs = LiveEventInputArgs(
        accessToken = accessToken,
        endpoints = endpoints,
        ipAccessControlAllows = ipAccessControlAllows,
        keyFrameIntervalDuration = keyFrameIntervalDuration,
        streamingProtocol = streamingProtocol,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy