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

com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOption.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.media.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 ContentKeyPolicyPolicyOption(
    public val clearKeyConfigurationEnabled: Boolean? = null,
    public val fairplayConfiguration: ContentKeyPolicyPolicyOptionFairplayConfiguration? = null,
    public val name: String,
    public val openRestrictionEnabled: Boolean? = null,
    public val playreadyConfigurationLicenses:
    List? = null,
    public val playreadyResponseCustomData: String? = null,
    public val tokenRestriction: ContentKeyPolicyPolicyOptionTokenRestriction? = null,
    public val widevineConfigurationTemplate: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.media.outputs.ContentKeyPolicyPolicyOption):
            ContentKeyPolicyPolicyOption = ContentKeyPolicyPolicyOption(
            clearKeyConfigurationEnabled = javaType.clearKeyConfigurationEnabled().map({ args0 ->
                args0
            }).orElse(null),
            fairplayConfiguration = javaType.fairplayConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionFairplayConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            name = javaType.name(),
            openRestrictionEnabled = javaType.openRestrictionEnabled().map({ args0 -> args0 }).orElse(null),
            playreadyConfigurationLicenses = javaType.playreadyConfigurationLicenses().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionPlayreadyConfigurationLicense.Companion.toKotlin(args0)
                })
            }),
            playreadyResponseCustomData = javaType.playreadyResponseCustomData().map({ args0 ->
                args0
            }).orElse(null),
            tokenRestriction = javaType.tokenRestriction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionTokenRestriction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            widevineConfigurationTemplate = javaType.widevineConfigurationTemplate().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy