
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