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

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

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

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



public class GetChatControlsConfigurationResponse private constructor(builder: Builder) {
    /**
     * The phrases blocked from chat by your chat control configuration.
     */
    public val blockedPhrases: aws.sdk.kotlin.services.qbusiness.model.BlockedPhrasesConfiguration? = builder.blockedPhrases
    /**
     * The configuration details for `CREATOR_MODE`.
     */
    public val creatorModeConfiguration: aws.sdk.kotlin.services.qbusiness.model.AppliedCreatorModeConfiguration? = builder.creatorModeConfiguration
    /**
     * If the `maxResults` response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business chat controls configured.
     */
    public val nextToken: kotlin.String? = builder.nextToken
    /**
     * The response scope configured for a Amazon Q Business 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 topic specific controls configured for a Amazon Q Business application.
     */
    public val topicConfigurations: List? = builder.topicConfigurations

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

    override fun toString(): kotlin.String = buildString {
        append("GetChatControlsConfigurationResponse(")
        append("blockedPhrases=$blockedPhrases,")
        append("creatorModeConfiguration=$creatorModeConfiguration,")
        append("nextToken=$nextToken,")
        append("responseScope=$responseScope,")
        append("topicConfigurations=$topicConfigurations")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = blockedPhrases?.hashCode() ?: 0
        result = 31 * result + (creatorModeConfiguration?.hashCode() ?: 0)
        result = 31 * result + (nextToken?.hashCode() ?: 0)
        result = 31 * result + (responseScope?.hashCode() ?: 0)
        result = 31 * result + (topicConfigurations?.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 GetChatControlsConfigurationResponse

        if (blockedPhrases != other.blockedPhrases) return false
        if (creatorModeConfiguration != other.creatorModeConfiguration) return false
        if (nextToken != other.nextToken) return false
        if (responseScope != other.responseScope) return false
        if (topicConfigurations != other.topicConfigurations) return false

        return true
    }

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

    public class Builder {
        /**
         * The phrases blocked from chat by your chat control configuration.
         */
        public var blockedPhrases: aws.sdk.kotlin.services.qbusiness.model.BlockedPhrasesConfiguration? = null
        /**
         * The configuration details for `CREATOR_MODE`.
         */
        public var creatorModeConfiguration: aws.sdk.kotlin.services.qbusiness.model.AppliedCreatorModeConfiguration? = null
        /**
         * If the `maxResults` response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business chat controls configured.
         */
        public var nextToken: kotlin.String? = null
        /**
         * The response scope configured for a Amazon Q Business 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 topic specific controls configured for a Amazon Q Business application.
         */
        public var topicConfigurations: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.qbusiness.model.GetChatControlsConfigurationResponse) : this() {
            this.blockedPhrases = x.blockedPhrases
            this.creatorModeConfiguration = x.creatorModeConfiguration
            this.nextToken = x.nextToken
            this.responseScope = x.responseScope
            this.topicConfigurations = x.topicConfigurations
        }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy