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

com.pulumi.awsnative.lex.kotlin.BotAliasArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.lex.kotlin

import com.pulumi.awsnative.lex.BotAliasArgs.builder
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasConversationLogSettingsArgs
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasConversationLogSettingsArgsBuilder
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasLocaleSettingsItemArgs
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasLocaleSettingsItemArgsBuilder
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasTagArgs
import com.pulumi.awsnative.lex.kotlin.inputs.BotAliasTagArgsBuilder
import com.pulumi.awsnative.lex.kotlin.inputs.SentimentAnalysisSettingsPropertiesArgs
import com.pulumi.awsnative.lex.kotlin.inputs.SentimentAnalysisSettingsPropertiesArgsBuilder
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.collections.List
import kotlin.jvm.JvmName

/**
 * A Bot Alias enables you to change the version of a bot without updating applications that use the bot
 * @property botAliasLocaleSettings Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
 * @property botAliasName The name of the bot alias.
 * @property botAliasTags A list of tags to add to the bot alias.
 * @property botId The unique identifier of the bot.
 * @property botVersion The version of the bot that the bot alias references.
 * @property conversationLogSettings Specifies whether Amazon Lex logs text and audio for conversations with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch logs. Audio logs store input in Amazon S3 .
 * @property description The description of the bot alias.
 * @property sentimentAnalysisSettings Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
 */
public data class BotAliasArgs(
    public val botAliasLocaleSettings: Output>? = null,
    public val botAliasName: Output? = null,
    public val botAliasTags: Output>? = null,
    public val botId: Output? = null,
    public val botVersion: Output? = null,
    public val conversationLogSettings: Output? = null,
    public val description: Output? = null,
    public val sentimentAnalysisSettings: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lex.BotAliasArgs =
        com.pulumi.awsnative.lex.BotAliasArgs.builder()
            .botAliasLocaleSettings(
                botAliasLocaleSettings?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .botAliasName(botAliasName?.applyValue({ args0 -> args0 }))
            .botAliasTags(
                botAliasTags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .botId(botId?.applyValue({ args0 -> args0 }))
            .botVersion(botVersion?.applyValue({ args0 -> args0 }))
            .conversationLogSettings(
                conversationLogSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .description(description?.applyValue({ args0 -> args0 }))
            .sentimentAnalysisSettings(
                sentimentAnalysisSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [BotAliasArgs].
 */
@PulumiTagMarker
public class BotAliasArgsBuilder internal constructor() {
    private var botAliasLocaleSettings: Output>? = null

    private var botAliasName: Output? = null

    private var botAliasTags: Output>? = null

    private var botId: Output? = null

    private var botVersion: Output? = null

    private var conversationLogSettings: Output? = null

    private var description: Output? = null

    private var sentimentAnalysisSettings: Output? = null

    /**
     * @param value Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("ejxugjohodpacdwy")
    public suspend fun botAliasLocaleSettings(`value`: Output>) {
        this.botAliasLocaleSettings = value
    }

    @JvmName("hkujommusckicxmh")
    public suspend fun botAliasLocaleSettings(vararg values: Output) {
        this.botAliasLocaleSettings = Output.all(values.asList())
    }

    /**
     * @param values Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("lholkjtxowkptbjf")
    public suspend fun botAliasLocaleSettings(values: List>) {
        this.botAliasLocaleSettings = Output.all(values)
    }

    /**
     * @param value The name of the bot alias.
     */
    @JvmName("beutyjcgoquqbhta")
    public suspend fun botAliasName(`value`: Output) {
        this.botAliasName = value
    }

    /**
     * @param value A list of tags to add to the bot alias.
     */
    @JvmName("rjkhotcmtocbihcj")
    public suspend fun botAliasTags(`value`: Output>) {
        this.botAliasTags = value
    }

    @JvmName("obmdphrcsdcroxyc")
    public suspend fun botAliasTags(vararg values: Output) {
        this.botAliasTags = Output.all(values.asList())
    }

    /**
     * @param values A list of tags to add to the bot alias.
     */
    @JvmName("llgfhdvtribviypr")
    public suspend fun botAliasTags(values: List>) {
        this.botAliasTags = Output.all(values)
    }

    /**
     * @param value The unique identifier of the bot.
     */
    @JvmName("akyunhafwgintyft")
    public suspend fun botId(`value`: Output) {
        this.botId = value
    }

    /**
     * @param value The version of the bot that the bot alias references.
     */
    @JvmName("dqwplttbckgoaqcn")
    public suspend fun botVersion(`value`: Output) {
        this.botVersion = value
    }

    /**
     * @param value Specifies whether Amazon Lex logs text and audio for conversations with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch logs. Audio logs store input in Amazon S3 .
     */
    @JvmName("oxrfqipkrawklphq")
    public suspend fun conversationLogSettings(`value`: Output) {
        this.conversationLogSettings = value
    }

    /**
     * @param value The description of the bot alias.
     */
    @JvmName("cmivsfedpcbshuae")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
     */
    @JvmName("itnkjncdfvmmhsam")
    public suspend fun sentimentAnalysisSettings(`value`: Output) {
        this.sentimentAnalysisSettings = value
    }

    /**
     * @param value Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("suurbgwuqoaxctwk")
    public suspend fun botAliasLocaleSettings(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.botAliasLocaleSettings = mapped
    }

    /**
     * @param argument Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("syddgiguudjxqgjx")
    public suspend fun botAliasLocaleSettings(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            BotAliasLocaleSettingsItemArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.botAliasLocaleSettings = mapped
    }

    /**
     * @param argument Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("ybcuapvqxocgqgbi")
    public suspend fun botAliasLocaleSettings(vararg argument: suspend BotAliasLocaleSettingsItemArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            BotAliasLocaleSettingsItemArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.botAliasLocaleSettings = mapped
    }

    /**
     * @param argument Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("ipsvslfpephmqkkd")
    public suspend fun botAliasLocaleSettings(argument: suspend BotAliasLocaleSettingsItemArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            BotAliasLocaleSettingsItemArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.botAliasLocaleSettings = mapped
    }

    /**
     * @param values Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
     */
    @JvmName("tvxvvbwkscmimukc")
    public suspend fun botAliasLocaleSettings(vararg values: BotAliasLocaleSettingsItemArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.botAliasLocaleSettings = mapped
    }

    /**
     * @param value The name of the bot alias.
     */
    @JvmName("bxqxoyoysyiunesc")
    public suspend fun botAliasName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.botAliasName = mapped
    }

    /**
     * @param value A list of tags to add to the bot alias.
     */
    @JvmName("gdsmqjcoerxgeqge")
    public suspend fun botAliasTags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.botAliasTags = mapped
    }

    /**
     * @param argument A list of tags to add to the bot alias.
     */
    @JvmName("gnjialgskhukresy")
    public suspend fun botAliasTags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { BotAliasTagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.botAliasTags = mapped
    }

    /**
     * @param argument A list of tags to add to the bot alias.
     */
    @JvmName("utgptyhtrhyjcvyd")
    public suspend fun botAliasTags(vararg argument: suspend BotAliasTagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { BotAliasTagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.botAliasTags = mapped
    }

    /**
     * @param argument A list of tags to add to the bot alias.
     */
    @JvmName("sixdwihxfaqutoco")
    public suspend fun botAliasTags(argument: suspend BotAliasTagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(BotAliasTagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.botAliasTags = mapped
    }

    /**
     * @param values A list of tags to add to the bot alias.
     */
    @JvmName("vckqaonjdtmvokll")
    public suspend fun botAliasTags(vararg values: BotAliasTagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.botAliasTags = mapped
    }

    /**
     * @param value The unique identifier of the bot.
     */
    @JvmName("jlgawmdeewuruein")
    public suspend fun botId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.botId = mapped
    }

    /**
     * @param value The version of the bot that the bot alias references.
     */
    @JvmName("okotfdecngcadyql")
    public suspend fun botVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.botVersion = mapped
    }

    /**
     * @param value Specifies whether Amazon Lex logs text and audio for conversations with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch logs. Audio logs store input in Amazon S3 .
     */
    @JvmName("sdjecbytqacqhwtj")
    public suspend fun conversationLogSettings(`value`: BotAliasConversationLogSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.conversationLogSettings = mapped
    }

    /**
     * @param argument Specifies whether Amazon Lex logs text and audio for conversations with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch logs. Audio logs store input in Amazon S3 .
     */
    @JvmName("wdkqeuycpguemefe")
    public suspend fun conversationLogSettings(argument: suspend BotAliasConversationLogSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = BotAliasConversationLogSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.conversationLogSettings = mapped
    }

    /**
     * @param value The description of the bot alias.
     */
    @JvmName("ryfosctxoqvykgha")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
     */
    @JvmName("lqgmxgvuuplgrxbp")
    public suspend fun sentimentAnalysisSettings(`value`: SentimentAnalysisSettingsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sentimentAnalysisSettings = mapped
    }

    /**
     * @param argument Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
     */
    @JvmName("gnjdsoacldpntgix")
    public suspend fun sentimentAnalysisSettings(argument: suspend SentimentAnalysisSettingsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = SentimentAnalysisSettingsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.sentimentAnalysisSettings = mapped
    }

    internal fun build(): BotAliasArgs = BotAliasArgs(
        botAliasLocaleSettings = botAliasLocaleSettings,
        botAliasName = botAliasName,
        botAliasTags = botAliasTags,
        botId = botId,
        botVersion = botVersion,
        conversationLogSettings = conversationLogSettings,
        description = description,
        sentimentAnalysisSettings = sentimentAnalysisSettings,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy