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

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

package com.pulumi.azure.appservice.kotlin.outputs

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

/**
 *
 * @property activeDirectory An `active_directory` block as defined above.
 * @property additionalLoginParameters Specifies a map of login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.
 * @property allowedExternalRedirectUrls Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Linux Web App.
 * @property defaultProvider The default authentication provider to use when multiple providers are configured. Possible values include: `BuiltInAuthenticationProviderAzureActiveDirectory`, `BuiltInAuthenticationProviderFacebook`, `BuiltInAuthenticationProviderGoogle`, `BuiltInAuthenticationProviderMicrosoftAccount`, `BuiltInAuthenticationProviderTwitter`, `BuiltInAuthenticationProviderGithub`
 * > **NOTE:** This setting is only needed if multiple providers are configured, and the `unauthenticated_client_action` is set to "RedirectToLoginPage".
 * @property enabled Should the Authentication / Authorization feature be enabled for the Linux Web App?
 * @property facebook A `facebook` block as defined below.
 * @property github A `github` block as defined below.
 * @property google A `google` block as defined below.
 * @property issuer The OpenID Connect Issuer URI that represents the entity that issues access tokens for this Linux Web App.
 * > **NOTE:** When using Azure Active Directory, this value is the URI of the directory tenant, e.g. .
 * @property microsoft A `microsoft` block as defined below.
 * @property runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the Linux Web App.
 * @property tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72` hours.
 * @property tokenStoreEnabled Should the Linux Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to `false`.
 * @property twitter A `twitter` block as defined below.
 * @property unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.
 */
public data class LinuxWebAppAuthSettings(
    public val activeDirectory: LinuxWebAppAuthSettingsActiveDirectory? = null,
    public val additionalLoginParameters: Map? = null,
    public val allowedExternalRedirectUrls: List? = null,
    public val defaultProvider: String? = null,
    public val enabled: Boolean,
    public val facebook: LinuxWebAppAuthSettingsFacebook? = null,
    public val github: LinuxWebAppAuthSettingsGithub? = null,
    public val google: LinuxWebAppAuthSettingsGoogle? = null,
    public val issuer: String? = null,
    public val microsoft: LinuxWebAppAuthSettingsMicrosoft? = null,
    public val runtimeVersion: String? = null,
    public val tokenRefreshExtensionHours: Double? = null,
    public val tokenStoreEnabled: Boolean? = null,
    public val twitter: LinuxWebAppAuthSettingsTwitter? = null,
    public val unauthenticatedClientAction: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.appservice.outputs.LinuxWebAppAuthSettings):
            LinuxWebAppAuthSettings = LinuxWebAppAuthSettings(
            activeDirectory = javaType.activeDirectory().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsActiveDirectory.Companion.toKotlin(args0)
                })
            }).orElse(null),
            additionalLoginParameters = javaType.additionalLoginParameters().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
            allowedExternalRedirectUrls = javaType.allowedExternalRedirectUrls().map({ args0 -> args0 }),
            defaultProvider = javaType.defaultProvider().map({ args0 -> args0 }).orElse(null),
            enabled = javaType.enabled(),
            facebook = javaType.facebook().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsFacebook.Companion.toKotlin(args0)
                })
            }).orElse(null),
            github = javaType.github().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsGithub.Companion.toKotlin(args0)
                })
            }).orElse(null),
            google = javaType.google().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsGoogle.Companion.toKotlin(args0)
                })
            }).orElse(null),
            issuer = javaType.issuer().map({ args0 -> args0 }).orElse(null),
            microsoft = javaType.microsoft().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsMicrosoft.Companion.toKotlin(args0)
                })
            }).orElse(null),
            runtimeVersion = javaType.runtimeVersion().map({ args0 -> args0 }).orElse(null),
            tokenRefreshExtensionHours = javaType.tokenRefreshExtensionHours().map({ args0 ->
                args0
            }).orElse(null),
            tokenStoreEnabled = javaType.tokenStoreEnabled().map({ args0 -> args0 }).orElse(null),
            twitter = javaType.twitter().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.LinuxWebAppAuthSettingsTwitter.Companion.toKotlin(args0)
                })
            }).orElse(null),
            unauthenticatedClientAction = javaType.unauthenticatedClientAction().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy