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

com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppSlotAuthSettingsV2Args.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.WindowsFunctionAppSlotAuthSettingsV2Args.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 WindowsFunctionAppSlotAuthSettingsV2Args(
    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.WindowsFunctionAppSlotAuthSettingsV2Args =
        com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotAuthSettingsV2Args.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 [WindowsFunctionAppSlotAuthSettingsV2Args].
 */
@PulumiTagMarker
public class WindowsFunctionAppSlotAuthSettingsV2ArgsBuilder 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("pwlngretmclvbibp")
    public suspend
    fun activeDirectoryV2(`value`: Output) {
        this.activeDirectoryV2 = value
    }

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

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

    /**
     * @param value An `azure_static_web_app_v2` block as defined below.
     */
    @JvmName("jqvrukwwkedwlnls")
    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("kahrhfymotirkvdl")
    public suspend fun configFilePath(`value`: Output) {
        this.configFilePath = value
    }

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

    @JvmName("bpggblqsptkcdfky")
    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("jxpdttfjdnweukxs")
    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("rtmfcciesnbgjhhg")
    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("niqfbtqsxcbxhcxe")
    public suspend fun excludedPaths(`value`: Output>) {
        this.excludedPaths = value
    }

    @JvmName("soysonsjqaarluci")
    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("avcudlmbutbmhafq")
    public suspend fun excludedPaths(values: List>) {
        this.excludedPaths = Output.all(values)
    }

    /**
     * @param value A `facebook_v2` block as defined below.
     */
    @JvmName("qyvsgwtilatsqepe")
    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("kyxewngnkucgqjji")
    public suspend fun forwardProxyConvention(`value`: Output) {
        this.forwardProxyConvention = value
    }

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

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

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

    /**
     * @param value A `google_v2` block as defined below.
     */
    @JvmName("ynyadbecedknooqu")
    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("vuihicueamfxeamd")
    public suspend fun httpRouteApiPrefix(`value`: Output) {
        this.httpRouteApiPrefix = value
    }

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

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

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

    /**
     * @param value Should HTTPS be required on connections? Defaults to `true`.
     */
    @JvmName("hnitxhsowydqqbdv")
    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("jqedprtejfckmvci")
    public suspend fun runtimeVersion(`value`: Output) {
        this.runtimeVersion = value
    }

    /**
     * @param value A `twitter_v2` block as defined below.
     */
    @JvmName("oodbxvnkocwcxvmj")
    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("kjmswwqakytipslb")
    public suspend fun unauthenticatedAction(`value`: Output) {
        this.unauthenticatedAction = value
    }

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

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

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

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

    /**
     * @param value Should the AuthV2 Settings be enabled. Defaults to `false`.
     */
    @JvmName("qmkydvwvifcxewim")
    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("nytfmitqcsweaovn")
    public suspend
    fun azureStaticWebAppV2(`value`: WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2Args?) {
        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("cfxtpwytifaifopw")
    public suspend
    fun azureStaticWebAppV2(argument: suspend WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2ArgsBuilder.() -> Unit) {
        val toBeMapped =
            WindowsFunctionAppSlotAuthSettingsV2AzureStaticWebAppV2ArgsBuilder().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("kfmfvrqlenomesmv")
    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("cvswhajxulpyjguw")
    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("gxawpxudcmpjkubg")
    public suspend
    fun customOidcV2s(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2ArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customOidcV2s = mapped
    }

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

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

    /**
     * @param values Zero or more `custom_oidc_v2` blocks as defined below.
     */
    @JvmName("jypvtuqpalxokifv")
    public suspend fun customOidcV2s(
        vararg
        values: WindowsFunctionAppSlotAuthSettingsV2CustomOidcV2Args,
    ) {
        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("cvyqmhfeoxweudwt")
    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("njidxbwlaelbmpqb")
    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("qrnaslmjvtxejnbv")
    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("ejtouuvfyysytxbc")
    public suspend fun facebookV2(`value`: WindowsFunctionAppSlotAuthSettingsV2FacebookV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.facebookV2 = mapped
    }

    /**
     * @param argument A `facebook_v2` block as defined below.
     */
    @JvmName("ashopyaulqmbapxc")
    public suspend
    fun facebookV2(argument: suspend WindowsFunctionAppSlotAuthSettingsV2FacebookV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsFunctionAppSlotAuthSettingsV2FacebookV2ArgsBuilder().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("wgvmnnfjtanebaki")
    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("nhnflnyhckrkauhi")
    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("bjhbpmkmsahagkbt")
    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("hqqhlfdtpqthuijs")
    public suspend fun githubV2(`value`: WindowsFunctionAppSlotAuthSettingsV2GithubV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.githubV2 = mapped
    }

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

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

    /**
     * @param argument A `google_v2` block as defined below.
     */
    @JvmName("yrboqymtorlwskgl")
    public suspend
    fun googleV2(argument: suspend WindowsFunctionAppSlotAuthSettingsV2GoogleV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsFunctionAppSlotAuthSettingsV2GoogleV2ArgsBuilder().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("fubpvgnfahxwaafg")
    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("qgybrsttmcpbkhmt")
    public suspend fun login(`value`: WindowsFunctionAppSlotAuthSettingsV2LoginArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.login = mapped
    }

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

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

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

    /**
     * @param value Should the authentication flow be used for all requests.
     */
    @JvmName("pnhjtvuffgjdteuc")
    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("rfifhnxnpkmeecca")
    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("treqoflouccetxun")
    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("jxqxoxtqbueslbgi")
    public suspend fun twitterV2(`value`: WindowsFunctionAppSlotAuthSettingsV2TwitterV2Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.twitterV2 = mapped
    }

    /**
     * @param argument A `twitter_v2` block as defined below.
     */
    @JvmName("smdibgerbikxojlr")
    public suspend
    fun twitterV2(argument: suspend WindowsFunctionAppSlotAuthSettingsV2TwitterV2ArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsFunctionAppSlotAuthSettingsV2TwitterV2ArgsBuilder().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("cmdfahkfhapxcagn")
    public suspend fun unauthenticatedAction(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.unauthenticatedAction = mapped
    }

    internal fun build(): WindowsFunctionAppSlotAuthSettingsV2Args =
        WindowsFunctionAppSlotAuthSettingsV2Args(
            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