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

com.pulumi.azurenative.media.kotlin.inputs.CencDrmConfigurationArgs.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.CencDrmConfigurationArgs.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.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy
 * @property playReady PlayReady configurations
 * @property widevine Widevine configurations
 */
public data class CencDrmConfigurationArgs(
    public val playReady: Output? = null,
    public val widevine: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.media.inputs.CencDrmConfigurationArgs =
        com.pulumi.azurenative.media.inputs.CencDrmConfigurationArgs.builder()
            .playReady(playReady?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .widevine(widevine?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [CencDrmConfigurationArgs].
 */
@PulumiTagMarker
public class CencDrmConfigurationArgsBuilder internal constructor() {
    private var playReady: Output? = null

    private var widevine: Output? = null

    /**
     * @param value PlayReady configurations
     */
    @JvmName("ydpfufoeebqrrfct")
    public suspend fun playReady(`value`: Output) {
        this.playReady = value
    }

    /**
     * @param value Widevine configurations
     */
    @JvmName("hkmviecorcmoefjq")
    public suspend fun widevine(`value`: Output) {
        this.widevine = value
    }

    /**
     * @param value PlayReady configurations
     */
    @JvmName("indxmwflderfcsyg")
    public suspend fun playReady(`value`: StreamingPolicyPlayReadyConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.playReady = mapped
    }

    /**
     * @param argument PlayReady configurations
     */
    @JvmName("tasxbuvojxwjvoqx")
    public suspend fun playReady(argument: suspend StreamingPolicyPlayReadyConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = StreamingPolicyPlayReadyConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.playReady = mapped
    }

    /**
     * @param value Widevine configurations
     */
    @JvmName("rnppcstjqbrimmgj")
    public suspend fun widevine(`value`: StreamingPolicyWidevineConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.widevine = mapped
    }

    /**
     * @param argument Widevine configurations
     */
    @JvmName("vxjemdovejrjipqb")
    public suspend fun widevine(argument: suspend StreamingPolicyWidevineConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = StreamingPolicyWidevineConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.widevine = mapped
    }

    internal fun build(): CencDrmConfigurationArgs = CencDrmConfigurationArgs(
        playReady = playReady,
        widevine = widevine,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy