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

commonMain.aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse.kt Maven / Gradle / Ivy

The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.lexmodelbuildingservice.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

public class GetBotResponse private constructor(builder: Builder) {
    /**
     * The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see PutBot.
     */
    public val abortStatement: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement? = builder.abortStatement
    /**
     * Checksum of the bot used to identify a specific revision of the bot's `$LATEST` version.
     */
    public val checksum: kotlin.String? = builder.checksum
    /**
     * For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying `true` or `false` in the `childDirected` field. By specifying `true` in the `childDirected` field, you confirm that your use of Amazon Lex **is** related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying `false` in the `childDirected` field, you confirm that your use of Amazon Lex **is not** related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the `childDirected` field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.
     *
     * If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the [Amazon Lex FAQ.](https://aws.amazon.com/lex/faqs#data-security)
     */
    public val childDirected: kotlin.Boolean? = builder.childDirected
    /**
     * The message Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.
     */
    public val clarificationPrompt: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Prompt? = builder.clarificationPrompt
    /**
     * The date that the bot was created.
     */
    public val createdDate: aws.smithy.kotlin.runtime.time.Instant? = builder.createdDate
    /**
     * A description of the bot.
     */
    public val description: kotlin.String? = builder.description
    /**
     * Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.
     */
    public val detectSentiment: kotlin.Boolean? = builder.detectSentiment
    /**
     * Indicates whether the bot uses accuracy improvements. `true` indicates that the bot is using the improvements, otherwise, `false`.
     */
    public val enableModelImprovements: kotlin.Boolean? = builder.enableModelImprovements
    /**
     * If `status` is `FAILED`, Amazon Lex explains why it failed to build the bot.
     */
    public val failureReason: kotlin.String? = builder.failureReason
    /**
     * The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.
     */
    public val idleSessionTtlInSeconds: kotlin.Int? = builder.idleSessionTtlInSeconds
    /**
     * An array of `intent` objects. For more information, see PutBot.
     */
    public val intents: List? = builder.intents
    /**
     * The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.
     */
    public val lastUpdatedDate: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdatedDate
    /**
     * The target locale for the bot.
     */
    public val locale: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Locale? = builder.locale
    /**
     * The name of the bot.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The score that determines where Amazon Lex inserts the `AMAZON.FallbackIntent`, `AMAZON.KendraSearchIntent`, or both when returning alternative intents in a [PostContent](https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html) or [PostText](https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) response. `AMAZON.FallbackIntent` is inserted if the confidence score for all intents is below this value. `AMAZON.KendraSearchIntent` is only inserted if it is configured for the bot.
     */
    public val nluIntentConfidenceThreshold: kotlin.Double? = builder.nluIntentConfidenceThreshold
    /**
     * The status of the bot.
     *
     * When the status is `BUILDING` Amazon Lex is building the bot for testing and use.
     *
     * If the status of the bot is `READY_BASIC_TESTING`, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is `READY`.
     *
     * If there was a problem with building the bot, the status is `FAILED` and the `failureReason` field explains why the bot did not build.
     *
     * If the bot was saved but not built, the status is `NOT_BUILT`.
     */
    public val status: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Status? = builder.status
    /**
     * The version of the bot. For a new bot, the version is always `$LATEST`.
     */
    public val version: kotlin.String? = builder.version
    /**
     * The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.
     */
    public val voiceId: kotlin.String? = builder.voiceId

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("GetBotResponse(")
        append("abortStatement=$abortStatement,")
        append("checksum=$checksum,")
        append("childDirected=$childDirected,")
        append("clarificationPrompt=$clarificationPrompt,")
        append("createdDate=$createdDate,")
        append("description=$description,")
        append("detectSentiment=$detectSentiment,")
        append("enableModelImprovements=$enableModelImprovements,")
        append("failureReason=$failureReason,")
        append("idleSessionTtlInSeconds=$idleSessionTtlInSeconds,")
        append("intents=$intents,")
        append("lastUpdatedDate=$lastUpdatedDate,")
        append("locale=$locale,")
        append("name=$name,")
        append("nluIntentConfidenceThreshold=$nluIntentConfidenceThreshold,")
        append("status=$status,")
        append("version=$version,")
        append("voiceId=$voiceId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = abortStatement?.hashCode() ?: 0
        result = 31 * result + (checksum?.hashCode() ?: 0)
        result = 31 * result + (childDirected?.hashCode() ?: 0)
        result = 31 * result + (clarificationPrompt?.hashCode() ?: 0)
        result = 31 * result + (createdDate?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (detectSentiment?.hashCode() ?: 0)
        result = 31 * result + (enableModelImprovements?.hashCode() ?: 0)
        result = 31 * result + (failureReason?.hashCode() ?: 0)
        result = 31 * result + (idleSessionTtlInSeconds ?: 0)
        result = 31 * result + (intents?.hashCode() ?: 0)
        result = 31 * result + (lastUpdatedDate?.hashCode() ?: 0)
        result = 31 * result + (locale?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (nluIntentConfidenceThreshold?.hashCode() ?: 0)
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (version?.hashCode() ?: 0)
        result = 31 * result + (voiceId?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as GetBotResponse

        if (abortStatement != other.abortStatement) return false
        if (checksum != other.checksum) return false
        if (childDirected != other.childDirected) return false
        if (clarificationPrompt != other.clarificationPrompt) return false
        if (createdDate != other.createdDate) return false
        if (description != other.description) return false
        if (detectSentiment != other.detectSentiment) return false
        if (enableModelImprovements != other.enableModelImprovements) return false
        if (failureReason != other.failureReason) return false
        if (idleSessionTtlInSeconds != other.idleSessionTtlInSeconds) return false
        if (intents != other.intents) return false
        if (lastUpdatedDate != other.lastUpdatedDate) return false
        if (locale != other.locale) return false
        if (name != other.name) return false
        if (!(nluIntentConfidenceThreshold?.equals(other.nluIntentConfidenceThreshold) ?: (other.nluIntentConfidenceThreshold == null))) return false
        if (status != other.status) return false
        if (version != other.version) return false
        if (voiceId != other.voiceId) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see PutBot.
         */
        public var abortStatement: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement? = null
        /**
         * Checksum of the bot used to identify a specific revision of the bot's `$LATEST` version.
         */
        public var checksum: kotlin.String? = null
        /**
         * For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying `true` or `false` in the `childDirected` field. By specifying `true` in the `childDirected` field, you confirm that your use of Amazon Lex **is** related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying `false` in the `childDirected` field, you confirm that your use of Amazon Lex **is not** related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the `childDirected` field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.
         *
         * If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the [Amazon Lex FAQ.](https://aws.amazon.com/lex/faqs#data-security)
         */
        public var childDirected: kotlin.Boolean? = null
        /**
         * The message Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.
         */
        public var clarificationPrompt: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Prompt? = null
        /**
         * The date that the bot was created.
         */
        public var createdDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * A description of the bot.
         */
        public var description: kotlin.String? = null
        /**
         * Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.
         */
        public var detectSentiment: kotlin.Boolean? = null
        /**
         * Indicates whether the bot uses accuracy improvements. `true` indicates that the bot is using the improvements, otherwise, `false`.
         */
        public var enableModelImprovements: kotlin.Boolean? = null
        /**
         * If `status` is `FAILED`, Amazon Lex explains why it failed to build the bot.
         */
        public var failureReason: kotlin.String? = null
        /**
         * The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.
         */
        public var idleSessionTtlInSeconds: kotlin.Int? = null
        /**
         * An array of `intent` objects. For more information, see PutBot.
         */
        public var intents: List? = null
        /**
         * The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.
         */
        public var lastUpdatedDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The target locale for the bot.
         */
        public var locale: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Locale? = null
        /**
         * The name of the bot.
         */
        public var name: kotlin.String? = null
        /**
         * The score that determines where Amazon Lex inserts the `AMAZON.FallbackIntent`, `AMAZON.KendraSearchIntent`, or both when returning alternative intents in a [PostContent](https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html) or [PostText](https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) response. `AMAZON.FallbackIntent` is inserted if the confidence score for all intents is below this value. `AMAZON.KendraSearchIntent` is only inserted if it is configured for the bot.
         */
        public var nluIntentConfidenceThreshold: kotlin.Double? = null
        /**
         * The status of the bot.
         *
         * When the status is `BUILDING` Amazon Lex is building the bot for testing and use.
         *
         * If the status of the bot is `READY_BASIC_TESTING`, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is `READY`.
         *
         * If there was a problem with building the bot, the status is `FAILED` and the `failureReason` field explains why the bot did not build.
         *
         * If the bot was saved but not built, the status is `NOT_BUILT`.
         */
        public var status: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Status? = null
        /**
         * The version of the bot. For a new bot, the version is always `$LATEST`.
         */
        public var version: kotlin.String? = null
        /**
         * The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.
         */
        public var voiceId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse) : this() {
            this.abortStatement = x.abortStatement
            this.checksum = x.checksum
            this.childDirected = x.childDirected
            this.clarificationPrompt = x.clarificationPrompt
            this.createdDate = x.createdDate
            this.description = x.description
            this.detectSentiment = x.detectSentiment
            this.enableModelImprovements = x.enableModelImprovements
            this.failureReason = x.failureReason
            this.idleSessionTtlInSeconds = x.idleSessionTtlInSeconds
            this.intents = x.intents
            this.lastUpdatedDate = x.lastUpdatedDate
            this.locale = x.locale
            this.name = x.name
            this.nluIntentConfidenceThreshold = x.nluIntentConfidenceThreshold
            this.status = x.status
            this.version = x.version
            this.voiceId = x.voiceId
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse = GetBotResponse(this)

        /**
         * construct an [aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement] inside the given [block]
         */
        public fun abortStatement(block: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement.Builder.() -> kotlin.Unit) {
            this.abortStatement = aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.lexmodelbuildingservice.model.Prompt] inside the given [block]
         */
        public fun clarificationPrompt(block: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Prompt.Builder.() -> kotlin.Unit) {
            this.clarificationPrompt = aws.sdk.kotlin.services.lexmodelbuildingservice.model.Prompt.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy