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

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

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

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



public class CreateRetrieverRequest private constructor(builder: Builder) {
    /**
     * The identifier of your Amazon Q Business application.
     */
    public val applicationId: kotlin.String? = builder.applicationId
    /**
     * A token that you provide to identify the request to create your Amazon Q Business application retriever.
     */
    public val clientToken: kotlin.String? = builder.clientToken
    /**
     * Provides information on how the retriever used for your Amazon Q Business application is configured.
     */
    public val configuration: aws.sdk.kotlin.services.qbusiness.model.RetrieverConfiguration? = builder.configuration
    /**
     * The name of your retriever.
     */
    public val displayName: kotlin.String? = builder.displayName
    /**
     * The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
     */
    public val roleArn: kotlin.String? = builder.roleArn
    /**
     * A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    public val tags: List? = builder.tags
    /**
     * The type of retriever you are using.
     */
    public val type: aws.sdk.kotlin.services.qbusiness.model.RetrieverType? = builder.type

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

    override fun toString(): kotlin.String = buildString {
        append("CreateRetrieverRequest(")
        append("applicationId=$applicationId,")
        append("clientToken=$clientToken,")
        append("configuration=$configuration,")
        append("displayName=$displayName,")
        append("roleArn=$roleArn,")
        append("tags=$tags,")
        append("type=$type")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = applicationId?.hashCode() ?: 0
        result = 31 * result + (clientToken?.hashCode() ?: 0)
        result = 31 * result + (configuration?.hashCode() ?: 0)
        result = 31 * result + (displayName?.hashCode() ?: 0)
        result = 31 * result + (roleArn?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (type?.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 CreateRetrieverRequest

        if (applicationId != other.applicationId) return false
        if (clientToken != other.clientToken) return false
        if (configuration != other.configuration) return false
        if (displayName != other.displayName) return false
        if (roleArn != other.roleArn) return false
        if (tags != other.tags) return false
        if (type != other.type) return false

        return true
    }

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

    public class Builder {
        /**
         * The identifier of your Amazon Q Business application.
         */
        public var applicationId: kotlin.String? = null
        /**
         * A token that you provide to identify the request to create your Amazon Q Business application retriever.
         */
        public var clientToken: kotlin.String? = null
        /**
         * Provides information on how the retriever used for your Amazon Q Business application is configured.
         */
        public var configuration: aws.sdk.kotlin.services.qbusiness.model.RetrieverConfiguration? = null
        /**
         * The name of your retriever.
         */
        public var displayName: kotlin.String? = null
        /**
         * The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
         */
        public var roleArn: kotlin.String? = null
        /**
         * A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
         */
        public var tags: List? = null
        /**
         * The type of retriever you are using.
         */
        public var type: aws.sdk.kotlin.services.qbusiness.model.RetrieverType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.qbusiness.model.CreateRetrieverRequest) : this() {
            this.applicationId = x.applicationId
            this.clientToken = x.clientToken
            this.configuration = x.configuration
            this.displayName = x.displayName
            this.roleArn = x.roleArn
            this.tags = x.tags
            this.type = x.type
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy