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

com.pulumi.azurenative.media.kotlin.inputs.LiveEventPreviewArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.media.kotlin.inputs

import com.pulumi.azurenative.media.inputs.LiveEventPreviewArgs.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

/**
 * Live event preview settings.
 * @property accessControl The access control for live event preview.
 * @property alternativeMediaId An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field.
 * @property endpoints The endpoints for preview. Do not share the preview URL with the live event audience.
 * @property previewLocator The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created.
 * @property streamingPolicyName The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated.
 */
public data class LiveEventPreviewArgs(
    public val accessControl: Output? = null,
    public val alternativeMediaId: Output? = null,
    public val endpoints: Output>? = null,
    public val previewLocator: Output? = null,
    public val streamingPolicyName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.media.inputs.LiveEventPreviewArgs =
        com.pulumi.azurenative.media.inputs.LiveEventPreviewArgs.builder()
            .accessControl(accessControl?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .alternativeMediaId(alternativeMediaId?.applyValue({ args0 -> args0 }))
            .endpoints(
                endpoints?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .previewLocator(previewLocator?.applyValue({ args0 -> args0 }))
            .streamingPolicyName(streamingPolicyName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LiveEventPreviewArgs].
 */
@PulumiTagMarker
public class LiveEventPreviewArgsBuilder internal constructor() {
    private var accessControl: Output? = null

    private var alternativeMediaId: Output? = null

    private var endpoints: Output>? = null

    private var previewLocator: Output? = null

    private var streamingPolicyName: Output? = null

    /**
     * @param value The access control for live event preview.
     */
    @JvmName("brlibrqtvcskqspp")
    public suspend fun accessControl(`value`: Output) {
        this.accessControl = value
    }

    /**
     * @param value An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field.
     */
    @JvmName("vgfelwonwanmjmni")
    public suspend fun alternativeMediaId(`value`: Output) {
        this.alternativeMediaId = value
    }

    /**
     * @param value The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("yqpcvmbkrfgcuxge")
    public suspend fun endpoints(`value`: Output>) {
        this.endpoints = value
    }

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

    /**
     * @param values The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("oadxhligtynbddbm")
    public suspend fun endpoints(values: List>) {
        this.endpoints = Output.all(values)
    }

    /**
     * @param value The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created.
     */
    @JvmName("pejnosxpksdhjbdv")
    public suspend fun previewLocator(`value`: Output) {
        this.previewLocator = value
    }

    /**
     * @param value The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated.
     */
    @JvmName("dwthtooclmvcgcai")
    public suspend fun streamingPolicyName(`value`: Output) {
        this.streamingPolicyName = value
    }

    /**
     * @param value The access control for live event preview.
     */
    @JvmName("ddthilebwlcqbqru")
    public suspend fun accessControl(`value`: LiveEventPreviewAccessControlArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accessControl = mapped
    }

    /**
     * @param argument The access control for live event preview.
     */
    @JvmName("lebwhbjkglffhoqb")
    public suspend fun accessControl(argument: suspend LiveEventPreviewAccessControlArgsBuilder.() -> Unit) {
        val toBeMapped = LiveEventPreviewAccessControlArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.accessControl = mapped
    }

    /**
     * @param value An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field.
     */
    @JvmName("trndunfgyrcmccww")
    public suspend fun alternativeMediaId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alternativeMediaId = mapped
    }

    /**
     * @param value The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("qwafcmuhgqucebit")
    public suspend fun endpoints(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpoints = mapped
    }

    /**
     * @param argument The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("avndedkwcgseabrl")
    public suspend fun endpoints(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LiveEventEndpointArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param argument The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("svquyycmnnnckyft")
    public suspend fun endpoints(vararg argument: suspend LiveEventEndpointArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LiveEventEndpointArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param argument The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("iajcuglswsynqoio")
    public suspend fun endpoints(argument: suspend LiveEventEndpointArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(LiveEventEndpointArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.endpoints = mapped
    }

    /**
     * @param values The endpoints for preview. Do not share the preview URL with the live event audience.
     */
    @JvmName("idltnyptjxcveydm")
    public suspend fun endpoints(vararg values: LiveEventEndpointArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpoints = mapped
    }

    /**
     * @param value The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created.
     */
    @JvmName("wfjgosjxfnbmvonc")
    public suspend fun previewLocator(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.previewLocator = mapped
    }

    /**
     * @param value The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated.
     */
    @JvmName("jhrdfesukplnjfer")
    public suspend fun streamingPolicyName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streamingPolicyName = mapped
    }

    internal fun build(): LiveEventPreviewArgs = LiveEventPreviewArgs(
        accessControl = accessControl,
        alternativeMediaId = alternativeMediaId,
        endpoints = endpoints,
        previewLocator = previewLocator,
        streamingPolicyName = streamingPolicyName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy