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

com.pulumi.azurenative.community.kotlin.inputs.IdentityConfigurationPropertiesArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.community.kotlin.inputs

import com.pulumi.azurenative.community.inputs.IdentityConfigurationPropertiesArgs.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.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Details of the Community CommunityTraining Identity Configuration
 * @property b2cAuthenticationPolicy The name of the authentication policy registered in ADB2C for the Community Training Resource
 * @property b2cPasswordResetPolicy The name of the password reset policy registered in ADB2C for the Community Training Resource
 * @property clientId The clientId of the application registered in the selected identity provider for the Community Training Resource
 * @property clientSecret The client secret of the application registered in the selected identity provider for the Community Training Resource
 * @property customLoginParameters The custom login parameters for the Community Training Resource
 * @property domainName The domain name of the selected identity provider for the Community Training Resource
 * @property identityType The identity type of the Community Training Resource
 * @property teamsEnabled To indicate whether the Community Training Resource has Teams enabled
 * @property tenantId The tenantId of the selected identity provider for the Community Training Resource
 */
public data class IdentityConfigurationPropertiesArgs(
    public val b2cAuthenticationPolicy: Output? = null,
    public val b2cPasswordResetPolicy: Output? = null,
    public val clientId: Output,
    public val clientSecret: Output,
    public val customLoginParameters: Output? = null,
    public val domainName: Output,
    public val identityType: Output,
    public val teamsEnabled: Output? = null,
    public val tenantId: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.community.inputs.IdentityConfigurationPropertiesArgs = com.pulumi.azurenative.community.inputs.IdentityConfigurationPropertiesArgs.builder()
        .b2cAuthenticationPolicy(b2cAuthenticationPolicy?.applyValue({ args0 -> args0 }))
        .b2cPasswordResetPolicy(b2cPasswordResetPolicy?.applyValue({ args0 -> args0 }))
        .clientId(clientId.applyValue({ args0 -> args0 }))
        .clientSecret(clientSecret.applyValue({ args0 -> args0 }))
        .customLoginParameters(customLoginParameters?.applyValue({ args0 -> args0 }))
        .domainName(domainName.applyValue({ args0 -> args0 }))
        .identityType(identityType.applyValue({ args0 -> args0 }))
        .teamsEnabled(teamsEnabled?.applyValue({ args0 -> args0 }))
        .tenantId(tenantId.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [IdentityConfigurationPropertiesArgs].
 */
@PulumiTagMarker
public class IdentityConfigurationPropertiesArgsBuilder internal constructor() {
    private var b2cAuthenticationPolicy: Output? = null

    private var b2cPasswordResetPolicy: Output? = null

    private var clientId: Output? = null

    private var clientSecret: Output? = null

    private var customLoginParameters: Output? = null

    private var domainName: Output? = null

    private var identityType: Output? = null

    private var teamsEnabled: Output? = null

    private var tenantId: Output? = null

    /**
     * @param value The name of the authentication policy registered in ADB2C for the Community Training Resource
     */
    @JvmName("ptjiwshtshqurhws")
    public suspend fun b2cAuthenticationPolicy(`value`: Output) {
        this.b2cAuthenticationPolicy = value
    }

    /**
     * @param value The name of the password reset policy registered in ADB2C for the Community Training Resource
     */
    @JvmName("oiafcgajusnwgrsa")
    public suspend fun b2cPasswordResetPolicy(`value`: Output) {
        this.b2cPasswordResetPolicy = value
    }

    /**
     * @param value The clientId of the application registered in the selected identity provider for the Community Training Resource
     */
    @JvmName("folvvysptfhdqgmf")
    public suspend fun clientId(`value`: Output) {
        this.clientId = value
    }

    /**
     * @param value The client secret of the application registered in the selected identity provider for the Community Training Resource
     */
    @JvmName("vurgsgymjayyimjj")
    public suspend fun clientSecret(`value`: Output) {
        this.clientSecret = value
    }

    /**
     * @param value The custom login parameters for the Community Training Resource
     */
    @JvmName("oxocelwkpnigxfgp")
    public suspend fun customLoginParameters(`value`: Output) {
        this.customLoginParameters = value
    }

    /**
     * @param value The domain name of the selected identity provider for the Community Training Resource
     */
    @JvmName("xwlmbtiamuvulwrv")
    public suspend fun domainName(`value`: Output) {
        this.domainName = value
    }

    /**
     * @param value The identity type of the Community Training Resource
     */
    @JvmName("bdovnwaijvaobcjl")
    public suspend fun identityType(`value`: Output) {
        this.identityType = value
    }

    /**
     * @param value To indicate whether the Community Training Resource has Teams enabled
     */
    @JvmName("tnplbibdihbyhwto")
    public suspend fun teamsEnabled(`value`: Output) {
        this.teamsEnabled = value
    }

    /**
     * @param value The tenantId of the selected identity provider for the Community Training Resource
     */
    @JvmName("cegcnaukgculqwxv")
    public suspend fun tenantId(`value`: Output) {
        this.tenantId = value
    }

    /**
     * @param value The name of the authentication policy registered in ADB2C for the Community Training Resource
     */
    @JvmName("bcwnpsutjbkuwohy")
    public suspend fun b2cAuthenticationPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.b2cAuthenticationPolicy = mapped
    }

    /**
     * @param value The name of the password reset policy registered in ADB2C for the Community Training Resource
     */
    @JvmName("xgrtuqacootxtccw")
    public suspend fun b2cPasswordResetPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.b2cPasswordResetPolicy = mapped
    }

    /**
     * @param value The clientId of the application registered in the selected identity provider for the Community Training Resource
     */
    @JvmName("xjulwoudawgwiojs")
    public suspend fun clientId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clientId = mapped
    }

    /**
     * @param value The client secret of the application registered in the selected identity provider for the Community Training Resource
     */
    @JvmName("hxpxfsmdnlylwqaa")
    public suspend fun clientSecret(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clientSecret = mapped
    }

    /**
     * @param value The custom login parameters for the Community Training Resource
     */
    @JvmName("cmrdagbyaiepcbeq")
    public suspend fun customLoginParameters(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customLoginParameters = mapped
    }

    /**
     * @param value The domain name of the selected identity provider for the Community Training Resource
     */
    @JvmName("ygghiurwfvuwqvmo")
    public suspend fun domainName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.domainName = mapped
    }

    /**
     * @param value The identity type of the Community Training Resource
     */
    @JvmName("sdxigwdhfcadheoh")
    public suspend fun identityType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.identityType = mapped
    }

    /**
     * @param value To indicate whether the Community Training Resource has Teams enabled
     */
    @JvmName("lnrrlsblfggpclbr")
    public suspend fun teamsEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.teamsEnabled = mapped
    }

    /**
     * @param value The tenantId of the selected identity provider for the Community Training Resource
     */
    @JvmName("xbclpbayqexucfet")
    public suspend fun tenantId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tenantId = mapped
    }

    internal fun build(): IdentityConfigurationPropertiesArgs = IdentityConfigurationPropertiesArgs(
        b2cAuthenticationPolicy = b2cAuthenticationPolicy,
        b2cPasswordResetPolicy = b2cPasswordResetPolicy,
        clientId = clientId ?: throw PulumiNullFieldException("clientId"),
        clientSecret = clientSecret ?: throw PulumiNullFieldException("clientSecret"),
        customLoginParameters = customLoginParameters,
        domainName = domainName ?: throw PulumiNullFieldException("domainName"),
        identityType = identityType ?: throw PulumiNullFieldException("identityType"),
        teamsEnabled = teamsEnabled,
        tenantId = tenantId ?: throw PulumiNullFieldException("tenantId"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy