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

com.pulumi.awsnative.cognito.kotlin.UserPoolDomainArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.cognito.kotlin

import com.pulumi.awsnative.cognito.UserPoolDomainArgs.builder
import com.pulumi.awsnative.cognito.kotlin.inputs.UserPoolDomainCustomDomainConfigTypeArgs
import com.pulumi.awsnative.cognito.kotlin.inputs.UserPoolDomainCustomDomainConfigTypeArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::Cognito::UserPoolDomain
 * @property customDomainConfig The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
 * @property domain The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .
 * This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.
 * @property userPoolId The user pool ID for the user pool where you want to associate a user pool domain.
 */
public data class UserPoolDomainArgs(
    public val customDomainConfig: Output? = null,
    public val domain: Output? = null,
    public val userPoolId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.cognito.UserPoolDomainArgs =
        com.pulumi.awsnative.cognito.UserPoolDomainArgs.builder()
            .customDomainConfig(
                customDomainConfig?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .domain(domain?.applyValue({ args0 -> args0 }))
            .userPoolId(userPoolId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [UserPoolDomainArgs].
 */
@PulumiTagMarker
public class UserPoolDomainArgsBuilder internal constructor() {
    private var customDomainConfig: Output? = null

    private var domain: Output? = null

    private var userPoolId: Output? = null

    /**
     * @param value The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
     */
    @JvmName("rdhbabqxjonkyxcr")
    public suspend fun customDomainConfig(`value`: Output) {
        this.customDomainConfig = value
    }

    /**
     * @param value The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .
     * This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.
     */
    @JvmName("qrqfuhwsylwudixh")
    public suspend fun domain(`value`: Output) {
        this.domain = value
    }

    /**
     * @param value The user pool ID for the user pool where you want to associate a user pool domain.
     */
    @JvmName("jbwtnptovvaclluy")
    public suspend fun userPoolId(`value`: Output) {
        this.userPoolId = value
    }

    /**
     * @param value The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
     */
    @JvmName("jrkicsnlkfocrxos")
    public suspend fun customDomainConfig(`value`: UserPoolDomainCustomDomainConfigTypeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customDomainConfig = mapped
    }

    /**
     * @param argument The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
     */
    @JvmName("jaegpwxpalrpysbm")
    public suspend fun customDomainConfig(argument: suspend UserPoolDomainCustomDomainConfigTypeArgsBuilder.() -> Unit) {
        val toBeMapped = UserPoolDomainCustomDomainConfigTypeArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.customDomainConfig = mapped
    }

    /**
     * @param value The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .
     * This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.
     */
    @JvmName("nqrqxletbsmibwdv")
    public suspend fun domain(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.domain = mapped
    }

    /**
     * @param value The user pool ID for the user pool where you want to associate a user pool domain.
     */
    @JvmName("bkbaqpbcgmodfgnp")
    public suspend fun userPoolId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userPoolId = mapped
    }

    internal fun build(): UserPoolDomainArgs = UserPoolDomainArgs(
        customDomainConfig = customDomainConfig,
        domain = domain,
        userPoolId = userPoolId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy