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

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

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

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



/**
 * Provides user and group information used for filtering documents to use for generating Amazon Q Business conversation responses.
 */
public sealed class Principal {
    /**
     * The group associated with the principal.
     */
    public data class Group(val value: aws.sdk.kotlin.services.qbusiness.model.PrincipalGroup) : aws.sdk.kotlin.services.qbusiness.model.Principal() {
    }

    /**
     * The user associated with the principal.
     */
    public data class User(val value: aws.sdk.kotlin.services.qbusiness.model.PrincipalUser) : aws.sdk.kotlin.services.qbusiness.model.Principal() {
    }

    public object SdkUnknown : aws.sdk.kotlin.services.qbusiness.model.Principal() {
    }

    /**
     * Casts this [Principal] as a [Group] and retrieves its [aws.sdk.kotlin.services.qbusiness.model.PrincipalGroup] value. Throws an exception if the [Principal] is not a
     * [Group].
     */
    public fun asGroup(): aws.sdk.kotlin.services.qbusiness.model.PrincipalGroup = (this as Principal.Group).value

    /**
     * Casts this [Principal] as a [Group] and retrieves its [aws.sdk.kotlin.services.qbusiness.model.PrincipalGroup] value. Returns null if the [Principal] is not a [Group].
     */
    public fun asGroupOrNull(): aws.sdk.kotlin.services.qbusiness.model.PrincipalGroup? = (this as? Principal.Group)?.value

    /**
     * Casts this [Principal] as a [User] and retrieves its [aws.sdk.kotlin.services.qbusiness.model.PrincipalUser] value. Throws an exception if the [Principal] is not a
     * [User].
     */
    public fun asUser(): aws.sdk.kotlin.services.qbusiness.model.PrincipalUser = (this as Principal.User).value

    /**
     * Casts this [Principal] as a [User] and retrieves its [aws.sdk.kotlin.services.qbusiness.model.PrincipalUser] value. Returns null if the [Principal] is not a [User].
     */
    public fun asUserOrNull(): aws.sdk.kotlin.services.qbusiness.model.PrincipalUser? = (this as? Principal.User)?.value
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy