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

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

// 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 CreateBotVersionResponse private constructor(builder: Builder) {
    /**
     * The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.
     */
    public val abortStatement: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement? = builder.abortStatement
    /**
     * Checksum identifying the version of the bot that was created.
     */
    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 that 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 when the bot version 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 utterances entered by the user 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 provides the reason that 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 when the `$LATEST` version of this bot was updated.
     */
    public val lastUpdatedDate: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdatedDate
    /**
     * Specifies 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
    /**
     * When you send a request to create or update a bot, Amazon Lex sets the `status` response element to `BUILDING`. After Amazon Lex builds the bot, it sets `status` to `READY`. If Amazon Lex can't build the bot, it sets `status` to `FAILED`. Amazon Lex returns the reason for the failure in the `failureReason` response element.
     */
    public val status: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Status? = builder.status
    /**
     * The version of the bot.
     */
    public val version: kotlin.String? = builder.version
    /**
     * The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the user.
     */
    public val voiceId: kotlin.String? = builder.voiceId

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

    override fun toString(): kotlin.String = buildString {
        append("CreateBotVersionResponse(")
        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("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 + (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 CreateBotVersionResponse

        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 (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.CreateBotVersionResponse = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * The message that Amazon Lex uses to cancel a conversation. For more information, see PutBot.
         */
        public var abortStatement: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Statement? = null
        /**
         * Checksum identifying the version of the bot that was created.
         */
        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 that 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 when the bot version 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 utterances entered by the user 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 provides the reason that 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 when the `$LATEST` version of this bot was updated.
         */
        public var lastUpdatedDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Specifies 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
        /**
         * When you send a request to create or update a bot, Amazon Lex sets the `status` response element to `BUILDING`. After Amazon Lex builds the bot, it sets `status` to `READY`. If Amazon Lex can't build the bot, it sets `status` to `FAILED`. Amazon Lex returns the reason for the failure in the `failureReason` response element.
         */
        public var status: aws.sdk.kotlin.services.lexmodelbuildingservice.model.Status? = null
        /**
         * The version of the bot.
         */
        public var version: kotlin.String? = null
        /**
         * The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the user.
         */
        public var voiceId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateBotVersionResponse) : 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.status = x.status
            this.version = x.version
            this.voiceId = x.voiceId
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateBotVersionResponse = CreateBotVersionResponse(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