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

commonMain.aws.sdk.kotlin.services.kendra.model.DataSourceGroup.kt Maven / Gradle / Ivy

There is a newer version: 1.3.77
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.kendra.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Data source information for user context filtering.
 */
public class DataSourceGroup private constructor(builder: Builder) {
    /**
     * The identifier of the data source group you want to add to your list of data source groups. This is for filtering search results based on the groups' access to documents in that data source.
     */
    public val dataSourceId: kotlin.String = requireNotNull(builder.dataSourceId) { "A non-null value must be provided for dataSourceId" }
    /**
     * The identifier of the group you want to add to your list of groups. This is for filtering search results based on the groups' access to documents.
     */
    public val groupId: kotlin.String = requireNotNull(builder.groupId) { "A non-null value must be provided for groupId" }

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

    override fun toString(): kotlin.String = buildString {
        append("DataSourceGroup(")
        append("dataSourceId=$dataSourceId,")
        append("groupId=$groupId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = dataSourceId.hashCode()
        result = 31 * result + (groupId.hashCode())
        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 DataSourceGroup

        if (dataSourceId != other.dataSourceId) return false
        if (groupId != other.groupId) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The identifier of the data source group you want to add to your list of data source groups. This is for filtering search results based on the groups' access to documents in that data source.
         */
        public var dataSourceId: kotlin.String? = null
        /**
         * The identifier of the group you want to add to your list of groups. This is for filtering search results based on the groups' access to documents.
         */
        public var groupId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kendra.model.DataSourceGroup) : this() {
            this.dataSourceId = x.dataSourceId
            this.groupId = x.groupId
        }

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

        internal fun correctErrors(): Builder {
            if (dataSourceId == null) dataSourceId = ""
            if (groupId == null) groupId = ""
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy