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

com.pulumi.nomad.kotlin.outputs.AclAuthMethodConfig.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.4.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.nomad.kotlin.outputs

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

/**
 *
 * @property allowedRedirectUris `([]string: )` - A list of allowed values
 * that can be used for the redirect URI.
 * @property boundAudiences `([]string: )` - List of auth claims that are
 * valid for login.
 * @property boundIssuers `([]string: )` - The value against which to match
 * the iss claim in a JWT.
 * @property claimMappings Mappings of claims (key) that will be copied to a metadata field (value).
 * @property clockSkewLeeway `(string: )` - Duration of leeway when validating
 * all claims in the form of a time duration such as "5m" or "1h".
 * @property discoveryCaPems `([]string: )` - PEM encoded CA certs for use
 * by the TLS client used to talk with the OIDC Discovery URL.
 * @property expirationLeeway `(string: )` - Duration of leeway when validating
 * expiration of a JWT in the form of a time duration such as "5m" or "1h".
 * @property jwksCaCert `(string: )` - PEM encoded CA cert for use by the
 * TLS client used to talk with the JWKS server.
 * @property jwksUrl `(string: )` - JSON Web Key Sets url for authenticating
 * signatures.
 * @property jwtValidationPubKeys `([]string: )` - List of PEM-encoded
 * public keys to use to authenticate signatures locally.
 * @property listClaimMappings Mappings of list claims (key) that will be copied to a metadata field (value).
 * @property notBeforeLeeway `(string: )` - Duration of leeway when validating
 * not before values of a token in the form of a time duration such as "5m" or "1h".
 * @property oidcClientId `(string: )` - The OAuth Client ID configured
 * with the OIDC provider.
 * @property oidcClientSecret `(string: )` - The OAuth Client Secret
 * configured with the OIDC provider.
 * @property oidcDisableUserinfo `(bool: false)` - When set to `true`, Nomad will
 * not make a request to the identity provider to get OIDC `UserInfo`.
 * You may wish to set this if your identity provider doesn't send any
 * additional claims from the `UserInfo` endpoint.
 * @property oidcDiscoveryUrl `(string: )` - The OIDC Discovery URL,
 * without any .well-known component (base path).
 * @property oidcScopes `([]string: )` - List of OIDC scopes.
 * @property signingAlgs `([]string: )` - A list of supported signing
 * algorithms.
 */
public data class AclAuthMethodConfig(
    public val allowedRedirectUris: List? = null,
    public val boundAudiences: List? = null,
    public val boundIssuers: List? = null,
    public val claimMappings: Map? = null,
    public val clockSkewLeeway: String? = null,
    public val discoveryCaPems: List? = null,
    public val expirationLeeway: String? = null,
    public val jwksCaCert: String? = null,
    public val jwksUrl: String? = null,
    public val jwtValidationPubKeys: List? = null,
    public val listClaimMappings: Map? = null,
    public val notBeforeLeeway: String? = null,
    public val oidcClientId: String? = null,
    public val oidcClientSecret: String? = null,
    public val oidcDisableUserinfo: Boolean? = null,
    public val oidcDiscoveryUrl: String? = null,
    public val oidcScopes: List? = null,
    public val signingAlgs: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.nomad.outputs.AclAuthMethodConfig): AclAuthMethodConfig = AclAuthMethodConfig(
            allowedRedirectUris = javaType.allowedRedirectUris().map({ args0 -> args0 }),
            boundAudiences = javaType.boundAudiences().map({ args0 -> args0 }),
            boundIssuers = javaType.boundIssuers().map({ args0 -> args0 }),
            claimMappings = javaType.claimMappings().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            clockSkewLeeway = javaType.clockSkewLeeway().map({ args0 -> args0 }).orElse(null),
            discoveryCaPems = javaType.discoveryCaPems().map({ args0 -> args0 }),
            expirationLeeway = javaType.expirationLeeway().map({ args0 -> args0 }).orElse(null),
            jwksCaCert = javaType.jwksCaCert().map({ args0 -> args0 }).orElse(null),
            jwksUrl = javaType.jwksUrl().map({ args0 -> args0 }).orElse(null),
            jwtValidationPubKeys = javaType.jwtValidationPubKeys().map({ args0 -> args0 }),
            listClaimMappings = javaType.listClaimMappings().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
            notBeforeLeeway = javaType.notBeforeLeeway().map({ args0 -> args0 }).orElse(null),
            oidcClientId = javaType.oidcClientId().map({ args0 -> args0 }).orElse(null),
            oidcClientSecret = javaType.oidcClientSecret().map({ args0 -> args0 }).orElse(null),
            oidcDisableUserinfo = javaType.oidcDisableUserinfo().map({ args0 -> args0 }).orElse(null),
            oidcDiscoveryUrl = javaType.oidcDiscoveryUrl().map({ args0 -> args0 }).orElse(null),
            oidcScopes = javaType.oidcScopes().map({ args0 -> args0 }),
            signingAlgs = javaType.signingAlgs().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy