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

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

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

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

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

/**
 * Provides a setting that determines whether the post-fulfillment response is sent to the user.
 * @property failureConditional A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
 * @property failureNextStep Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
 * @property failureResponse Specifies a list of message groups that Amazon Lex uses to respond the user input.
 * @property successConditional A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.
 * @property successNextStep Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.
 * @property successResponse Specifies a list of message groups that Amazon Lex uses to respond the user input.
 * @property timeoutConditional A list of conditional branches to evaluate if the fulfillment code hook times out.
 * @property timeoutNextStep Specifies the next step that the bot runs when the fulfillment code hook times out.
 * @property timeoutResponse Specifies a list of message groups that Amazon Lex uses to respond the user input.
 */
public data class BotPostFulfillmentStatusSpecificationArgs(
    public val failureConditional: Output? = null,
    public val failureNextStep: Output? = null,
    public val failureResponse: Output? = null,
    public val successConditional: Output? = null,
    public val successNextStep: Output? = null,
    public val successResponse: Output? = null,
    public val timeoutConditional: Output? = null,
    public val timeoutNextStep: Output? = null,
    public val timeoutResponse: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lex.inputs.BotPostFulfillmentStatusSpecificationArgs =
        com.pulumi.awsnative.lex.inputs.BotPostFulfillmentStatusSpecificationArgs.builder()
            .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() }) }))
            .successConditional(
                successConditional?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .successNextStep(successNextStep?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .successResponse(successResponse?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .timeoutConditional(
                timeoutConditional?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .timeoutNextStep(timeoutNextStep?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .timeoutResponse(
                timeoutResponse?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [BotPostFulfillmentStatusSpecificationArgs].
 */
@PulumiTagMarker
public class BotPostFulfillmentStatusSpecificationArgsBuilder internal constructor() {
    private var failureConditional: Output? = null

    private var failureNextStep: Output? = null

    private var failureResponse: Output? = null

    private var successConditional: Output? = null

    private var successNextStep: Output? = null

    private var successResponse: Output? = null

    private var timeoutConditional: Output? = null

    private var timeoutNextStep: Output? = null

    private var timeoutResponse: Output? = null

    /**
     * @param value A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("jrcbfkrjdeuqemea")
    public suspend fun failureConditional(`value`: Output) {
        this.failureConditional = value
    }

    /**
     * @param value Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("gnluadyawliumffm")
    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("qrxvnenygggqlxqh")
    public suspend fun failureResponse(`value`: Output) {
        this.failureResponse = value
    }

    /**
     * @param value A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.
     */
    @JvmName("dttmwnwljnfiopak")
    public suspend fun successConditional(`value`: Output) {
        this.successConditional = value
    }

    /**
     * @param value Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.
     */
    @JvmName("ljdegfksovklfhoq")
    public suspend fun successNextStep(`value`: Output) {
        this.successNextStep = value
    }

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

    /**
     * @param value A list of conditional branches to evaluate if the fulfillment code hook times out.
     */
    @JvmName("ytmdivcxdbkjqedi")
    public suspend fun timeoutConditional(`value`: Output) {
        this.timeoutConditional = value
    }

    /**
     * @param value Specifies the next step that the bot runs when the fulfillment code hook times out.
     */
    @JvmName("jmljemafwlgtdrcf")
    public suspend fun timeoutNextStep(`value`: Output) {
        this.timeoutNextStep = value
    }

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

    /**
     * @param value A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("sgpokefjmvpinqoq")
    public suspend fun failureConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureConditional = mapped
    }

    /**
     * @param argument A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("pwhciloufunvgkrp")
    public suspend fun failureConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.failureConditional = mapped
    }

    /**
     * @param value Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("jiswqojhbauspmim")
    public suspend fun failureNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureNextStep = mapped
    }

    /**
     * @param argument Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.
     */
    @JvmName("bveuvqgvposgiyxe")
    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("ykhagkkyqdnvsmob")
    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("cprjkndkivostkfq")
    public suspend fun failureResponse(argument: suspend BotResponseSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotResponseSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.failureResponse = mapped
    }

    /**
     * @param value A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.
     */
    @JvmName("rgpugkajmhpbmybk")
    public suspend fun successConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.successConditional = mapped
    }

    /**
     * @param argument A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.
     */
    @JvmName("gdgiwunwbaubhfdo")
    public suspend fun successConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.successConditional = mapped
    }

    /**
     * @param value Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.
     */
    @JvmName("cdoopdvaqdrvlxkt")
    public suspend fun successNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.successNextStep = mapped
    }

    /**
     * @param argument Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.
     */
    @JvmName("krfywsulbkrwovwj")
    public suspend fun successNextStep(argument: suspend BotDialogStateArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogStateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.successNextStep = mapped
    }

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

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

    /**
     * @param value A list of conditional branches to evaluate if the fulfillment code hook times out.
     */
    @JvmName("kqexibqcalqqkglh")
    public suspend fun timeoutConditional(`value`: BotConditionalSpecificationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutConditional = mapped
    }

    /**
     * @param argument A list of conditional branches to evaluate if the fulfillment code hook times out.
     */
    @JvmName("wgvuffbucvdyefti")
    public suspend fun timeoutConditional(argument: suspend BotConditionalSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = BotConditionalSpecificationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.timeoutConditional = mapped
    }

    /**
     * @param value Specifies the next step that the bot runs when the fulfillment code hook times out.
     */
    @JvmName("aswtwwlbbinxwvrh")
    public suspend fun timeoutNextStep(`value`: BotDialogStateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutNextStep = mapped
    }

    /**
     * @param argument Specifies the next step that the bot runs when the fulfillment code hook times out.
     */
    @JvmName("ipekxtyfwtchvqbp")
    public suspend fun timeoutNextStep(argument: suspend BotDialogStateArgsBuilder.() -> Unit) {
        val toBeMapped = BotDialogStateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.timeoutNextStep = mapped
    }

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

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

    internal fun build(): BotPostFulfillmentStatusSpecificationArgs =
        BotPostFulfillmentStatusSpecificationArgs(
            failureConditional = failureConditional,
            failureNextStep = failureNextStep,
            failureResponse = failureResponse,
            successConditional = successConditional,
            successNextStep = successNextStep,
            successResponse = successResponse,
            timeoutConditional = timeoutConditional,
            timeoutNextStep = timeoutNextStep,
            timeoutResponse = timeoutResponse,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy