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

com.pulumi.aws.lex.kotlin.inputs.V2modelsSlotValueElicitationSettingArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.lex.kotlin.inputs

import com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property defaultValueSpecifications List of default values for a slot.
 * See the `default_value_specification` argument reference below.
 * @property promptSpecification Prompt that Amazon Lex uses to elicit the slot value from the user.
 * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
 * @property sampleUtterances
 * @property slotConstraint Whether the slot is required or optional. Valid values are `Required` or `Optional`.
 * @property slotResolutionSettings Information about whether assisted slot resolution is turned on for the slot or not.
 * See the `slot_resolution_setting` argument reference below.
 * @property waitAndContinueSpecifications Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
 * See the `wait_and_continue_specification` argument reference below.
 */
public data class V2modelsSlotValueElicitationSettingArgs(
    public val defaultValueSpecifications: Output>? = null,
    public val promptSpecification: Output,
    public val sampleUtterances: Output>? =
        null,
    public val slotConstraint: Output,
    public val slotResolutionSettings: Output>? = null,
    public val waitAndContinueSpecifications: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingArgs =
        com.pulumi.aws.lex.inputs.V2modelsSlotValueElicitationSettingArgs.builder()
            .defaultValueSpecifications(
                defaultValueSpecifications?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .promptSpecification(
                promptSpecification.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .sampleUtterances(
                sampleUtterances?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .slotConstraint(slotConstraint.applyValue({ args0 -> args0 }))
            .slotResolutionSettings(
                slotResolutionSettings?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .waitAndContinueSpecifications(
                waitAndContinueSpecifications?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            ).build()
}

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

    private var promptSpecification:
        Output? = null

    private var sampleUtterances:
        Output>? = null

    private var slotConstraint: Output? = null

    private var slotResolutionSettings:
        Output>? = null

    private var waitAndContinueSpecifications:
        Output>? = null

    /**
     * @param value List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("bhfujpetyiijvldf")
    public suspend fun defaultValueSpecifications(`value`: Output>) {
        this.defaultValueSpecifications = value
    }

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

    /**
     * @param values List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("lfsuwtlhuetxfjai")
    public suspend fun defaultValueSpecifications(values: List>) {
        this.defaultValueSpecifications = Output.all(values)
    }

    /**
     * @param value Prompt that Amazon Lex uses to elicit the slot value from the user.
     * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
     */
    @JvmName("ereytungubmylwai")
    public suspend fun promptSpecification(`value`: Output) {
        this.promptSpecification = value
    }

    /**
     * @param value
     */
    @JvmName("yjlgqgobxhdogiox")
    public suspend fun sampleUtterances(`value`: Output>) {
        this.sampleUtterances = value
    }

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

    /**
     * @param values
     */
    @JvmName("uiqnsvouvpqkbiuj")
    public suspend fun sampleUtterances(values: List>) {
        this.sampleUtterances = Output.all(values)
    }

    /**
     * @param value Whether the slot is required or optional. Valid values are `Required` or `Optional`.
     */
    @JvmName("etihjwxfvqftmpvm")
    public suspend fun slotConstraint(`value`: Output) {
        this.slotConstraint = value
    }

    /**
     * @param value Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("paffsupftmprugkj")
    public suspend fun slotResolutionSettings(`value`: Output>) {
        this.slotResolutionSettings = value
    }

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

    /**
     * @param values Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("kwecoeyneegfpenh")
    public suspend fun slotResolutionSettings(values: List>) {
        this.slotResolutionSettings = Output.all(values)
    }

    /**
     * @param value Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("ycecvbappsfjuemc")
    public suspend fun waitAndContinueSpecifications(`value`: Output>) {
        this.waitAndContinueSpecifications = value
    }

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

    /**
     * @param values Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("ojwlmnjcxqcwylrh")
    public suspend fun waitAndContinueSpecifications(values: List>) {
        this.waitAndContinueSpecifications = Output.all(values)
    }

    /**
     * @param value List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("khpcwnubxmtsbofo")
    public suspend fun defaultValueSpecifications(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultValueSpecifications = mapped
    }

    /**
     * @param argument List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("bmrfvwprcowijsde")
    public suspend fun defaultValueSpecifications(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.defaultValueSpecifications = mapped
    }

    /**
     * @param argument List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("sixvtogjwtbhibaq")
    public suspend fun defaultValueSpecifications(vararg argument: suspend V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.defaultValueSpecifications = mapped
    }

    /**
     * @param argument List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("hkdltifwgekasxdw")
    public suspend fun defaultValueSpecifications(argument: suspend V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.defaultValueSpecifications = mapped
    }

    /**
     * @param values List of default values for a slot.
     * See the `default_value_specification` argument reference below.
     */
    @JvmName("rffrfdmvdnmajfle")
    public suspend fun defaultValueSpecifications(vararg values: V2modelsSlotValueElicitationSettingDefaultValueSpecificationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.defaultValueSpecifications = mapped
    }

    /**
     * @param value Prompt that Amazon Lex uses to elicit the slot value from the user.
     * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
     */
    @JvmName("kusenhbohsrppeex")
    public suspend fun promptSpecification(`value`: V2modelsSlotValueElicitationSettingPromptSpecificationArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.promptSpecification = mapped
    }

    /**
     * @param argument Prompt that Amazon Lex uses to elicit the slot value from the user.
     * See the `aws.lex.V2modelsIntent` resource for details on the `prompt_specification` argument reference - they are identical.
     */
    @JvmName("eyexbbacqqybxxts")
    public suspend fun promptSpecification(argument: suspend V2modelsSlotValueElicitationSettingPromptSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped =
            V2modelsSlotValueElicitationSettingPromptSpecificationArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.promptSpecification = mapped
    }

    /**
     * @param value
     */
    @JvmName("luiqddirxdkhaxex")
    public suspend fun sampleUtterances(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sampleUtterances = mapped
    }

    /**
     * @param argument
     */
    @JvmName("ccngsfqwmcikvoev")
    public suspend fun sampleUtterances(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingSampleUtteranceArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.sampleUtterances = mapped
    }

    /**
     * @param argument
     */
    @JvmName("avoruvfoplaxhuyq")
    public suspend fun sampleUtterances(vararg argument: suspend V2modelsSlotValueElicitationSettingSampleUtteranceArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingSampleUtteranceArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.sampleUtterances = mapped
    }

    /**
     * @param argument
     */
    @JvmName("jahjmibigwnxsews")
    public suspend fun sampleUtterances(argument: suspend V2modelsSlotValueElicitationSettingSampleUtteranceArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                V2modelsSlotValueElicitationSettingSampleUtteranceArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.sampleUtterances = mapped
    }

    /**
     * @param values
     */
    @JvmName("dxdsrrqfwvurfpnr")
    public suspend fun sampleUtterances(vararg values: V2modelsSlotValueElicitationSettingSampleUtteranceArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sampleUtterances = mapped
    }

    /**
     * @param value Whether the slot is required or optional. Valid values are `Required` or `Optional`.
     */
    @JvmName("aftqcctifrfdgjnr")
    public suspend fun slotConstraint(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.slotConstraint = mapped
    }

    /**
     * @param value Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("roqgquhqshjaipfu")
    public suspend fun slotResolutionSettings(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.slotResolutionSettings = mapped
    }

    /**
     * @param argument Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("dvljpokgjqrxdbug")
    public suspend fun slotResolutionSettings(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingSlotResolutionSettingArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.slotResolutionSettings = mapped
    }

    /**
     * @param argument Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("eageweuufuqwiqwq")
    public suspend fun slotResolutionSettings(vararg argument: suspend V2modelsSlotValueElicitationSettingSlotResolutionSettingArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingSlotResolutionSettingArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.slotResolutionSettings = mapped
    }

    /**
     * @param argument Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("jmdcuhdpsbevhkke")
    public suspend fun slotResolutionSettings(argument: suspend V2modelsSlotValueElicitationSettingSlotResolutionSettingArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                V2modelsSlotValueElicitationSettingSlotResolutionSettingArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.slotResolutionSettings = mapped
    }

    /**
     * @param values Information about whether assisted slot resolution is turned on for the slot or not.
     * See the `slot_resolution_setting` argument reference below.
     */
    @JvmName("heerdsmhykqosklf")
    public suspend fun slotResolutionSettings(vararg values: V2modelsSlotValueElicitationSettingSlotResolutionSettingArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.slotResolutionSettings = mapped
    }

    /**
     * @param value Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("wfhkbudxohyacart")
    public suspend fun waitAndContinueSpecifications(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.waitAndContinueSpecifications = mapped
    }

    /**
     * @param argument Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("ljqcqxjsgmmtcnab")
    public suspend fun waitAndContinueSpecifications(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.waitAndContinueSpecifications = mapped
    }

    /**
     * @param argument Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("vqpbibpnwgsteydd")
    public suspend fun waitAndContinueSpecifications(vararg argument: suspend V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.waitAndContinueSpecifications = mapped
    }

    /**
     * @param argument Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("lnkhftparqxqmrbm")
    public suspend fun waitAndContinueSpecifications(argument: suspend V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.waitAndContinueSpecifications = mapped
    }

    /**
     * @param values Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
     * See the `wait_and_continue_specification` argument reference below.
     */
    @JvmName("cxujldxwuqcgyvqq")
    public suspend fun waitAndContinueSpecifications(vararg values: V2modelsSlotValueElicitationSettingWaitAndContinueSpecificationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.waitAndContinueSpecifications = mapped
    }

    internal fun build(): V2modelsSlotValueElicitationSettingArgs =
        V2modelsSlotValueElicitationSettingArgs(
            defaultValueSpecifications = defaultValueSpecifications,
            promptSpecification = promptSpecification ?: throw PulumiNullFieldException("promptSpecification"),
            sampleUtterances = sampleUtterances,
            slotConstraint = slotConstraint ?: throw PulumiNullFieldException("slotConstraint"),
            slotResolutionSettings = slotResolutionSettings,
            waitAndContinueSpecifications = waitAndContinueSpecifications,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy