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

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

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

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

import com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property rsaTokenKeyExponent The RSA parameter exponent.
 * @property rsaTokenKeyModulus The RSA parameter modulus.
 * @property symmetricTokenKey The key value of the key. Specifies a symmetric key for token validation.
 * @property x509TokenKeyRaw The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET). Specifies a certificate for token validation.
 * > **NOTE:** Each `alternate_key` block can only have one type of primary verification key: if you want to use RSA you must provide `rsa_token_key_exponent` and `rsa_token_key_modulus`, if you want to use symmetric you need to provide `symmetric_token_key` and for x509 you must provide `x509_token_key_raw`.
 */
public data class ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs(
    public val rsaTokenKeyExponent: Output? = null,
    public val rsaTokenKeyModulus: Output? = null,
    public val symmetricTokenKey: Output? = null,
    public val x509TokenKeyRaw: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava():
        com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs =
        com.pulumi.azure.media.inputs.ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs.builder()
            .rsaTokenKeyExponent(rsaTokenKeyExponent?.applyValue({ args0 -> args0 }))
            .rsaTokenKeyModulus(rsaTokenKeyModulus?.applyValue({ args0 -> args0 }))
            .symmetricTokenKey(symmetricTokenKey?.applyValue({ args0 -> args0 }))
            .x509TokenKeyRaw(x509TokenKeyRaw?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs].
 */
@PulumiTagMarker
public class ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgsBuilder internal
constructor() {
    private var rsaTokenKeyExponent: Output? = null

    private var rsaTokenKeyModulus: Output? = null

    private var symmetricTokenKey: Output? = null

    private var x509TokenKeyRaw: Output? = null

    /**
     * @param value The RSA parameter exponent.
     */
    @JvmName("vptowvcqbnrhhecy")
    public suspend fun rsaTokenKeyExponent(`value`: Output) {
        this.rsaTokenKeyExponent = value
    }

    /**
     * @param value The RSA parameter modulus.
     */
    @JvmName("qkcccovoqeefuojl")
    public suspend fun rsaTokenKeyModulus(`value`: Output) {
        this.rsaTokenKeyModulus = value
    }

    /**
     * @param value The key value of the key. Specifies a symmetric key for token validation.
     */
    @JvmName("knvhuslpluakukcr")
    public suspend fun symmetricTokenKey(`value`: Output) {
        this.symmetricTokenKey = value
    }

    /**
     * @param value The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET). Specifies a certificate for token validation.
     * > **NOTE:** Each `alternate_key` block can only have one type of primary verification key: if you want to use RSA you must provide `rsa_token_key_exponent` and `rsa_token_key_modulus`, if you want to use symmetric you need to provide `symmetric_token_key` and for x509 you must provide `x509_token_key_raw`.
     */
    @JvmName("oklittfdhljifuox")
    public suspend fun x509TokenKeyRaw(`value`: Output) {
        this.x509TokenKeyRaw = value
    }

    /**
     * @param value The RSA parameter exponent.
     */
    @JvmName("lyoytiuqkwftrhmp")
    public suspend fun rsaTokenKeyExponent(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rsaTokenKeyExponent = mapped
    }

    /**
     * @param value The RSA parameter modulus.
     */
    @JvmName("kshjclqbstftqqqj")
    public suspend fun rsaTokenKeyModulus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rsaTokenKeyModulus = mapped
    }

    /**
     * @param value The key value of the key. Specifies a symmetric key for token validation.
     */
    @JvmName("xewtpdenkfwxarkd")
    public suspend fun symmetricTokenKey(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.symmetricTokenKey = mapped
    }

    /**
     * @param value The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET). Specifies a certificate for token validation.
     * > **NOTE:** Each `alternate_key` block can only have one type of primary verification key: if you want to use RSA you must provide `rsa_token_key_exponent` and `rsa_token_key_modulus`, if you want to use symmetric you need to provide `symmetric_token_key` and for x509 you must provide `x509_token_key_raw`.
     */
    @JvmName("yqwyktahyunqskdt")
    public suspend fun x509TokenKeyRaw(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.x509TokenKeyRaw = mapped
    }

    internal fun build(): ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs =
        ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKeyArgs(
            rsaTokenKeyExponent = rsaTokenKeyExponent,
            rsaTokenKeyModulus = rsaTokenKeyModulus,
            symmetricTokenKey = symmetricTokenKey,
            x509TokenKeyRaw = x509TokenKeyRaw,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy