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

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

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

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

import aws.smithy.kotlin.runtime.time.Instant

/**
 * Summary information for users or groups in your IAM Identity Center identity source. This applies to users and groups with specific permissions that define their level of access to your Amazon Kendra experience. You can create an Amazon Kendra experience such as a search application. For more information on creating a search application experience, see [Building a search experience with no code](https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html).
 */
public class PersonasSummary private constructor(builder: Builder) {
    /**
     * The Unix timestamp when the summary information was created.
     */
    public val createdAt: aws.smithy.kotlin.runtime.time.Instant? = builder.createdAt
    /**
     * The identifier of a user or group in your IAM Identity Center identity source. For example, a user ID could be an email.
     */
    public val entityId: kotlin.String? = builder.entityId
    /**
     * The persona that defines the specific permissions of the user or group in your IAM Identity Center identity source. The available personas or access roles are `Owner` and `Viewer`. For more information on these personas, see [Providing access to your search page](https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html#access-search-experience).
     */
    public val persona: aws.sdk.kotlin.services.kendra.model.Persona? = builder.persona
    /**
     * The Unix timestamp when the summary information was last updated.
     */
    public val updatedAt: aws.smithy.kotlin.runtime.time.Instant? = builder.updatedAt

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

    override fun toString(): kotlin.String = buildString {
        append("PersonasSummary(")
        append("createdAt=$createdAt,")
        append("entityId=$entityId,")
        append("persona=$persona,")
        append("updatedAt=$updatedAt")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdAt?.hashCode() ?: 0
        result = 31 * result + (entityId?.hashCode() ?: 0)
        result = 31 * result + (persona?.hashCode() ?: 0)
        result = 31 * result + (updatedAt?.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 PersonasSummary

        if (createdAt != other.createdAt) return false
        if (entityId != other.entityId) return false
        if (persona != other.persona) return false
        if (updatedAt != other.updatedAt) return false

        return true
    }

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

    public class Builder {
        /**
         * The Unix timestamp when the summary information was created.
         */
        public var createdAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The identifier of a user or group in your IAM Identity Center identity source. For example, a user ID could be an email.
         */
        public var entityId: kotlin.String? = null
        /**
         * The persona that defines the specific permissions of the user or group in your IAM Identity Center identity source. The available personas or access roles are `Owner` and `Viewer`. For more information on these personas, see [Providing access to your search page](https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html#access-search-experience).
         */
        public var persona: aws.sdk.kotlin.services.kendra.model.Persona? = null
        /**
         * The Unix timestamp when the summary information was last updated.
         */
        public var updatedAt: aws.smithy.kotlin.runtime.time.Instant? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kendra.model.PersonasSummary) : this() {
            this.createdAt = x.createdAt
            this.entityId = x.entityId
            this.persona = x.persona
            this.updatedAt = x.updatedAt
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy