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.WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin.inputs
import com.pulumi.azure.appservice.inputs.WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.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 kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property allowedApplications The list of allowed Applications for the Default Authorisation Policy.
* @property allowedAudiences Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
* @property allowedGroups The list of allowed Group Names for the Default Authorisation Policy.
* @property allowedIdentities The list of allowed Identities for the Default Authorisation Policy.
* @property clientId The ID of the Client to use to authenticate with Azure Active Directory.
* @property clientSecretCertificateThumbprint The thumbprint of the certificate used for signing purposes.
* @property clientSecretSettingName The App Setting name that contains the client secret of the Client.
* !> **NOTE:** A setting with this name must exist in `app_settings` to function correctly.
* @property jwtAllowedClientApplications A list of Allowed Client Applications in the JWT Claim.
* @property jwtAllowedGroups A list of Allowed Groups in the JWT Claim.
* @property loginParameters A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
* @property tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`
* > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.
* @property wwwAuthenticationDisabled Should the www-authenticate provider should be omitted from the request? Defaults to `false`.
*/
public data class WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args(
public val allowedApplications: Output>? = null,
public val allowedAudiences: Output>? = null,
public val allowedGroups: Output>? = null,
public val allowedIdentities: Output>? = null,
public val clientId: Output,
public val clientSecretCertificateThumbprint: Output? = null,
public val clientSecretSettingName: Output? = null,
public val jwtAllowedClientApplications: Output>? = null,
public val jwtAllowedGroups: Output>? = null,
public val loginParameters: Output>? = null,
public val tenantAuthEndpoint: Output,
public val wwwAuthenticationDisabled: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appservice.inputs.WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args =
com.pulumi.azure.appservice.inputs.WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.builder()
.allowedApplications(allowedApplications?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.allowedAudiences(allowedAudiences?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.allowedGroups(allowedGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.allowedIdentities(allowedIdentities?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.clientId(clientId.applyValue({ args0 -> args0 }))
.clientSecretCertificateThumbprint(
clientSecretCertificateThumbprint?.applyValue({ args0 ->
args0
}),
)
.clientSecretSettingName(clientSecretSettingName?.applyValue({ args0 -> args0 }))
.jwtAllowedClientApplications(
jwtAllowedClientApplications?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.jwtAllowedGroups(jwtAllowedGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.loginParameters(
loginParameters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.tenantAuthEndpoint(tenantAuthEndpoint.applyValue({ args0 -> args0 }))
.wwwAuthenticationDisabled(wwwAuthenticationDisabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args].
*/
@PulumiTagMarker
public class WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2ArgsBuilder internal constructor() {
private var allowedApplications: Output>? = null
private var allowedAudiences: Output>? = null
private var allowedGroups: Output>? = null
private var allowedIdentities: Output>? = null
private var clientId: Output? = null
private var clientSecretCertificateThumbprint: Output? = null
private var clientSecretSettingName: Output? = null
private var jwtAllowedClientApplications: Output>? = null
private var jwtAllowedGroups: Output>? = null
private var loginParameters: Output>? = null
private var tenantAuthEndpoint: Output? = null
private var wwwAuthenticationDisabled: Output? = null
/**
* @param value The list of allowed Applications for the Default Authorisation Policy.
*/
@JvmName("axctpmgnfnukhujv")
public suspend fun allowedApplications(`value`: Output>) {
this.allowedApplications = value
}
@JvmName("dgjnouxmepiauifh")
public suspend fun allowedApplications(vararg values: Output) {
this.allowedApplications = Output.all(values.asList())
}
/**
* @param values The list of allowed Applications for the Default Authorisation Policy.
*/
@JvmName("kabuadyrnvfdfjnf")
public suspend fun allowedApplications(values: List>) {
this.allowedApplications = Output.all(values)
}
/**
* @param value Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*/
@JvmName("smhwbjsrwahyarpy")
public suspend fun allowedAudiences(`value`: Output>) {
this.allowedAudiences = value
}
@JvmName("fwpdljebidslelhj")
public suspend fun allowedAudiences(vararg values: Output) {
this.allowedAudiences = Output.all(values.asList())
}
/**
* @param values Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*/
@JvmName("fxiwsieotgnktbhv")
public suspend fun allowedAudiences(values: List>) {
this.allowedAudiences = Output.all(values)
}
/**
* @param value The list of allowed Group Names for the Default Authorisation Policy.
*/
@JvmName("ujaebgwutkedqgpq")
public suspend fun allowedGroups(`value`: Output>) {
this.allowedGroups = value
}
@JvmName("kmgwvbpoyqmhntvu")
public suspend fun allowedGroups(vararg values: Output) {
this.allowedGroups = Output.all(values.asList())
}
/**
* @param values The list of allowed Group Names for the Default Authorisation Policy.
*/
@JvmName("tldeftasxatwyyey")
public suspend fun allowedGroups(values: List>) {
this.allowedGroups = Output.all(values)
}
/**
* @param value The list of allowed Identities for the Default Authorisation Policy.
*/
@JvmName("lpfowjmmhlokyava")
public suspend fun allowedIdentities(`value`: Output>) {
this.allowedIdentities = value
}
@JvmName("wjqqswurfgetuagw")
public suspend fun allowedIdentities(vararg values: Output) {
this.allowedIdentities = Output.all(values.asList())
}
/**
* @param values The list of allowed Identities for the Default Authorisation Policy.
*/
@JvmName("aynvfaqlikhujabr")
public suspend fun allowedIdentities(values: List>) {
this.allowedIdentities = Output.all(values)
}
/**
* @param value The ID of the Client to use to authenticate with Azure Active Directory.
*/
@JvmName("trtfkfhnxdgoqiem")
public suspend fun clientId(`value`: Output) {
this.clientId = value
}
/**
* @param value The thumbprint of the certificate used for signing purposes.
*/
@JvmName("eeaefueetxqbieoe")
public suspend fun clientSecretCertificateThumbprint(`value`: Output) {
this.clientSecretCertificateThumbprint = value
}
/**
* @param value The App Setting name that contains the client secret of the Client.
* !> **NOTE:** A setting with this name must exist in `app_settings` to function correctly.
*/
@JvmName("iwighapivwpetuvq")
public suspend fun clientSecretSettingName(`value`: Output) {
this.clientSecretSettingName = value
}
/**
* @param value A list of Allowed Client Applications in the JWT Claim.
*/
@JvmName("iyeljkdwpuwuvgsm")
public suspend fun jwtAllowedClientApplications(`value`: Output>) {
this.jwtAllowedClientApplications = value
}
@JvmName("qbwdigmsnexbbuhy")
public suspend fun jwtAllowedClientApplications(vararg values: Output) {
this.jwtAllowedClientApplications = Output.all(values.asList())
}
/**
* @param values A list of Allowed Client Applications in the JWT Claim.
*/
@JvmName("mesebciavbnlwion")
public suspend fun jwtAllowedClientApplications(values: List>) {
this.jwtAllowedClientApplications = Output.all(values)
}
/**
* @param value A list of Allowed Groups in the JWT Claim.
*/
@JvmName("hhacksevruqgecrt")
public suspend fun jwtAllowedGroups(`value`: Output>) {
this.jwtAllowedGroups = value
}
@JvmName("hrehlelpnwyrlamu")
public suspend fun jwtAllowedGroups(vararg values: Output) {
this.jwtAllowedGroups = Output.all(values.asList())
}
/**
* @param values A list of Allowed Groups in the JWT Claim.
*/
@JvmName("uhtdprmxnflqohps")
public suspend fun jwtAllowedGroups(values: List>) {
this.jwtAllowedGroups = Output.all(values)
}
/**
* @param value A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*/
@JvmName("dyrfopreopbnqvsl")
public suspend fun loginParameters(`value`: Output>) {
this.loginParameters = value
}
/**
* @param value The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`
* > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.
*/
@JvmName("ixvhrtdvgsvjdkgj")
public suspend fun tenantAuthEndpoint(`value`: Output) {
this.tenantAuthEndpoint = value
}
/**
* @param value Should the www-authenticate provider should be omitted from the request? Defaults to `false`.
*/
@JvmName("ptcpwhwakvyyxtbj")
public suspend fun wwwAuthenticationDisabled(`value`: Output) {
this.wwwAuthenticationDisabled = value
}
/**
* @param value The list of allowed Applications for the Default Authorisation Policy.
*/
@JvmName("cnitvbmmobubjvyf")
public suspend fun allowedApplications(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedApplications = mapped
}
/**
* @param values The list of allowed Applications for the Default Authorisation Policy.
*/
@JvmName("ncjssfhlbokcsubn")
public suspend fun allowedApplications(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedApplications = mapped
}
/**
* @param value Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*/
@JvmName("njgotjbmxtqutcqu")
public suspend fun allowedAudiences(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedAudiences = mapped
}
/**
* @param values Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*/
@JvmName("iwspukwylsjslqyh")
public suspend fun allowedAudiences(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedAudiences = mapped
}
/**
* @param value The list of allowed Group Names for the Default Authorisation Policy.
*/
@JvmName("lylfrkmnowrvfklo")
public suspend fun allowedGroups(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedGroups = mapped
}
/**
* @param values The list of allowed Group Names for the Default Authorisation Policy.
*/
@JvmName("lmoixytutujvvpqx")
public suspend fun allowedGroups(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedGroups = mapped
}
/**
* @param value The list of allowed Identities for the Default Authorisation Policy.
*/
@JvmName("vdjvtdbuxvgrupyj")
public suspend fun allowedIdentities(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedIdentities = mapped
}
/**
* @param values The list of allowed Identities for the Default Authorisation Policy.
*/
@JvmName("ikkoikxoynkdkbsr")
public suspend fun allowedIdentities(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedIdentities = mapped
}
/**
* @param value The ID of the Client to use to authenticate with Azure Active Directory.
*/
@JvmName("mqebemwsbpxgojts")
public suspend fun clientId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.clientId = mapped
}
/**
* @param value The thumbprint of the certificate used for signing purposes.
*/
@JvmName("urslqqvnirmidell")
public suspend fun clientSecretCertificateThumbprint(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientSecretCertificateThumbprint = mapped
}
/**
* @param value The App Setting name that contains the client secret of the Client.
* !> **NOTE:** A setting with this name must exist in `app_settings` to function correctly.
*/
@JvmName("pcsvyglibgimlpxe")
public suspend fun clientSecretSettingName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientSecretSettingName = mapped
}
/**
* @param value A list of Allowed Client Applications in the JWT Claim.
*/
@JvmName("etwikvuwwmvsnwgk")
public suspend fun jwtAllowedClientApplications(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.jwtAllowedClientApplications = mapped
}
/**
* @param values A list of Allowed Client Applications in the JWT Claim.
*/
@JvmName("elbkucfaatduyxyp")
public suspend fun jwtAllowedClientApplications(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.jwtAllowedClientApplications = mapped
}
/**
* @param value A list of Allowed Groups in the JWT Claim.
*/
@JvmName("dxmrjknpttrclecm")
public suspend fun jwtAllowedGroups(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.jwtAllowedGroups = mapped
}
/**
* @param values A list of Allowed Groups in the JWT Claim.
*/
@JvmName("blxikaqkhqevnwwg")
public suspend fun jwtAllowedGroups(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.jwtAllowedGroups = mapped
}
/**
* @param value A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*/
@JvmName("dvictpxxbhibvsle")
public suspend fun loginParameters(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.loginParameters = mapped
}
/**
* @param values A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*/
@JvmName("cnchwrrbrkiovalx")
public fun loginParameters(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.loginParameters = mapped
}
/**
* @param value The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`
* > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.
*/
@JvmName("rgvnlortrpamoiua")
public suspend fun tenantAuthEndpoint(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tenantAuthEndpoint = mapped
}
/**
* @param value Should the www-authenticate provider should be omitted from the request? Defaults to `false`.
*/
@JvmName("ffjuxhxdgburvxpk")
public suspend fun wwwAuthenticationDisabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.wwwAuthenticationDisabled = mapped
}
internal fun build(): WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args =
WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args(
allowedApplications = allowedApplications,
allowedAudiences = allowedAudiences,
allowedGroups = allowedGroups,
allowedIdentities = allowedIdentities,
clientId = clientId ?: throw PulumiNullFieldException("clientId"),
clientSecretCertificateThumbprint = clientSecretCertificateThumbprint,
clientSecretSettingName = clientSecretSettingName,
jwtAllowedClientApplications = jwtAllowedClientApplications,
jwtAllowedGroups = jwtAllowedGroups,
loginParameters = loginParameters,
tenantAuthEndpoint = tenantAuthEndpoint ?: throw PulumiNullFieldException("tenantAuthEndpoint"),
wwwAuthenticationDisabled = wwwAuthenticationDisabled,
)
}