All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.appservice.kotlin.inputs.SlotAuthSettingsArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin.inputs
import com.pulumi.azure.appservice.inputs.SlotAuthSettingsArgs.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.Double
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @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 SlotAuthSettingsArgs(
public val activeDirectory: Output? = null,
public val additionalLoginParams: Output>? = null,
public val allowedExternalRedirectUrls: Output>? = null,
public val defaultProvider: Output? = null,
public val enabled: Output,
public val facebook: Output? = null,
public val google: Output? = null,
public val issuer: Output? = null,
public val microsoft: Output? = null,
public val runtimeVersion: Output? = null,
public val tokenRefreshExtensionHours: Output? = null,
public val tokenStoreEnabled: Output? = null,
public val twitter: Output? = null,
public val unauthenticatedClientAction: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appservice.inputs.SlotAuthSettingsArgs =
com.pulumi.azure.appservice.inputs.SlotAuthSettingsArgs.builder()
.activeDirectory(activeDirectory?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.additionalLoginParams(
additionalLoginParams?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.allowedExternalRedirectUrls(
allowedExternalRedirectUrls?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.defaultProvider(defaultProvider?.applyValue({ args0 -> args0 }))
.enabled(enabled.applyValue({ args0 -> args0 }))
.facebook(facebook?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.google(google?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.issuer(issuer?.applyValue({ args0 -> args0 }))
.microsoft(microsoft?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.runtimeVersion(runtimeVersion?.applyValue({ args0 -> args0 }))
.tokenRefreshExtensionHours(tokenRefreshExtensionHours?.applyValue({ args0 -> args0 }))
.tokenStoreEnabled(tokenStoreEnabled?.applyValue({ args0 -> args0 }))
.twitter(twitter?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.unauthenticatedClientAction(unauthenticatedClientAction?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SlotAuthSettingsArgs].
*/
@PulumiTagMarker
public class SlotAuthSettingsArgsBuilder internal constructor() {
private var activeDirectory: Output? = null
private var additionalLoginParams: Output>? = null
private var allowedExternalRedirectUrls: Output>? = null
private var defaultProvider: Output? = null
private var enabled: Output? = null
private var facebook: Output? = null
private var google: Output? = null
private var issuer: Output? = null
private var microsoft: Output? = null
private var runtimeVersion: Output? = null
private var tokenRefreshExtensionHours: Output? = null
private var tokenStoreEnabled: Output? = null
private var twitter: Output? = null
private var unauthenticatedClientAction: Output? = null
/**
* @param value A `active_directory` block as defined below.
*/
@JvmName("ayesqvyirmoqprje")
public suspend fun activeDirectory(`value`: Output) {
this.activeDirectory = value
}
/**
* @param value Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
*/
@JvmName("kuaulxjjsaeuogoa")
public suspend fun additionalLoginParams(`value`: Output>) {
this.additionalLoginParams = value
}
/**
* @param value External URLs that can be redirected to as part of logging in or logging out of the app.
*/
@JvmName("miwnusbftlfqylyp")
public suspend fun allowedExternalRedirectUrls(`value`: Output>) {
this.allowedExternalRedirectUrls = value
}
@JvmName("gjgtxmuqsuqdyinv")
public suspend fun allowedExternalRedirectUrls(vararg values: Output) {
this.allowedExternalRedirectUrls = Output.all(values.asList())
}
/**
* @param values External URLs that can be redirected to as part of logging in or logging out of the app.
*/
@JvmName("ckhfenafbvknrest")
public suspend fun allowedExternalRedirectUrls(values: List>) {
this.allowedExternalRedirectUrls = Output.all(values)
}
/**
* @param value 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.
*/
@JvmName("kqtieicxcivlkfcj")
public suspend fun defaultProvider(`value`: Output) {
this.defaultProvider = value
}
/**
* @param value Is Authentication enabled?
*/
@JvmName("hkomrgoabefprmsx")
public suspend fun enabled(`value`: Output) {
this.enabled = value
}
/**
* @param value A `facebook` block as defined below.
*/
@JvmName("lckjfeoqbbjmiabo")
public suspend fun facebook(`value`: Output) {
this.facebook = value
}
/**
* @param value A `google` block as defined below.
*/
@JvmName("mtlmgycyvggrlmoq")
public suspend fun google(`value`: Output) {
this.google = value
}
/**
* @param value Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. .
*/
@JvmName("xsqmuvreqxishprk")
public suspend fun issuer(`value`: Output) {
this.issuer = value
}
/**
* @param value A `microsoft` block as defined below.
*/
@JvmName("mofivfuhayarradt")
public suspend fun microsoft(`value`: Output) {
this.microsoft = value
}
/**
* @param value The runtime version of the Authentication/Authorization module.
*/
@JvmName("havwxxmpcfiucxfd")
public suspend fun runtimeVersion(`value`: Output) {
this.runtimeVersion = value
}
/**
* @param value The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72`.
*/
@JvmName("sjbtulcnekqcpdvx")
public suspend fun tokenRefreshExtensionHours(`value`: Output) {
this.tokenRefreshExtensionHours = value
}
/**
* @param value If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to `false`.
*/
@JvmName("icjfgfkpisrrtnfs")
public suspend fun tokenStoreEnabled(`value`: Output) {
this.tokenStoreEnabled = value
}
/**
* @param value A `twitter` block as defined below.
*/
@JvmName("xcmyyercdlocriok")
public suspend fun twitter(`value`: Output) {
this.twitter = value
}
/**
* @param value The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.
*/
@JvmName("pngrivnnirumsjhq")
public suspend fun unauthenticatedClientAction(`value`: Output) {
this.unauthenticatedClientAction = value
}
/**
* @param value A `active_directory` block as defined below.
*/
@JvmName("dvrvgwbnuhnaekkw")
public suspend fun activeDirectory(`value`: SlotAuthSettingsActiveDirectoryArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.activeDirectory = mapped
}
/**
* @param argument A `active_directory` block as defined below.
*/
@JvmName("pqajvlsyqgruissh")
public suspend fun activeDirectory(argument: suspend SlotAuthSettingsActiveDirectoryArgsBuilder.() -> Unit) {
val toBeMapped = SlotAuthSettingsActiveDirectoryArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.activeDirectory = mapped
}
/**
* @param value Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
*/
@JvmName("cpumisloydjrwlih")
public suspend fun additionalLoginParams(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalLoginParams = mapped
}
/**
* @param values Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
*/
@JvmName("xrdluqphfjtyfhvm")
public fun additionalLoginParams(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.additionalLoginParams = mapped
}
/**
* @param value External URLs that can be redirected to as part of logging in or logging out of the app.
*/
@JvmName("dkmpqlyaswediato")
public suspend fun allowedExternalRedirectUrls(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedExternalRedirectUrls = mapped
}
/**
* @param values External URLs that can be redirected to as part of logging in or logging out of the app.
*/
@JvmName("eapfjqlcrpbbpfxy")
public suspend fun allowedExternalRedirectUrls(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedExternalRedirectUrls = mapped
}
/**
* @param value 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.
*/
@JvmName("wkkxcfwgjihbyooc")
public suspend fun defaultProvider(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.defaultProvider = mapped
}
/**
* @param value Is Authentication enabled?
*/
@JvmName("addpuvchvajpiwbk")
public suspend fun enabled(`value`: Boolean) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.enabled = mapped
}
/**
* @param value A `facebook` block as defined below.
*/
@JvmName("ytbnxvpdadtffmpq")
public suspend fun facebook(`value`: SlotAuthSettingsFacebookArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.facebook = mapped
}
/**
* @param argument A `facebook` block as defined below.
*/
@JvmName("cuhxxjqfliukviar")
public suspend fun facebook(argument: suspend SlotAuthSettingsFacebookArgsBuilder.() -> Unit) {
val toBeMapped = SlotAuthSettingsFacebookArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.facebook = mapped
}
/**
* @param value A `google` block as defined below.
*/
@JvmName("ctedyngomsnsrtdi")
public suspend fun google(`value`: SlotAuthSettingsGoogleArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.google = mapped
}
/**
* @param argument A `google` block as defined below.
*/
@JvmName("kraccglqaionemtl")
public suspend fun google(argument: suspend SlotAuthSettingsGoogleArgsBuilder.() -> Unit) {
val toBeMapped = SlotAuthSettingsGoogleArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.google = mapped
}
/**
* @param value Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. .
*/
@JvmName("vnwkncxqlppiqlpd")
public suspend fun issuer(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.issuer = mapped
}
/**
* @param value A `microsoft` block as defined below.
*/
@JvmName("niddtaxgukceesqj")
public suspend fun microsoft(`value`: SlotAuthSettingsMicrosoftArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.microsoft = mapped
}
/**
* @param argument A `microsoft` block as defined below.
*/
@JvmName("buvyowqkwamgepmq")
public suspend fun microsoft(argument: suspend SlotAuthSettingsMicrosoftArgsBuilder.() -> Unit) {
val toBeMapped = SlotAuthSettingsMicrosoftArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.microsoft = mapped
}
/**
* @param value The runtime version of the Authentication/Authorization module.
*/
@JvmName("kbdjjpwfikumpuru")
public suspend fun runtimeVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.runtimeVersion = mapped
}
/**
* @param value The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72`.
*/
@JvmName("jhpvyqydpqokqand")
public suspend fun tokenRefreshExtensionHours(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tokenRefreshExtensionHours = mapped
}
/**
* @param value If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to `false`.
*/
@JvmName("hrbjbdogggcqggye")
public suspend fun tokenStoreEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tokenStoreEnabled = mapped
}
/**
* @param value A `twitter` block as defined below.
*/
@JvmName("wmpcwuthxnvayjfy")
public suspend fun twitter(`value`: SlotAuthSettingsTwitterArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.twitter = mapped
}
/**
* @param argument A `twitter` block as defined below.
*/
@JvmName("wkjoimaypyxpgeyi")
public suspend fun twitter(argument: suspend SlotAuthSettingsTwitterArgsBuilder.() -> Unit) {
val toBeMapped = SlotAuthSettingsTwitterArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.twitter = mapped
}
/**
* @param value The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.
*/
@JvmName("bgjsuvksktmflykb")
public suspend fun unauthenticatedClientAction(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.unauthenticatedClientAction = mapped
}
internal fun build(): SlotAuthSettingsArgs = SlotAuthSettingsArgs(
activeDirectory = activeDirectory,
additionalLoginParams = additionalLoginParams,
allowedExternalRedirectUrls = allowedExternalRedirectUrls,
defaultProvider = defaultProvider,
enabled = enabled ?: throw PulumiNullFieldException("enabled"),
facebook = facebook,
google = google,
issuer = issuer,
microsoft = microsoft,
runtimeVersion = runtimeVersion,
tokenRefreshExtensionHours = tokenRefreshExtensionHours,
tokenStoreEnabled = tokenStoreEnabled,
twitter = twitter,
unauthenticatedClientAction = unauthenticatedClientAction,
)
}