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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.AnalysisAttributeAggregationFunctionArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.AnalysisSimpleAttributeAggregationFunction
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property simpleAttributeAggregation The built-in aggregation functions for attributes.
 * - `UNIQUE_VALUE` : Returns the unique value for a field, aggregated by the dimension fields.
 * @property valueForMultipleValues Used by the `UNIQUE_VALUE` aggregation function. If there are multiple values for the field used by the aggregation, the value for this property will be returned instead. Defaults to '*'.
 */
public data class AnalysisAttributeAggregationFunctionArgs(
    public val simpleAttributeAggregation: Output? = null,
    public val valueForMultipleValues: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.AnalysisAttributeAggregationFunctionArgs =
        com.pulumi.awsnative.quicksight.inputs.AnalysisAttributeAggregationFunctionArgs.builder()
            .simpleAttributeAggregation(
                simpleAttributeAggregation?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .valueForMultipleValues(valueForMultipleValues?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AnalysisAttributeAggregationFunctionArgs].
 */
@PulumiTagMarker
public class AnalysisAttributeAggregationFunctionArgsBuilder internal constructor() {
    private var simpleAttributeAggregation: Output? = null

    private var valueForMultipleValues: Output? = null

    /**
     * @param value The built-in aggregation functions for attributes.
     * - `UNIQUE_VALUE` : Returns the unique value for a field, aggregated by the dimension fields.
     */
    @JvmName("qfmauhlypyqvpsqi")
    public suspend fun simpleAttributeAggregation(`value`: Output) {
        this.simpleAttributeAggregation = value
    }

    /**
     * @param value Used by the `UNIQUE_VALUE` aggregation function. If there are multiple values for the field used by the aggregation, the value for this property will be returned instead. Defaults to '*'.
     */
    @JvmName("sxspnjphgakhhfmw")
    public suspend fun valueForMultipleValues(`value`: Output) {
        this.valueForMultipleValues = value
    }

    /**
     * @param value The built-in aggregation functions for attributes.
     * - `UNIQUE_VALUE` : Returns the unique value for a field, aggregated by the dimension fields.
     */
    @JvmName("qojqoreesrscvkab")
    public suspend fun simpleAttributeAggregation(`value`: AnalysisSimpleAttributeAggregationFunction?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.simpleAttributeAggregation = mapped
    }

    /**
     * @param value Used by the `UNIQUE_VALUE` aggregation function. If there are multiple values for the field used by the aggregation, the value for this property will be returned instead. Defaults to '*'.
     */
    @JvmName("fnmpentiurekesbx")
    public suspend fun valueForMultipleValues(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.valueForMultipleValues = mapped
    }

    internal fun build(): AnalysisAttributeAggregationFunctionArgs =
        AnalysisAttributeAggregationFunctionArgs(
            simpleAttributeAggregation = simpleAttributeAggregation,
            valueForMultipleValues = valueForMultipleValues,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy