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

com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionTokenRestriction.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.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property alternateKeys One or more `alternate_key` block as defined above.
 * @property audience The audience for the token.
 * @property issuer The token issuer.
 * @property openIdConnectDiscoveryDocument The OpenID connect discovery document.
 * @property primaryRsaTokenKeyExponent The RSA parameter exponent.
 * @property primaryRsaTokenKeyModulus The RSA parameter modulus.
 * @property primarySymmetricTokenKey The key value of the key. Specifies a symmetric key for token validation.
 * @property primaryX509TokenKeyRaw The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET). Specifies a certificate for token validation.
 * @property requiredClaims One or more `required_claim` blocks as defined above.
 * @property tokenType The type of token. Supported values are `Jwt` or `Swt`.
 * > **NOTE:** Each token_restriction can only have one type of primary verification key: if you want to use RSA you must provide `primary_rsa_token_key_exponent` and `primary_rsa_token_key_modulus`, if you want to use symmetric you need to provide `primary_symmetric_token_key` and for x509 you must provide `primary_x509_token_key_raw`. For more information about Token access please refer to 
 */
public data class ContentKeyPolicyPolicyOptionTokenRestriction(
    public val alternateKeys: List? = null,
    public val audience: String? = null,
    public val issuer: String? = null,
    public val openIdConnectDiscoveryDocument: String? = null,
    public val primaryRsaTokenKeyExponent: String? = null,
    public val primaryRsaTokenKeyModulus: String? = null,
    public val primarySymmetricTokenKey: String? = null,
    public val primaryX509TokenKeyRaw: String? = null,
    public val requiredClaims: List? =
        null,
    public val tokenType: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.media.outputs.ContentKeyPolicyPolicyOptionTokenRestriction): ContentKeyPolicyPolicyOptionTokenRestriction = ContentKeyPolicyPolicyOptionTokenRestriction(
            alternateKeys = javaType.alternateKeys().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionTokenRestrictionAlternateKey.Companion.toKotlin(args0)
                })
            }),
            audience = javaType.audience().map({ args0 -> args0 }).orElse(null),
            issuer = javaType.issuer().map({ args0 -> args0 }).orElse(null),
            openIdConnectDiscoveryDocument = javaType.openIdConnectDiscoveryDocument().map({ args0 ->
                args0
            }).orElse(null),
            primaryRsaTokenKeyExponent = javaType.primaryRsaTokenKeyExponent().map({ args0 ->
                args0
            }).orElse(null),
            primaryRsaTokenKeyModulus = javaType.primaryRsaTokenKeyModulus().map({ args0 ->
                args0
            }).orElse(null),
            primarySymmetricTokenKey = javaType.primarySymmetricTokenKey().map({ args0 -> args0 }).orElse(null),
            primaryX509TokenKeyRaw = javaType.primaryX509TokenKeyRaw().map({ args0 -> args0 }).orElse(null),
            requiredClaims = javaType.requiredClaims().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.media.kotlin.outputs.ContentKeyPolicyPolicyOptionTokenRestrictionRequiredClaim.Companion.toKotlin(args0)
                })
            }),
            tokenType = javaType.tokenType().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy