
com.pulumi.awsnative.lex.kotlin.inputs.BotDialogCodeHookInvocationSettingArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.lex.kotlin.inputs
import com.pulumi.awsnative.lex.inputs.BotDialogCodeHookInvocationSettingArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.
* @property enableCodeHookInvocation Indicates whether a Lambda function should be invoked for the dialog.
* @property invocationLabel A label that indicates the dialog step from which the dialog code hook is happening.
* @property isActive Determines whether a dialog code hook is used when the intent is activated.
* @property postCodeHookSpecification Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.
*/
public data class BotDialogCodeHookInvocationSettingArgs(
public val enableCodeHookInvocation: Output,
public val invocationLabel: Output? = null,
public val isActive: Output,
public val postCodeHookSpecification: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.lex.inputs.BotDialogCodeHookInvocationSettingArgs =
com.pulumi.awsnative.lex.inputs.BotDialogCodeHookInvocationSettingArgs.builder()
.enableCodeHookInvocation(enableCodeHookInvocation.applyValue({ args0 -> args0 }))
.invocationLabel(invocationLabel?.applyValue({ args0 -> args0 }))
.isActive(isActive.applyValue({ args0 -> args0 }))
.postCodeHookSpecification(
postCodeHookSpecification.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [BotDialogCodeHookInvocationSettingArgs].
*/
@PulumiTagMarker
public class BotDialogCodeHookInvocationSettingArgsBuilder internal constructor() {
private var enableCodeHookInvocation: Output? = null
private var invocationLabel: Output? = null
private var isActive: Output? = null
private var postCodeHookSpecification: Output? =
null
/**
* @param value Indicates whether a Lambda function should be invoked for the dialog.
*/
@JvmName("espkxawrjmnhyabf")
public suspend fun enableCodeHookInvocation(`value`: Output) {
this.enableCodeHookInvocation = value
}
/**
* @param value A label that indicates the dialog step from which the dialog code hook is happening.
*/
@JvmName("lsymhtrbtdxnigkc")
public suspend fun invocationLabel(`value`: Output) {
this.invocationLabel = value
}
/**
* @param value Determines whether a dialog code hook is used when the intent is activated.
*/
@JvmName("wafcclbjpstxujdn")
public suspend fun isActive(`value`: Output) {
this.isActive = value
}
/**
* @param value Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.
*/
@JvmName("jmskcqfbrimugtbp")
public suspend fun postCodeHookSpecification(`value`: Output) {
this.postCodeHookSpecification = value
}
/**
* @param value Indicates whether a Lambda function should be invoked for the dialog.
*/
@JvmName("adhgxwnvkptavkat")
public suspend fun enableCodeHookInvocation(`value`: Boolean) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.enableCodeHookInvocation = mapped
}
/**
* @param value A label that indicates the dialog step from which the dialog code hook is happening.
*/
@JvmName("uubrrnfnfheavvjy")
public suspend fun invocationLabel(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.invocationLabel = mapped
}
/**
* @param value Determines whether a dialog code hook is used when the intent is activated.
*/
@JvmName("ruklfgvhiyjofhrm")
public suspend fun isActive(`value`: Boolean) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.isActive = mapped
}
/**
* @param value Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.
*/
@JvmName("crynapawkwfkvjlj")
public suspend fun postCodeHookSpecification(`value`: BotPostDialogCodeHookInvocationSpecificationArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.postCodeHookSpecification = mapped
}
/**
* @param argument Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.
*/
@JvmName("rpktayyahqehmtpc")
public suspend fun postCodeHookSpecification(argument: suspend BotPostDialogCodeHookInvocationSpecificationArgsBuilder.() -> Unit) {
val toBeMapped = BotPostDialogCodeHookInvocationSpecificationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.postCodeHookSpecification = mapped
}
internal fun build(): BotDialogCodeHookInvocationSettingArgs =
BotDialogCodeHookInvocationSettingArgs(
enableCodeHookInvocation = enableCodeHookInvocation ?: throw
PulumiNullFieldException("enableCodeHookInvocation"),
invocationLabel = invocationLabel,
isActive = isActive ?: throw PulumiNullFieldException("isActive"),
postCodeHookSpecification = postCodeHookSpecification ?: throw
PulumiNullFieldException("postCodeHookSpecification"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy