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

commonMain.aws.sdk.kotlin.services.qbusiness.model.UpdateChatControlsConfigurationRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.qbusiness.model



public class UpdateChatControlsConfigurationRequest private constructor(builder: Builder) {
    /**
     * The identifier of the application for which the chat controls are configured.
     */
    public val applicationId: kotlin.String? = builder.applicationId
    /**
     * The phrases blocked from chat by your chat control configuration.
     */
    public val blockedPhrasesConfigurationUpdate: aws.sdk.kotlin.services.qbusiness.model.BlockedPhrasesConfigurationUpdate? = builder.blockedPhrasesConfigurationUpdate
    /**
     * A token that you provide to identify the request to update a Amazon Q Business application chat configuration.
     */
    public val clientToken: kotlin.String? = builder.clientToken
    /**
     * The configuration details for `CREATOR_MODE`.
     */
    public val creatorModeConfiguration: aws.sdk.kotlin.services.qbusiness.model.CreatorModeConfiguration? = builder.creatorModeConfiguration
    /**
     * The response scope configured for your application. This determines whether your application uses its retrieval augmented generation (RAG) system to generate answers only from your enterprise data, or also uses the large language models (LLM) knowledge to respons to end user questions in chat.
     */
    public val responseScope: aws.sdk.kotlin.services.qbusiness.model.ResponseScope? = builder.responseScope
    /**
     * The configured topic specific chat controls you want to update.
     */
    public val topicConfigurationsToCreateOrUpdate: List? = builder.topicConfigurationsToCreateOrUpdate
    /**
     * The configured topic specific chat controls you want to delete.
     */
    public val topicConfigurationsToDelete: List? = builder.topicConfigurationsToDelete

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateChatControlsConfigurationRequest(")
        append("applicationId=$applicationId,")
        append("blockedPhrasesConfigurationUpdate=$blockedPhrasesConfigurationUpdate,")
        append("clientToken=$clientToken,")
        append("creatorModeConfiguration=$creatorModeConfiguration,")
        append("responseScope=$responseScope,")
        append("topicConfigurationsToCreateOrUpdate=$topicConfigurationsToCreateOrUpdate,")
        append("topicConfigurationsToDelete=$topicConfigurationsToDelete")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = applicationId?.hashCode() ?: 0
        result = 31 * result + (blockedPhrasesConfigurationUpdate?.hashCode() ?: 0)
        result = 31 * result + (clientToken?.hashCode() ?: 0)
        result = 31 * result + (creatorModeConfiguration?.hashCode() ?: 0)
        result = 31 * result + (responseScope?.hashCode() ?: 0)
        result = 31 * result + (topicConfigurationsToCreateOrUpdate?.hashCode() ?: 0)
        result = 31 * result + (topicConfigurationsToDelete?.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 UpdateChatControlsConfigurationRequest

        if (applicationId != other.applicationId) return false
        if (blockedPhrasesConfigurationUpdate != other.blockedPhrasesConfigurationUpdate) return false
        if (clientToken != other.clientToken) return false
        if (creatorModeConfiguration != other.creatorModeConfiguration) return false
        if (responseScope != other.responseScope) return false
        if (topicConfigurationsToCreateOrUpdate != other.topicConfigurationsToCreateOrUpdate) return false
        if (topicConfigurationsToDelete != other.topicConfigurationsToDelete) return false

        return true
    }

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

    public class Builder {
        /**
         * The identifier of the application for which the chat controls are configured.
         */
        public var applicationId: kotlin.String? = null
        /**
         * The phrases blocked from chat by your chat control configuration.
         */
        public var blockedPhrasesConfigurationUpdate: aws.sdk.kotlin.services.qbusiness.model.BlockedPhrasesConfigurationUpdate? = null
        /**
         * A token that you provide to identify the request to update a Amazon Q Business application chat configuration.
         */
        public var clientToken: kotlin.String? = null
        /**
         * The configuration details for `CREATOR_MODE`.
         */
        public var creatorModeConfiguration: aws.sdk.kotlin.services.qbusiness.model.CreatorModeConfiguration? = null
        /**
         * The response scope configured for your application. This determines whether your application uses its retrieval augmented generation (RAG) system to generate answers only from your enterprise data, or also uses the large language models (LLM) knowledge to respons to end user questions in chat.
         */
        public var responseScope: aws.sdk.kotlin.services.qbusiness.model.ResponseScope? = null
        /**
         * The configured topic specific chat controls you want to update.
         */
        public var topicConfigurationsToCreateOrUpdate: List? = null
        /**
         * The configured topic specific chat controls you want to delete.
         */
        public var topicConfigurationsToDelete: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.qbusiness.model.UpdateChatControlsConfigurationRequest) : this() {
            this.applicationId = x.applicationId
            this.blockedPhrasesConfigurationUpdate = x.blockedPhrasesConfigurationUpdate
            this.clientToken = x.clientToken
            this.creatorModeConfiguration = x.creatorModeConfiguration
            this.responseScope = x.responseScope
            this.topicConfigurationsToCreateOrUpdate = x.topicConfigurationsToCreateOrUpdate
            this.topicConfigurationsToDelete = x.topicConfigurationsToDelete
        }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy