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

commonMain.aws.sdk.kotlin.services.quicksight.model.PhysicalTable.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.quicksight.model



/**
 * A view of a data source that contains information about the shape of the data in the underlying source. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.
 */
sealed class PhysicalTable {
    /**
     * A physical table type built from the results of the custom SQL query.
     */
    data class CustomSql(val value: aws.sdk.kotlin.services.quicksight.model.CustomSql) : aws.sdk.kotlin.services.quicksight.model.PhysicalTable()
    /**
     * A physical table type for relational data sources.
     */
    data class RelationalTable(val value: aws.sdk.kotlin.services.quicksight.model.RelationalTable) : aws.sdk.kotlin.services.quicksight.model.PhysicalTable()
    /**
     * A physical table type for as S3 data source.
     */
    data class S3Source(val value: aws.sdk.kotlin.services.quicksight.model.S3Source) : aws.sdk.kotlin.services.quicksight.model.PhysicalTable()
    object SdkUnknown : aws.sdk.kotlin.services.quicksight.model.PhysicalTable()

    /**
     * Casts this [PhysicalTable] as a [CustomSql] and retrieves its [aws.sdk.kotlin.services.quicksight.model.CustomSql] value. Throws an exception if the [PhysicalTable] is not a
     * [CustomSql].
     */
    fun asCustomSql(): aws.sdk.kotlin.services.quicksight.model.CustomSql = (this as PhysicalTable.CustomSql).value

    /**
     * Casts this [PhysicalTable] as a [CustomSql] and retrieves its [aws.sdk.kotlin.services.quicksight.model.CustomSql] value. Returns null if the [PhysicalTable] is not a [CustomSql].
     */
    fun asCustomSqlOrNull(): aws.sdk.kotlin.services.quicksight.model.CustomSql? = (this as? PhysicalTable.CustomSql)?.value

    /**
     * Casts this [PhysicalTable] as a [RelationalTable] and retrieves its [aws.sdk.kotlin.services.quicksight.model.RelationalTable] value. Throws an exception if the [PhysicalTable] is not a
     * [RelationalTable].
     */
    fun asRelationalTable(): aws.sdk.kotlin.services.quicksight.model.RelationalTable = (this as PhysicalTable.RelationalTable).value

    /**
     * Casts this [PhysicalTable] as a [RelationalTable] and retrieves its [aws.sdk.kotlin.services.quicksight.model.RelationalTable] value. Returns null if the [PhysicalTable] is not a [RelationalTable].
     */
    fun asRelationalTableOrNull(): aws.sdk.kotlin.services.quicksight.model.RelationalTable? = (this as? PhysicalTable.RelationalTable)?.value

    /**
     * Casts this [PhysicalTable] as a [S3Source] and retrieves its [aws.sdk.kotlin.services.quicksight.model.S3Source] value. Throws an exception if the [PhysicalTable] is not a
     * [S3Source].
     */
    fun asS3Source(): aws.sdk.kotlin.services.quicksight.model.S3Source = (this as PhysicalTable.S3Source).value

    /**
     * Casts this [PhysicalTable] as a [S3Source] and retrieves its [aws.sdk.kotlin.services.quicksight.model.S3Source] value. Returns null if the [PhysicalTable] is not a [S3Source].
     */
    fun asS3SourceOrNull(): aws.sdk.kotlin.services.quicksight.model.S3Source? = (this as? PhysicalTable.S3Source)?.value
}

/**
 * Casts this [PhysicalTable] as a [CustomSql] and retrieves its [aws.sdk.kotlin.services.quicksight.model.CustomSql] value.
 */
val PhysicalTable.CustomSql get() = (this as PhysicalTable.CustomSql).value

/**
 * Casts this [PhysicalTable] as a [RelationalTable] and retrieves its [aws.sdk.kotlin.services.quicksight.model.RelationalTable] value.
 */
val PhysicalTable.RelationalTable get() = (this as PhysicalTable.RelationalTable).value

/**
 * Casts this [PhysicalTable] as a [S3Source] and retrieves its [aws.sdk.kotlin.services.quicksight.model.S3Source] value.
 */
val PhysicalTable.S3Source get() = (this as PhysicalTable.S3Source).value




© 2015 - 2025 Weber Informatics LLC | Privacy Policy