com.pulumi.azure.media.kotlin.inputs.ContentKeyPolicyPolicyOptionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.media.kotlin.inputs
import com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionArgs.builder
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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property clearKeyConfigurationEnabled Enable a configuration for non-DRM keys.
* @property fairplayConfiguration A `fairplay_configuration` block as defined above. Check license requirements here .
* @property name The name which should be used for this Policy Option.
* @property openRestrictionEnabled Enable an open restriction. License or key will be delivered on every request.
* @property playreadyConfigurationLicenses One or more `playready_configuration_license` blocks as defined above.
* @property playreadyResponseCustomData The custom response data of the PlayReady configuration. This only applies when `playready_configuration_license` is specified.
* @property tokenRestriction A `token_restriction` block as defined below.
* @property widevineConfigurationTemplate The Widevine template.
* > **NOTE:** Each policy_option can only have one type of configuration: `fairplay_configuration`, `clear_key_configuration_enabled`, `playready_configuration_license` or `widevine_configuration_template`. And is possible to assign only one type of restriction: `open_restriction_enabled` or `token_restriction`.
*/
public data class ContentKeyPolicyPolicyOptionArgs(
public val clearKeyConfigurationEnabled: Output? = null,
public val fairplayConfiguration: Output? =
null,
public val name: Output,
public val openRestrictionEnabled: Output? = null,
public val playreadyConfigurationLicenses: Output>? = null,
public val playreadyResponseCustomData: Output? = null,
public val tokenRestriction: Output? = null,
public val widevineConfigurationTemplate: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionArgs =
com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionArgs.builder()
.clearKeyConfigurationEnabled(clearKeyConfigurationEnabled?.applyValue({ args0 -> args0 }))
.fairplayConfiguration(
fairplayConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.name(name.applyValue({ args0 -> args0 }))
.openRestrictionEnabled(openRestrictionEnabled?.applyValue({ args0 -> args0 }))
.playreadyConfigurationLicenses(
playreadyConfigurationLicenses?.applyValue({ args0 ->
args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.playreadyResponseCustomData(playreadyResponseCustomData?.applyValue({ args0 -> args0 }))
.tokenRestriction(tokenRestriction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.widevineConfigurationTemplate(
widevineConfigurationTemplate?.applyValue({ args0 ->
args0
}),
).build()
}
/**
* Builder for [ContentKeyPolicyPolicyOptionArgs].
*/
@PulumiTagMarker
public class ContentKeyPolicyPolicyOptionArgsBuilder internal constructor() {
private var clearKeyConfigurationEnabled: Output? = null
private var fairplayConfiguration: Output? =
null
private var name: Output? = null
private var openRestrictionEnabled: Output? = null
private var playreadyConfigurationLicenses:
Output>? = null
private var playreadyResponseCustomData: Output? = null
private var tokenRestriction: Output? = null
private var widevineConfigurationTemplate: Output? = null
/**
* @param value Enable a configuration for non-DRM keys.
*/
@JvmName("rkanbcmmegivjqcy")
public suspend fun clearKeyConfigurationEnabled(`value`: Output) {
this.clearKeyConfigurationEnabled = value
}
/**
* @param value A `fairplay_configuration` block as defined above. Check license requirements here .
*/
@JvmName("vjbiqisktpltomsr")
public suspend fun fairplayConfiguration(`value`: Output) {
this.fairplayConfiguration = value
}
/**
* @param value The name which should be used for this Policy Option.
*/
@JvmName("lnfnisusswttilkg")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Enable an open restriction. License or key will be delivered on every request.
*/
@JvmName("ofngneklxcseahtt")
public suspend fun openRestrictionEnabled(`value`: Output) {
this.openRestrictionEnabled = value
}
/**
* @param value One or more `playready_configuration_license` blocks as defined above.
*/
@JvmName("dvrwgdeuvjsjhcla")
public suspend fun playreadyConfigurationLicenses(`value`: Output>) {
this.playreadyConfigurationLicenses = value
}
@JvmName("jvdlbdttnewtqrrt")
public suspend fun playreadyConfigurationLicenses(vararg values: Output) {
this.playreadyConfigurationLicenses = Output.all(values.asList())
}
/**
* @param values One or more `playready_configuration_license` blocks as defined above.
*/
@JvmName("hralqjrbrhgyjlyi")
public suspend fun playreadyConfigurationLicenses(values: List