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

com.pulumi.awsnative.lex.kotlin.outputs.BotSlot.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.lex.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * A slot is a variable needed to fulfill an intent, where an intent can require zero or more slots.
 * @property description The description of the slot.
 * @property multipleValuesSetting Indicates whether a slot can return multiple values.
 * @property name The name given to the slot.
 * @property obfuscationSetting Determines whether the contents of the slot are obfuscated in Amazon CloudWatch Logs logs. Use obfuscated slots to protect information such as personally identifiable information (PII) in logs.
 * @property slotTypeName The name of the slot type that this slot is based on. The slot type defines the acceptable values for the slot.
 * @property valueElicitationSetting Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:
 * - ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to a slot value.
 * - TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.
 * If you don't specify the `valueSelectionStrategy` , the default is `ORIGINAL_VALUE` .
 */
public data class BotSlot(
    public val description: String? = null,
    public val multipleValuesSetting: BotMultipleValuesSetting? = null,
    public val name: String,
    public val obfuscationSetting: BotObfuscationSetting? = null,
    public val slotTypeName: String,
    public val valueElicitationSetting: BotSlotValueElicitationSetting,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.lex.outputs.BotSlot): BotSlot = BotSlot(
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            multipleValuesSetting = javaType.multipleValuesSetting().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lex.kotlin.outputs.BotMultipleValuesSetting.Companion.toKotlin(args0)
                })
            }).orElse(null),
            name = javaType.name(),
            obfuscationSetting = javaType.obfuscationSetting().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lex.kotlin.outputs.BotObfuscationSetting.Companion.toKotlin(args0)
                })
            }).orElse(null),
            slotTypeName = javaType.slotTypeName(),
            valueElicitationSetting = javaType.valueElicitationSetting().let({ args0 ->
                com.pulumi.awsnative.lex.kotlin.outputs.BotSlotValueElicitationSetting.Companion.toKotlin(args0)
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy