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

com.pulumi.azure.appservice.kotlin.inputs.WindowsWebAppAuthSettingsV2Args.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.inputs

import com.pulumi.azure.appservice.inputs.WindowsWebAppAuthSettingsV2Args.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property activeDirectoryV2 An `active_directory_v2` block as defined below.
 * @property appleV2 An `apple_v2` block as defined below.
 * @property authEnabled Should the AuthV2 Settings be enabled. Defaults to `false`.
 * @property azureStaticWebAppV2 An `azure_static_web_app_v2` block as defined below.
 * @property configFilePath The path to the App Auth settings.
 * > **Note:** Relative Paths are evaluated from the Site Root directory.
 * @property customOidcV2s Zero or more `custom_oidc_v2` blocks as defined below.
 * @property defaultProvider The Default Authentication Provider to use when the `unauthenticated_action` is set to `RedirectToLoginPage`. Possible values include: `apple`, `azureactivedirectory`, `facebook`, `github`, `google`, `twitter` and the `name` of your `custom_oidc_v2` provider.
 * > **NOTE:** Whilst any value will be accepted by the API for `default_provider`, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or custom_oidc name) as it is used to build the auth endpoint URI.
 * @property excludedPaths The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
 * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
 * @property facebookV2 A `facebook_v2` block as defined below.
 * @property forwardProxyConvention The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.
 * @property forwardProxyCustomHostHeaderName The name of the custom header containing the host of the request.
 * @property forwardProxyCustomSchemeHeaderName The name of the custom header containing the scheme of the request.
 * @property githubV2 A `github_v2` block as defined below.
 * @property googleV2 A `google_v2` block as defined below.
 * @property httpRouteApiPrefix The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.
 * @property login A `login` block as defined below.
 * @property microsoftV2 A `microsoft_v2` block as defined below.
 * @property requireAuthentication Should the authentication flow be used for all requests.
 * @property requireHttps Should HTTPS be required on connections? Defaults to `true`.
 * @property runtimeVersion The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.
 * @property twitterV2 A `twitter_v2` block as defined below.
 * @property unauthenticatedAction The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.
 */
public data class WindowsWebAppAuthSettingsV2Args(
    public val activeDirectoryV2: Output? = null,
    public val appleV2: Output? = null,
    public val authEnabled: Output? = null,
    public val azureStaticWebAppV2: Output? =
        null,
    public val configFilePath: Output? = null,
    public val customOidcV2s: Output>? = null,
    public val defaultProvider: Output? = null,
    public val excludedPaths: Output>? = null,
    public val facebookV2: Output? = null,
    public val forwardProxyConvention: Output? = null,
    public val forwardProxyCustomHostHeaderName: Output? = null,
    public val forwardProxyCustomSchemeHeaderName: Output? = null,
    public val githubV2: Output? = null,
    public val googleV2: Output? = null,
    public val httpRouteApiPrefix: Output? = null,
    public val login: Output,
    public val microsoftV2: Output? = null,
    public val requireAuthentication: Output? = null,
    public val requireHttps: Output? = null,
    public val runtimeVersion: Output? = null,
    public val twitterV2: Output? = null,
    public val unauthenticatedAction: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.appservice.inputs.WindowsWebAppAuthSettingsV2Args =
        com.pulumi.azure.appservice.inputs.WindowsWebAppAuthSettingsV2Args.builder()
            .activeDirectoryV2(activeDirectoryV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .appleV2(appleV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .authEnabled(authEnabled?.applyValue({ args0 -> args0 }))
            .azureStaticWebAppV2(
                azureStaticWebAppV2?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .configFilePath(configFilePath?.applyValue({ args0 -> args0 }))
            .customOidcV2s(
                customOidcV2s?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .defaultProvider(defaultProvider?.applyValue({ args0 -> args0 }))
            .excludedPaths(excludedPaths?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .facebookV2(facebookV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .forwardProxyConvention(forwardProxyConvention?.applyValue({ args0 -> args0 }))
            .forwardProxyCustomHostHeaderName(forwardProxyCustomHostHeaderName?.applyValue({ args0 -> args0 }))
            .forwardProxyCustomSchemeHeaderName(
                forwardProxyCustomSchemeHeaderName?.applyValue({ args0 ->
                    args0
                }),
            )
            .githubV2(githubV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .googleV2(googleV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .httpRouteApiPrefix(httpRouteApiPrefix?.applyValue({ args0 -> args0 }))
            .login(login.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .microsoftV2(microsoftV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .requireAuthentication(requireAuthentication?.applyValue({ args0 -> args0 }))
            .requireHttps(requireHttps?.applyValue({ args0 -> args0 }))
            .runtimeVersion(runtimeVersion?.applyValue({ args0 -> args0 }))
            .twitterV2(twitterV2?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .unauthenticatedAction(unauthenticatedAction?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [WindowsWebAppAuthSettingsV2Args].
 */
@PulumiTagMarker
public class WindowsWebAppAuthSettingsV2ArgsBuilder internal constructor() {
    private var activeDirectoryV2: Output? = null

    private var appleV2: Output? = null

    private var authEnabled: Output? = null

    private var azureStaticWebAppV2: Output? =
        null

    private var configFilePath: Output? = null

    private var customOidcV2s: Output>? = null

    private var defaultProvider: Output? = null

    private var excludedPaths: Output>? = null

    private var facebookV2: Output? = null

    private var forwardProxyConvention: Output? = null

    private var forwardProxyCustomHostHeaderName: Output? = null

    private var forwardProxyCustomSchemeHeaderName: Output? = null

    private var githubV2: Output? = null

    private var googleV2: Output? = null

    private var httpRouteApiPrefix: Output? = null

    private var login: Output? = null

    private var microsoftV2: Output? = null

    private var requireAuthentication: Output? = null

    private var requireHttps: Output? = null

    private var runtimeVersion: Output? = null

    private var twitterV2: Output? = null

    private var unauthenticatedAction: Output? = null

    /**
     * @param value An `active_directory_v2` block as defined below.
     */
    @JvmName("jmgvmkghgujxiiix")
    public suspend
    fun activeDirectoryV2(`value`: Output) {
        this.activeDirectoryV2 = value
    }

    /**
     * @param value An `apple_v2` block as defined below.
     */
    @JvmName("nyevutekqngwantt")
    public suspend fun appleV2(`value`: Output) {
        this.appleV2 = value
    }

    /**
     * @param value Should the AuthV2 Settings be enabled. Defaults to `false`.
     */
    @JvmName("tewpidbwncbvuheg")
    public suspend fun authEnabled(`value`: Output) {
        this.authEnabled = value
    }

    /**
     * @param value An `azure_static_web_app_v2` block as defined below.
     */
    @JvmName("jjdbjgdecmityros")
    public suspend
    fun azureStaticWebAppV2(`value`: Output) {
        this.azureStaticWebAppV2 = value
    }

    /**
     * @param value The path to the App Auth settings.
     * > **Note:** Relative Paths are evaluated from the Site Root directory.
     */
    @JvmName("gaofqpsffvtcvixk")
    public suspend fun configFilePath(`value`: Output) {
        this.configFilePath = value
    }

    /**
     * @param value Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("wmrwmvisognhieoe")
    public suspend
    fun customOidcV2s(`value`: Output>) {
        this.customOidcV2s = value
    }

    @JvmName("kgwwcoqftqudptuf")
    public suspend fun customOidcV2s(
        vararg
        values: Output,
    ) {
        this.customOidcV2s = Output.all(values.asList())
    }

    /**
     * @param values Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("gkjdmfaslhdbstnj")
    public suspend
    fun customOidcV2s(values: List>) {
        this.customOidcV2s = Output.all(values)
    }

    /**
     * @param value The Default Authentication Provider to use when the `unauthenticated_action` is set to `RedirectToLoginPage`. Possible values include: `apple`, `azureactivedirectory`, `facebook`, `github`, `google`, `twitter` and the `name` of your `custom_oidc_v2` provider.
     * > **NOTE:** Whilst any value will be accepted by the API for `default_provider`, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or custom_oidc name) as it is used to build the auth endpoint URI.
     */
    @JvmName("gpnytvpwdvyfnbyd")
    public suspend fun defaultProvider(`value`: Output) {
        this.defaultProvider = value
    }

    /**
     * @param value The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     */
    @JvmName("oyfdallasdcafsui")
    public suspend fun excludedPaths(`value`: Output>) {
        this.excludedPaths = value
    }

    @JvmName("fmqljvqndmywdtmd")
    public suspend fun excludedPaths(vararg values: Output) {
        this.excludedPaths = Output.all(values.asList())
    }

    /**
     * @param values The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     */
    @JvmName("cassehxjcgnybfam")
    public suspend fun excludedPaths(values: List>) {
        this.excludedPaths = Output.all(values)
    }

    /**
     * @param value A `facebook_v2` block as defined below.
     */
    @JvmName("ptpqhojhvlubnrkq")
    public suspend fun facebookV2(`value`: Output) {
        this.facebookV2 = value
    }

    /**
     * @param value The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.
     */
    @JvmName("gdnvxfvaywwnqhao")
    public suspend fun forwardProxyConvention(`value`: Output) {
        this.forwardProxyConvention = value
    }

    /**
     * @param value The name of the custom header containing the host of the request.
     */
    @JvmName("qrnksgxdiqbejagt")
    public suspend fun forwardProxyCustomHostHeaderName(`value`: Output) {
        this.forwardProxyCustomHostHeaderName = value
    }

    /**
     * @param value The name of the custom header containing the scheme of the request.
     */
    @JvmName("ulocngmafcxlwlwe")
    public suspend fun forwardProxyCustomSchemeHeaderName(`value`: Output) {
        this.forwardProxyCustomSchemeHeaderName = value
    }

    /**
     * @param value A `github_v2` block as defined below.
     */
    @JvmName("xcweynnycxchmrlm")
    public suspend fun githubV2(`value`: Output) {
        this.githubV2 = value
    }

    /**
     * @param value A `google_v2` block as defined below.
     */
    @JvmName("meqsciicnamakcva")
    public suspend fun googleV2(`value`: Output) {
        this.googleV2 = value
    }

    /**
     * @param value The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.
     */
    @JvmName("xcgklwvspnmxcfvn")
    public suspend fun httpRouteApiPrefix(`value`: Output) {
        this.httpRouteApiPrefix = value
    }

    /**
     * @param value A `login` block as defined below.
     */
    @JvmName("okvafsnkfdrmuvkp")
    public suspend fun login(`value`: Output) {
        this.login = value
    }

    /**
     * @param value A `microsoft_v2` block as defined below.
     */
    @JvmName("ixbisvwwxwoumtel")
    public suspend fun microsoftV2(`value`: Output) {
        this.microsoftV2 = value
    }

    /**
     * @param value Should the authentication flow be used for all requests.
     */
    @JvmName("fmfbhywcovwfjyku")
    public suspend fun requireAuthentication(`value`: Output) {
        this.requireAuthentication = value
    }

    /**
     * @param value Should HTTPS be required on connections? Defaults to `true`.
     */
    @JvmName("kascqweimgbmnndb")
    public suspend fun requireHttps(`value`: Output) {
        this.requireHttps = value
    }

    /**
     * @param value The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.
     */
    @JvmName("dyafweaeucjqlhfe")
    public suspend fun runtimeVersion(`value`: Output) {
        this.runtimeVersion = value
    }

    /**
     * @param value A `twitter_v2` block as defined below.
     */
    @JvmName("beqwjqxmfftspqgg")
    public suspend fun twitterV2(`value`: Output) {
        this.twitterV2 = value
    }

    /**
     * @param value The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.
     */
    @JvmName("ygwfikofnwocbjuq")
    public suspend fun unauthenticatedAction(`value`: Output) {
        this.unauthenticatedAction = value
    }

    /**
     * @param value An `active_directory_v2` block as defined below.
     */
    @JvmName("mvrpnhgptqvpnsqs")
    public suspend fun activeDirectoryV2(`value`: WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.activeDirectoryV2 = mapped
    }

    /**
     * @param argument An `active_directory_v2` block as defined below.
     */
    @JvmName("cyytlolfvuorasae")
    public suspend
    fun activeDirectoryV2(argument: suspend WindowsWebAppAuthSettingsV2ActiveDirectoryV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2ActiveDirectoryV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.activeDirectoryV2 = mapped
    }

    /**
     * @param value An `apple_v2` block as defined below.
     */
    @JvmName("ervvcbwwyrevxneu")
    public suspend fun appleV2(`value`: WindowsWebAppAuthSettingsV2AppleV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.appleV2 = mapped
    }

    /**
     * @param argument An `apple_v2` block as defined below.
     */
    @JvmName("pwbotuvjdtbmmpho")
    public suspend
    fun appleV2(argument: suspend WindowsWebAppAuthSettingsV2AppleV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2AppleV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.appleV2 = mapped
    }

    /**
     * @param value Should the AuthV2 Settings be enabled. Defaults to `false`.
     */
    @JvmName("psbejmfvclldlifi")
    public suspend fun authEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authEnabled = mapped
    }

    /**
     * @param value An `azure_static_web_app_v2` block as defined below.
     */
    @JvmName("flgxygbspeisfpqx")
    public suspend
    fun azureStaticWebAppV2(`value`: WindowsWebAppAuthSettingsV2AzureStaticWebAppV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureStaticWebAppV2 = mapped
    }

    /**
     * @param argument An `azure_static_web_app_v2` block as defined below.
     */
    @JvmName("vjorvvjcqftkarkr")
    public suspend
    fun azureStaticWebAppV2(argument: suspend WindowsWebAppAuthSettingsV2AzureStaticWebAppV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2AzureStaticWebAppV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.azureStaticWebAppV2 = mapped
    }

    /**
     * @param value The path to the App Auth settings.
     * > **Note:** Relative Paths are evaluated from the Site Root directory.
     */
    @JvmName("ugdkxefnhlppgpfa")
    public suspend fun configFilePath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.configFilePath = mapped
    }

    /**
     * @param value Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("tielxdjkirdfaygr")
    public suspend fun customOidcV2s(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customOidcV2s = mapped
    }

    /**
     * @param argument Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("lqilllljrkpdkhmx")
    public suspend
    fun customOidcV2s(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            WindowsWebAppAuthSettingsV2CustomOidcV2ArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customOidcV2s = mapped
    }

    /**
     * @param argument Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("vpmqfycqcmkqxjce")
    public suspend fun customOidcV2s(
        vararg
        argument: suspend WindowsWebAppAuthSettingsV2CustomOidcV2ArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            WindowsWebAppAuthSettingsV2CustomOidcV2ArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customOidcV2s = mapped
    }

    /**
     * @param argument Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("ipowgnovaqxnafty")
    public suspend
    fun customOidcV2s(argument: suspend WindowsWebAppAuthSettingsV2CustomOidcV2ArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            WindowsWebAppAuthSettingsV2CustomOidcV2ArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.customOidcV2s = mapped
    }

    /**
     * @param values Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("qarsdoxcxgxttpmq")
    public suspend fun customOidcV2s(vararg values: WindowsWebAppAuthSettingsV2CustomOidcV2Args) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customOidcV2s = mapped
    }

    /**
     * @param value The Default Authentication Provider to use when the `unauthenticated_action` is set to `RedirectToLoginPage`. Possible values include: `apple`, `azureactivedirectory`, `facebook`, `github`, `google`, `twitter` and the `name` of your `custom_oidc_v2` provider.
     * > **NOTE:** Whilst any value will be accepted by the API for `default_provider`, it can leave the app in an unusable state if this value does not correspond to the name of a known provider (either built-in value, or custom_oidc name) as it is used to build the auth endpoint URI.
     */
    @JvmName("ridryxtycdgvucpx")
    public suspend fun defaultProvider(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultProvider = mapped
    }

    /**
     * @param value The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     */
    @JvmName("vblvyotmhpfaorle")
    public suspend fun excludedPaths(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.excludedPaths = mapped
    }

    /**
     * @param values The paths which should be excluded from the `unauthenticated_action` when it is set to `RedirectToLoginPage`.
     * > **NOTE:** This list should be used instead of setting `WEBSITE_WARMUP_PATH` in `app_settings` as it takes priority.
     */
    @JvmName("hteytqpjdhjpwiol")
    public suspend fun excludedPaths(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.excludedPaths = mapped
    }

    /**
     * @param value A `facebook_v2` block as defined below.
     */
    @JvmName("hccreomvqxwsknyq")
    public suspend fun facebookV2(`value`: WindowsWebAppAuthSettingsV2FacebookV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.facebookV2 = mapped
    }

    /**
     * @param argument A `facebook_v2` block as defined below.
     */
    @JvmName("lilkwymsqelgnmmw")
    public suspend
    fun facebookV2(argument: suspend WindowsWebAppAuthSettingsV2FacebookV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2FacebookV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.facebookV2 = mapped
    }

    /**
     * @param value The convention used to determine the url of the request made. Possible values include `NoProxy`, `Standard`, `Custom`. Defaults to `NoProxy`.
     */
    @JvmName("fjpqhytwcejvbsrh")
    public suspend fun forwardProxyConvention(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forwardProxyConvention = mapped
    }

    /**
     * @param value The name of the custom header containing the host of the request.
     */
    @JvmName("uumcbyxnydotqbwp")
    public suspend fun forwardProxyCustomHostHeaderName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forwardProxyCustomHostHeaderName = mapped
    }

    /**
     * @param value The name of the custom header containing the scheme of the request.
     */
    @JvmName("nfjhcyehxbhxahya")
    public suspend fun forwardProxyCustomSchemeHeaderName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forwardProxyCustomSchemeHeaderName = mapped
    }

    /**
     * @param value A `github_v2` block as defined below.
     */
    @JvmName("mmyyhemhepttwgve")
    public suspend fun githubV2(`value`: WindowsWebAppAuthSettingsV2GithubV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.githubV2 = mapped
    }

    /**
     * @param argument A `github_v2` block as defined below.
     */
    @JvmName("qoiykaohulqvigjk")
    public suspend
    fun githubV2(argument: suspend WindowsWebAppAuthSettingsV2GithubV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2GithubV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.githubV2 = mapped
    }

    /**
     * @param value A `google_v2` block as defined below.
     */
    @JvmName("wdjbhbjvnluxrtka")
    public suspend fun googleV2(`value`: WindowsWebAppAuthSettingsV2GoogleV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.googleV2 = mapped
    }

    /**
     * @param argument A `google_v2` block as defined below.
     */
    @JvmName("eybaxyubbndiomeb")
    public suspend
    fun googleV2(argument: suspend WindowsWebAppAuthSettingsV2GoogleV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2GoogleV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.googleV2 = mapped
    }

    /**
     * @param value The prefix that should precede all the authentication and authorisation paths. Defaults to `/.auth`.
     */
    @JvmName("psjorgydoihvmkbt")
    public suspend fun httpRouteApiPrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpRouteApiPrefix = mapped
    }

    /**
     * @param value A `login` block as defined below.
     */
    @JvmName("euuridnklhxqwfkg")
    public suspend fun login(`value`: WindowsWebAppAuthSettingsV2LoginArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.login = mapped
    }

    /**
     * @param argument A `login` block as defined below.
     */
    @JvmName("xsnoktvachjypcem")
    public suspend
    fun login(argument: suspend WindowsWebAppAuthSettingsV2LoginArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2LoginArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.login = mapped
    }

    /**
     * @param value A `microsoft_v2` block as defined below.
     */
    @JvmName("umtfclkfrdgsxbib")
    public suspend fun microsoftV2(`value`: WindowsWebAppAuthSettingsV2MicrosoftV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.microsoftV2 = mapped
    }

    /**
     * @param argument A `microsoft_v2` block as defined below.
     */
    @JvmName("mtesmaqkmqihofys")
    public suspend
    fun microsoftV2(argument: suspend WindowsWebAppAuthSettingsV2MicrosoftV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2MicrosoftV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.microsoftV2 = mapped
    }

    /**
     * @param value Should the authentication flow be used for all requests.
     */
    @JvmName("gqetrvpnlmbksbey")
    public suspend fun requireAuthentication(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requireAuthentication = mapped
    }

    /**
     * @param value Should HTTPS be required on connections? Defaults to `true`.
     */
    @JvmName("aqkjgptsbsmpxffa")
    public suspend fun requireHttps(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requireHttps = mapped
    }

    /**
     * @param value The Runtime Version of the Authentication and Authorisation feature of this App. Defaults to `~1`.
     */
    @JvmName("ghocdlidsvycqtge")
    public suspend fun runtimeVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.runtimeVersion = mapped
    }

    /**
     * @param value A `twitter_v2` block as defined below.
     */
    @JvmName("jjeljlvtukrelphc")
    public suspend fun twitterV2(`value`: WindowsWebAppAuthSettingsV2TwitterV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.twitterV2 = mapped
    }

    /**
     * @param argument A `twitter_v2` block as defined below.
     */
    @JvmName("talfasbwugrcwdso")
    public suspend
    fun twitterV2(argument: suspend WindowsWebAppAuthSettingsV2TwitterV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsWebAppAuthSettingsV2TwitterV2ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.twitterV2 = mapped
    }

    /**
     * @param value The action to take for requests made without authentication. Possible values include `RedirectToLoginPage`, `AllowAnonymous`, `Return401`, and `Return403`. Defaults to `RedirectToLoginPage`.
     */
    @JvmName("eixrnoivfqwqojdf")
    public suspend fun unauthenticatedAction(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.unauthenticatedAction = mapped
    }

    internal fun build(): WindowsWebAppAuthSettingsV2Args = WindowsWebAppAuthSettingsV2Args(
        activeDirectoryV2 = activeDirectoryV2,
        appleV2 = appleV2,
        authEnabled = authEnabled,
        azureStaticWebAppV2 = azureStaticWebAppV2,
        configFilePath = configFilePath,
        customOidcV2s = customOidcV2s,
        defaultProvider = defaultProvider,
        excludedPaths = excludedPaths,
        facebookV2 = facebookV2,
        forwardProxyConvention = forwardProxyConvention,
        forwardProxyCustomHostHeaderName = forwardProxyCustomHostHeaderName,
        forwardProxyCustomSchemeHeaderName = forwardProxyCustomSchemeHeaderName,
        githubV2 = githubV2,
        googleV2 = googleV2,
        httpRouteApiPrefix = httpRouteApiPrefix,
        login = login ?: throw PulumiNullFieldException("login"),
        microsoftV2 = microsoftV2,
        requireAuthentication = requireAuthentication,
        requireHttps = requireHttps,
        runtimeVersion = runtimeVersion,
        twitterV2 = twitterV2,
        unauthenticatedAction = unauthenticatedAction,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy