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

commonMain.aws.sdk.kotlin.services.cleanrooms.model.ConfiguredTableAnalysisRulePolicyV1.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.cleanrooms.model



/**
 * Controls on the query specifications that can be run on a configured table.
 */
public sealed class ConfiguredTableAnalysisRulePolicyV1 {
    /**
     * Analysis rule type that enables only aggregation queries on a configured table.
     */
    public data class Aggregation(val value: aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleAggregation) : aws.sdk.kotlin.services.cleanrooms.model.ConfiguredTableAnalysisRulePolicyV1() {
    }

    /**
     * A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.
     */
    public data class Custom(val value: aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleCustom) : aws.sdk.kotlin.services.cleanrooms.model.ConfiguredTableAnalysisRulePolicyV1() {
    }

    /**
     * Analysis rule type that enables only list queries on a configured table.
     */
    public data class List(val value: aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleList) : aws.sdk.kotlin.services.cleanrooms.model.ConfiguredTableAnalysisRulePolicyV1() {
    }

    public object SdkUnknown : aws.sdk.kotlin.services.cleanrooms.model.ConfiguredTableAnalysisRulePolicyV1() {
    }

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [Aggregation] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleAggregation] value. Throws an exception if the [ConfiguredTableAnalysisRulePolicyV1] is not a
     * [Aggregation].
     */
    public fun asAggregation(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleAggregation = (this as ConfiguredTableAnalysisRulePolicyV1.Aggregation).value

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [Aggregation] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleAggregation] value. Returns null if the [ConfiguredTableAnalysisRulePolicyV1] is not a [Aggregation].
     */
    public fun asAggregationOrNull(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleAggregation? = (this as? ConfiguredTableAnalysisRulePolicyV1.Aggregation)?.value

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [Custom] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleCustom] value. Throws an exception if the [ConfiguredTableAnalysisRulePolicyV1] is not a
     * [Custom].
     */
    public fun asCustom(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleCustom = (this as ConfiguredTableAnalysisRulePolicyV1.Custom).value

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [Custom] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleCustom] value. Returns null if the [ConfiguredTableAnalysisRulePolicyV1] is not a [Custom].
     */
    public fun asCustomOrNull(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleCustom? = (this as? ConfiguredTableAnalysisRulePolicyV1.Custom)?.value

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [List] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleList] value. Throws an exception if the [ConfiguredTableAnalysisRulePolicyV1] is not a
     * [List].
     */
    public fun asList(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleList = (this as ConfiguredTableAnalysisRulePolicyV1.List).value

    /**
     * Casts this [ConfiguredTableAnalysisRulePolicyV1] as a [List] and retrieves its [aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleList] value. Returns null if the [ConfiguredTableAnalysisRulePolicyV1] is not a [List].
     */
    public fun asListOrNull(): aws.sdk.kotlin.services.cleanrooms.model.AnalysisRuleList? = (this as? ConfiguredTableAnalysisRulePolicyV1.List)?.value
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy