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

com.pulumi.awsnative.quicksight.kotlin.inputs.DashboardAggregationFunctionArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.quicksight.kotlin.inputs

import com.pulumi.awsnative.quicksight.inputs.DashboardAggregationFunctionArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardCategoricalAggregationFunction
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardDateAggregationFunction
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property attributeAggregationFunction Aggregation for attributes.
 * @property categoricalAggregationFunction Aggregation for categorical values.
 * - `COUNT` : Aggregate by the total number of values, including duplicates.
 * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
 * @property dateAggregationFunction Aggregation for date values.
 * - `COUNT` : Aggregate by the total number of values, including duplicates.
 * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
 * - `MIN` : Select the smallest date value.
 * - `MAX` : Select the largest date value.
 * @property numericalAggregationFunction Aggregation for numerical values.
 */
public data class DashboardAggregationFunctionArgs(
    public val attributeAggregationFunction: Output? =
        null,
    public val categoricalAggregationFunction: Output? =
        null,
    public val dateAggregationFunction: Output? = null,
    public val numericalAggregationFunction: Output? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DashboardAggregationFunctionArgs =
        com.pulumi.awsnative.quicksight.inputs.DashboardAggregationFunctionArgs.builder()
            .attributeAggregationFunction(
                attributeAggregationFunction?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .categoricalAggregationFunction(
                categoricalAggregationFunction?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .dateAggregationFunction(
                dateAggregationFunction?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .numericalAggregationFunction(
                numericalAggregationFunction?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            ).build()
}

/**
 * Builder for [DashboardAggregationFunctionArgs].
 */
@PulumiTagMarker
public class DashboardAggregationFunctionArgsBuilder internal constructor() {
    private var attributeAggregationFunction: Output? =
        null

    private var categoricalAggregationFunction: Output? =
        null

    private var dateAggregationFunction: Output? = null

    private var numericalAggregationFunction: Output? =
        null

    /**
     * @param value Aggregation for attributes.
     */
    @JvmName("pkducmhrydofylhi")
    public suspend fun attributeAggregationFunction(`value`: Output) {
        this.attributeAggregationFunction = value
    }

    /**
     * @param value Aggregation for categorical values.
     * - `COUNT` : Aggregate by the total number of values, including duplicates.
     * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
     */
    @JvmName("jxvhfaisddmdddju")
    public suspend fun categoricalAggregationFunction(`value`: Output) {
        this.categoricalAggregationFunction = value
    }

    /**
     * @param value Aggregation for date values.
     * - `COUNT` : Aggregate by the total number of values, including duplicates.
     * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
     * - `MIN` : Select the smallest date value.
     * - `MAX` : Select the largest date value.
     */
    @JvmName("hffnysajicqyokdn")
    public suspend fun dateAggregationFunction(`value`: Output) {
        this.dateAggregationFunction = value
    }

    /**
     * @param value Aggregation for numerical values.
     */
    @JvmName("pakbdqgutydgeflc")
    public suspend fun numericalAggregationFunction(`value`: Output) {
        this.numericalAggregationFunction = value
    }

    /**
     * @param value Aggregation for attributes.
     */
    @JvmName("xmdpdurwtdtjfwvy")
    public suspend fun attributeAggregationFunction(`value`: DashboardAttributeAggregationFunctionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.attributeAggregationFunction = mapped
    }

    /**
     * @param argument Aggregation for attributes.
     */
    @JvmName("icygrrfrgmhhwrnt")
    public suspend fun attributeAggregationFunction(argument: suspend DashboardAttributeAggregationFunctionArgsBuilder.() -> Unit) {
        val toBeMapped = DashboardAttributeAggregationFunctionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.attributeAggregationFunction = mapped
    }

    /**
     * @param value Aggregation for categorical values.
     * - `COUNT` : Aggregate by the total number of values, including duplicates.
     * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
     */
    @JvmName("ajexmqfxddqmiwtk")
    public suspend fun categoricalAggregationFunction(`value`: DashboardCategoricalAggregationFunction?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.categoricalAggregationFunction = mapped
    }

    /**
     * @param value Aggregation for date values.
     * - `COUNT` : Aggregate by the total number of values, including duplicates.
     * - `DISTINCT_COUNT` : Aggregate by the total number of distinct values.
     * - `MIN` : Select the smallest date value.
     * - `MAX` : Select the largest date value.
     */
    @JvmName("blyawwgbhlptgbjo")
    public suspend fun dateAggregationFunction(`value`: DashboardDateAggregationFunction?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dateAggregationFunction = mapped
    }

    /**
     * @param value Aggregation for numerical values.
     */
    @JvmName("gwhpdbbuidptrrrl")
    public suspend fun numericalAggregationFunction(`value`: DashboardNumericalAggregationFunctionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.numericalAggregationFunction = mapped
    }

    /**
     * @param argument Aggregation for numerical values.
     */
    @JvmName("eckxcyrfkubjhtrs")
    public suspend fun numericalAggregationFunction(argument: suspend DashboardNumericalAggregationFunctionArgsBuilder.() -> Unit) {
        val toBeMapped = DashboardNumericalAggregationFunctionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.numericalAggregationFunction = mapped
    }

    internal fun build(): DashboardAggregationFunctionArgs = DashboardAggregationFunctionArgs(
        attributeAggregationFunction = attributeAggregationFunction,
        categoricalAggregationFunction = categoricalAggregationFunction,
        dateAggregationFunction = dateAggregationFunction,
        numericalAggregationFunction = numericalAggregationFunction,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy