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

com.pulumi.azure.appservice.kotlin.outputs.FunctionAppAuthSettings.kt Maven / Gradle / Ivy

@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 A `active_directory` block as defined below.
 * @property additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
 * @property allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app.
 * @property defaultProvider The default provider to use when multiple providers have been set up. Possible values are `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount` and `Twitter`.
 * > **NOTE:** When using multiple providers, the default provider must be set for settings like `unauthenticated_client_action` to work.
 * @property enabled Is Authentication enabled?
 * @property facebook A `facebook` block as defined below.
 * @property google A `google` block as defined below.
 * @property issuer Issuer URI. 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 runtime version of the Authentication/Authorization module.
 * @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`.
 * @property tokenStoreEnabled If enabled the module will 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 are `AllowAnonymous` and `RedirectToLoginPage`.
 */
public data class FunctionAppAuthSettings(
    public val activeDirectory: FunctionAppAuthSettingsActiveDirectory? = null,
    public val additionalLoginParams: Map? = null,
    public val allowedExternalRedirectUrls: List? = null,
    public val defaultProvider: String? = null,
    public val enabled: Boolean,
    public val facebook: FunctionAppAuthSettingsFacebook? = null,
    public val google: FunctionAppAuthSettingsGoogle? = null,
    public val issuer: String? = null,
    public val microsoft: FunctionAppAuthSettingsMicrosoft? = null,
    public val runtimeVersion: String? = null,
    public val tokenRefreshExtensionHours: Double? = null,
    public val tokenStoreEnabled: Boolean? = null,
    public val twitter: FunctionAppAuthSettingsTwitter? = null,
    public val unauthenticatedClientAction: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.appservice.outputs.FunctionAppAuthSettings): FunctionAppAuthSettings = FunctionAppAuthSettings(
            activeDirectory = javaType.activeDirectory().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.FunctionAppAuthSettingsActiveDirectory.Companion.toKotlin(args0)
                })
            }).orElse(null),
            additionalLoginParams = javaType.additionalLoginParams().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.FunctionAppAuthSettingsFacebook.Companion.toKotlin(args0)
                })
            }).orElse(null),
            google = javaType.google().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.FunctionAppAuthSettingsGoogle.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.FunctionAppAuthSettingsMicrosoft.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.FunctionAppAuthSettingsTwitter.Companion.toKotlin(args0)
                })
            }).orElse(null),
            unauthenticatedClientAction = javaType.unauthenticatedClientAction().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy