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

com.pulumi.awsnative.opensearchservice.kotlin.inputs.DomainCognitoOptionsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.opensearchservice.kotlin.inputs

import com.pulumi.awsnative.opensearchservice.inputs.DomainCognitoOptionsArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property enabled Whether to enable or disable Amazon Cognito authentication for OpenSearch Dashboards. See [Amazon Cognito authentication for OpenSearch Dashboards](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html) .
 * @property identityPoolId The Amazon Cognito identity pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
 * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
 * @property roleArn The `AmazonOpenSearchServiceCognitoAccess` role that allows OpenSearch Service to configure your user pool and identity pool.
 * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
 * @property userPoolId The Amazon Cognito user pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
 * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
 */
public data class DomainCognitoOptionsArgs(
    public val enabled: Output? = null,
    public val identityPoolId: Output? = null,
    public val roleArn: Output? = null,
    public val userPoolId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.opensearchservice.inputs.DomainCognitoOptionsArgs =
        com.pulumi.awsnative.opensearchservice.inputs.DomainCognitoOptionsArgs.builder()
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .identityPoolId(identityPoolId?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .userPoolId(userPoolId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DomainCognitoOptionsArgs].
 */
@PulumiTagMarker
public class DomainCognitoOptionsArgsBuilder internal constructor() {
    private var enabled: Output? = null

    private var identityPoolId: Output? = null

    private var roleArn: Output? = null

    private var userPoolId: Output? = null

    /**
     * @param value Whether to enable or disable Amazon Cognito authentication for OpenSearch Dashboards. See [Amazon Cognito authentication for OpenSearch Dashboards](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html) .
     */
    @JvmName("mhajnexlsdyhpvrf")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value The Amazon Cognito identity pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("odbrewohytwttuhu")
    public suspend fun identityPoolId(`value`: Output) {
        this.identityPoolId = value
    }

    /**
     * @param value The `AmazonOpenSearchServiceCognitoAccess` role that allows OpenSearch Service to configure your user pool and identity pool.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("xsuopijfiyvfxclq")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value The Amazon Cognito user pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("vmyucsjgycwcinia")
    public suspend fun userPoolId(`value`: Output) {
        this.userPoolId = value
    }

    /**
     * @param value Whether to enable or disable Amazon Cognito authentication for OpenSearch Dashboards. See [Amazon Cognito authentication for OpenSearch Dashboards](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html) .
     */
    @JvmName("suvevvrmnnqmctln")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value The Amazon Cognito identity pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("xgqgusrteqifjkhc")
    public suspend fun identityPoolId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.identityPoolId = mapped
    }

    /**
     * @param value The `AmazonOpenSearchServiceCognitoAccess` role that allows OpenSearch Service to configure your user pool and identity pool.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("jauyvjrgpqjqwtgw")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value The Amazon Cognito user pool ID that you want OpenSearch Service to use for OpenSearch Dashboards authentication.
     * Required if you enabled Cognito Authentication for OpenSearch Dashboards.
     */
    @JvmName("fhsywmgcqjckcgnd")
    public suspend fun userPoolId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userPoolId = mapped
    }

    internal fun build(): DomainCognitoOptionsArgs = DomainCognitoOptionsArgs(
        enabled = enabled,
        identityPoolId = identityPoolId,
        roleArn = roleArn,
        userPoolId = userPoolId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy