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

com.pulumi.awsnative.lex.kotlin.inputs.BotIntentConfirmationSettingArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.lex.kotlin.inputs

import com.pulumi.awsnative.lex.inputs.BotIntentConfirmationSettingArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Provides a prompt for making sure that the user is ready for the intent to be fulfilled.
 * @property codeHook The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.
 * @property confirmationConditional A list of conditional branches to evaluate after the intent is closed.
 * @property confirmationNextStep Specifies the next step that the bot executes when the customer confirms the intent.
 * @property confirmationResponse Specifies a list of message groups that Amazon Lex uses to respond the user input.
 * @property declinationConditional A list of conditional branches to evaluate after the intent is declined.
 * @property declinationNextStep Specifies the next step that the bot executes when the customer declines the intent.
 * @property declinationResponse When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.
 * @property elicitationCodeHook The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.
 * @property failureConditional Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.
 * @property failureNextStep The next step to take in the conversation if the confirmation step fails.
 * @property failureResponse Specifies a list of message groups that Amazon Lex uses to respond the user input.
 * @property isActive Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.
 * @property promptSpecification Prompts the user to confirm the intent. This question should have a yes or no answer.
 */
public data class BotIntentConfirmationSettingArgs(
    public val codeHook: Output? = null,
    public val confirmationConditional: Output? = null,
    public val confirmationNextStep: Output? = null,
    public val confirmationResponse: Output? = null,
    public val declinationConditional: Output? = null,
    public val declinationNextStep: Output? = null,
    public val declinationResponse: Output? = null,
    public val elicitationCodeHook: Output? = null,
    public val failureConditional: Output? = null,
    public val failureNextStep: Output? = null,
    public val failureResponse: Output? = null,
    public val isActive: Output? = null,
    public val promptSpecification: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lex.inputs.BotIntentConfirmationSettingArgs =
        com.pulumi.awsnative.lex.inputs.BotIntentConfirmationSettingArgs.builder()
            .codeHook(codeHook?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .confirmationConditional(
                confirmationConditional?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .confirmationNextStep(
                confirmationNextStep?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .confirmationResponse(
                confirmationResponse?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .declinationConditional(
                declinationConditional?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .declinationNextStep(
                declinationNextStep?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .declinationResponse(
                declinationResponse?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .elicitationCodeHook(
                elicitationCodeHook?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .failureConditional(
                failureConditional?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .failureNextStep(failureNextStep?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .failureResponse(failureResponse?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .isActive(isActive?.applyValue({ args0 -> args0 }))
            .promptSpecification(
                promptSpecification.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [BotIntentConfirmationSettingArgs].
 */
@PulumiTagMarker
public class BotIntentConfirmationSettingArgsBuilder internal constructor() {
    private var codeHook: Output? = null

    private var confirmationConditional: Output? = null

    private var confirmationNextStep: Output? = null

    private var confirmationResponse: Output? = null

    private var declinationConditional: Output? = null

    private var declinationNextStep: Output? = null

    private var declinationResponse: Output? = null

    private var elicitationCodeHook: Output? = null

    private var failureConditional: Output? = null

    private var failureNextStep: Output? = null

    private var failureResponse: Output? = null

    private var isActive: Output? = null

    private var promptSpecification: Output? = null

    /**
     * @param value The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.
     */
    @JvmName("xathxorcyhvrafhk")
    public suspend fun codeHook(`value`: Output) {
        this.codeHook = value
    }

    /**
     * @param value A list of conditional branches to evaluate after the intent is closed.
     */
    @JvmName("hynahqwelbwflfum")
    public suspend fun confirmationConditional(`value`: Output) {
        this.confirmationConditional = value
    }

    /**
     * @param value Specifies the next step that the bot executes when the customer confirms the intent.
     */
    @JvmName("tnnnrqlxsjuxpfan")
    public suspend fun confirmationNextStep(`value`: Output) {
        this.confirmationNextStep = value
    }

    /**
     * @param value Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("cfckfsjnvxkuuadu")
    public suspend fun confirmationResponse(`value`: Output) {
        this.confirmationResponse = value
    }

    /**
     * @param value A list of conditional branches to evaluate after the intent is declined.
     */
    @JvmName("sdvmyoonmlcacckq")
    public suspend fun declinationConditional(`value`: Output) {
        this.declinationConditional = value
    }

    /**
     * @param value Specifies the next step that the bot executes when the customer declines the intent.
     */
    @JvmName("mrndqavsveupwsmp")
    public suspend fun declinationNextStep(`value`: Output) {
        this.declinationNextStep = value
    }

    /**
     * @param value When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.
     */
    @JvmName("ienwexfcufwgdlkx")
    public suspend fun declinationResponse(`value`: Output) {
        this.declinationResponse = value
    }

    /**
     * @param value The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.
     */
    @JvmName("xtakgngthohpyohe")
    public suspend fun elicitationCodeHook(`value`: Output) {
        this.elicitationCodeHook = value
    }

    /**
     * @param value Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.
     */
    @JvmName("ghvrwjxlpcpfnyxm")
    public suspend fun failureConditional(`value`: Output) {
        this.failureConditional = value
    }

    /**
     * @param value The next step to take in the conversation if the confirmation step fails.
     */
    @JvmName("vahnkrhlwnrpvhur")
    public suspend fun failureNextStep(`value`: Output) {
        this.failureNextStep = value
    }

    /**
     * @param value Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("cnigtbesdbhjxvgp")
    public suspend fun failureResponse(`value`: Output) {
        this.failureResponse = value
    }

    /**
     * @param value Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.
     */
    @JvmName("sncslnouewptppsi")
    public suspend fun isActive(`value`: Output) {
        this.isActive = value
    }

    /**
     * @param value Prompts the user to confirm the intent. This question should have a yes or no answer.
     */
    @JvmName("gkurfjobluasqccx")
    public suspend fun promptSpecification(`value`: Output) {
        this.promptSpecification = value
    }

    /**
     * @param value The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.
     */
    @JvmName("btqqhdvumveburjn")
    public suspend fun codeHook(`value`: BotDialogCodeHookInvocationSettingArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.codeHook = mapped
    }

    /**
     * @param argument The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.
     */
    @JvmName("yhdvxxlsikiyugnh")
    public suspend fun codeHook(argument: suspend BotDialogCodeHookInvocationSettingArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogCodeHookInvocationSettingArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.codeHook = mapped
    }

    /**
     * @param value A list of conditional branches to evaluate after the intent is closed.
     */
    @JvmName("tdhyefermqxscjnv")
    public suspend fun confirmationConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.confirmationConditional = mapped
    }

    /**
     * @param argument A list of conditional branches to evaluate after the intent is closed.
     */
    @JvmName("yyoyqlwlmhbahojv")
    public suspend fun confirmationConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.confirmationConditional = mapped
    }

    /**
     * @param value Specifies the next step that the bot executes when the customer confirms the intent.
     */
    @JvmName("tkhunlorhaijjjih")
    public suspend fun confirmationNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.confirmationNextStep = mapped
    }

    /**
     * @param argument Specifies the next step that the bot executes when the customer confirms the intent.
     */
    @JvmName("wlsptilendqnxgor")
    public suspend fun confirmationNextStep(argument: suspend BotDialogStateArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogStateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.confirmationNextStep = mapped
    }

    /**
     * @param value Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("xfoubgdkjilweone")
    public suspend fun confirmationResponse(`value`: BotResponseSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.confirmationResponse = mapped
    }

    /**
     * @param argument Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("qskeggybsncoclxw")
    public suspend fun confirmationResponse(argument: suspend BotResponseSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotResponseSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.confirmationResponse = mapped
    }

    /**
     * @param value A list of conditional branches to evaluate after the intent is declined.
     */
    @JvmName("ilfpemkknmafubxq")
    public suspend fun declinationConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.declinationConditional = mapped
    }

    /**
     * @param argument A list of conditional branches to evaluate after the intent is declined.
     */
    @JvmName("cgeuynlhfljqshkx")
    public suspend fun declinationConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.declinationConditional = mapped
    }

    /**
     * @param value Specifies the next step that the bot executes when the customer declines the intent.
     */
    @JvmName("cunqwxrrgnoxowqt")
    public suspend fun declinationNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.declinationNextStep = mapped
    }

    /**
     * @param argument Specifies the next step that the bot executes when the customer declines the intent.
     */
    @JvmName("epwweevhomaxwgwy")
    public suspend fun declinationNextStep(argument: suspend BotDialogStateArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogStateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.declinationNextStep = mapped
    }

    /**
     * @param value When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.
     */
    @JvmName("mbijydltqqgnhljk")
    public suspend fun declinationResponse(`value`: BotResponseSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.declinationResponse = mapped
    }

    /**
     * @param argument When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.
     */
    @JvmName("slaldlhpeqnfcdme")
    public suspend fun declinationResponse(argument: suspend BotResponseSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotResponseSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.declinationResponse = mapped
    }

    /**
     * @param value The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.
     */
    @JvmName("ufdynuygagijuuvm")
    public suspend fun elicitationCodeHook(`value`: BotElicitationCodeHookInvocationSettingArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.elicitationCodeHook = mapped
    }

    /**
     * @param argument The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.
     */
    @JvmName("dugaydtaugfcrsdu")
    public suspend fun elicitationCodeHook(argument: suspend BotElicitationCodeHookInvocationSettingArgsBuilder.() -> Unit) {
        val toBeMapped = BotElicitationCodeHookInvocationSettingArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.elicitationCodeHook = mapped
    }

    /**
     * @param value Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.
     */
    @JvmName("hcuqsneeyaxqosha")
    public suspend fun failureConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureConditional = mapped
    }

    /**
     * @param argument Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.
     */
    @JvmName("sfljosyhectqakgd")
    public suspend fun failureConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.failureConditional = mapped
    }

    /**
     * @param value The next step to take in the conversation if the confirmation step fails.
     */
    @JvmName("ofyeawsihakgpluw")
    public suspend fun failureNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureNextStep = mapped
    }

    /**
     * @param argument The next step to take in the conversation if the confirmation step fails.
     */
    @JvmName("vqcvhtbemfjruokk")
    public suspend fun failureNextStep(argument: suspend BotDialogStateArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogStateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.failureNextStep = mapped
    }

    /**
     * @param value Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("cudtyacsgqnrurgu")
    public suspend fun failureResponse(`value`: BotResponseSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureResponse = mapped
    }

    /**
     * @param argument Specifies a list of message groups that Amazon Lex uses to respond the user input.
     */
    @JvmName("ofjhwierhsjsmstt")
    public suspend fun failureResponse(argument: suspend BotResponseSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotResponseSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.failureResponse = mapped
    }

    /**
     * @param value Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.
     */
    @JvmName("yggqeyxaitudjjud")
    public suspend fun isActive(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isActive = mapped
    }

    /**
     * @param value Prompts the user to confirm the intent. This question should have a yes or no answer.
     */
    @JvmName("ealsnsxnxwnjwusr")
    public suspend fun promptSpecification(`value`: BotPromptSpecificationArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.promptSpecification = mapped
    }

    /**
     * @param argument Prompts the user to confirm the intent. This question should have a yes or no answer.
     */
    @JvmName("xmcsvwqomrtbmgxw")
    public suspend fun promptSpecification(argument: suspend BotPromptSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotPromptSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.promptSpecification = mapped
    }

    internal fun build(): BotIntentConfirmationSettingArgs = BotIntentConfirmationSettingArgs(
        codeHook = codeHook,
        confirmationConditional = confirmationConditional,
        confirmationNextStep = confirmationNextStep,
        confirmationResponse = confirmationResponse,
        declinationConditional = declinationConditional,
        declinationNextStep = declinationNextStep,
        declinationResponse = declinationResponse,
        elicitationCodeHook = elicitationCodeHook,
        failureConditional = failureConditional,
        failureNextStep = failureNextStep,
        failureResponse = failureResponse,
        isActive = isActive,
        promptSpecification = promptSpecification ?: throw PulumiNullFieldException("promptSpecification"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy