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

aws.sdk.kotlin.services.lexmodelsv2.model.UpdateBotRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.lexmodelsv2.model



class UpdateBotRequest private constructor(builder: Builder) {
    /**
     * The unique identifier of the bot to update. This identifier is
     * returned by the CreateBot operation.
     */
    val botId: kotlin.String? = builder.botId
    /**
     * The new name of the bot. The name must be unique in the account that
     * creates the bot.
     */
    val botName: kotlin.String? = builder.botName
    /**
     * Provides information on additional privacy protections Amazon Lex should
     * use with the bot's data.
     */
    val dataPrivacy: aws.sdk.kotlin.services.lexmodelsv2.model.DataPrivacy? = builder.dataPrivacy
    /**
     * A description of the bot.
     */
    val description: kotlin.String? = builder.description
    /**
     * The time, in seconds, that Amazon Lex should keep information about a
     * user's conversation with the bot.
     * A user interaction remains active for the amount of time specified.
     * If no conversation occurs during this time, the session expires and
     * Amazon Lex deletes any data provided before the timeout.
     * You can specify between 60 (1 minute) and 86,400 (24 hours)
     * seconds.
     */
    val idleSessionTtlInSeconds: kotlin.Int? = builder.idleSessionTtlInSeconds
    /**
     * The Amazon Resource Name (ARN) of an IAM role that has permissions
     * to access the bot.
     */
    val roleArn: kotlin.String? = builder.roleArn

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateBotRequest(")
        append("botId=$botId,")
        append("botName=$botName,")
        append("dataPrivacy=$dataPrivacy,")
        append("description=$description,")
        append("idleSessionTtlInSeconds=$idleSessionTtlInSeconds,")
        append("roleArn=$roleArn)")
    }

    override fun hashCode(): kotlin.Int {
        var result = botId?.hashCode() ?: 0
        result = 31 * result + (botName?.hashCode() ?: 0)
        result = 31 * result + (dataPrivacy?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (idleSessionTtlInSeconds ?: 0)
        result = 31 * result + (roleArn?.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 UpdateBotRequest

        if (botId != other.botId) return false
        if (botName != other.botName) return false
        if (dataPrivacy != other.dataPrivacy) return false
        if (description != other.description) return false
        if (idleSessionTtlInSeconds != other.idleSessionTtlInSeconds) return false
        if (roleArn != other.roleArn) return false

        return true
    }

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

    class Builder {
        /**
         * The unique identifier of the bot to update. This identifier is
         * returned by the CreateBot operation.
         */
        var botId: kotlin.String? = null
        /**
         * The new name of the bot. The name must be unique in the account that
         * creates the bot.
         */
        var botName: kotlin.String? = null
        /**
         * Provides information on additional privacy protections Amazon Lex should
         * use with the bot's data.
         */
        var dataPrivacy: aws.sdk.kotlin.services.lexmodelsv2.model.DataPrivacy? = null
        /**
         * A description of the bot.
         */
        var description: kotlin.String? = null
        /**
         * The time, in seconds, that Amazon Lex should keep information about a
         * user's conversation with the bot.
         * A user interaction remains active for the amount of time specified.
         * If no conversation occurs during this time, the session expires and
         * Amazon Lex deletes any data provided before the timeout.
         * You can specify between 60 (1 minute) and 86,400 (24 hours)
         * seconds.
         */
        var idleSessionTtlInSeconds: kotlin.Int? = null
        /**
         * The Amazon Resource Name (ARN) of an IAM role that has permissions
         * to access the bot.
         */
        var roleArn: kotlin.String? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.lexmodelsv2.model.UpdateBotRequest) : this() {
            this.botId = x.botId
            this.botName = x.botName
            this.dataPrivacy = x.dataPrivacy
            this.description = x.description
            this.idleSessionTtlInSeconds = x.idleSessionTtlInSeconds
            this.roleArn = x.roleArn
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy