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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.TemplateTotalOptionsArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.TemplateTableTotalsPlacement
import com.pulumi.awsnative.quicksight.kotlin.enums.TemplateTableTotalsScrollStatus
import com.pulumi.awsnative.quicksight.kotlin.enums.TemplateVisibility
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property customLabel The custom label string for the total cells.
 * @property placement The placement (start, end) for the total cells.
 * @property scrollStatus The scroll status (pinned, scrolled) for the total cells.
 * @property totalAggregationOptions The total aggregation settings for each value field.
 * @property totalCellStyle Cell styling options for the total cells.
 * @property totalsVisibility The visibility configuration for the total cells.
 */
public data class TemplateTotalOptionsArgs(
    public val customLabel: Output? = null,
    public val placement: Output? = null,
    public val scrollStatus: Output? = null,
    public val totalAggregationOptions: Output>? = null,
    public val totalCellStyle: Output? = null,
    public val totalsVisibility: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.TemplateTotalOptionsArgs =
        com.pulumi.awsnative.quicksight.inputs.TemplateTotalOptionsArgs.builder()
            .customLabel(customLabel?.applyValue({ args0 -> args0 }))
            .placement(placement?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .scrollStatus(scrollStatus?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .totalAggregationOptions(
                totalAggregationOptions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .totalCellStyle(totalCellStyle?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .totalsVisibility(
                totalsVisibility?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [TemplateTotalOptionsArgs].
 */
@PulumiTagMarker
public class TemplateTotalOptionsArgsBuilder internal constructor() {
    private var customLabel: Output? = null

    private var placement: Output? = null

    private var scrollStatus: Output? = null

    private var totalAggregationOptions: Output>? = null

    private var totalCellStyle: Output? = null

    private var totalsVisibility: Output? = null

    /**
     * @param value The custom label string for the total cells.
     */
    @JvmName("hoaflnhmuvibmhew")
    public suspend fun customLabel(`value`: Output) {
        this.customLabel = value
    }

    /**
     * @param value The placement (start, end) for the total cells.
     */
    @JvmName("cikcebyrvlfomqrk")
    public suspend fun placement(`value`: Output) {
        this.placement = value
    }

    /**
     * @param value The scroll status (pinned, scrolled) for the total cells.
     */
    @JvmName("vqaytiawmalybypn")
    public suspend fun scrollStatus(`value`: Output) {
        this.scrollStatus = value
    }

    /**
     * @param value The total aggregation settings for each value field.
     */
    @JvmName("hbklvgaodgubwujp")
    public suspend fun totalAggregationOptions(`value`: Output>) {
        this.totalAggregationOptions = value
    }

    @JvmName("pxyuvoqnbiythfxx")
    public suspend fun totalAggregationOptions(vararg values: Output) {
        this.totalAggregationOptions = Output.all(values.asList())
    }

    /**
     * @param values The total aggregation settings for each value field.
     */
    @JvmName("lhemvqlfdyhlvpuj")
    public suspend fun totalAggregationOptions(values: List>) {
        this.totalAggregationOptions = Output.all(values)
    }

    /**
     * @param value Cell styling options for the total cells.
     */
    @JvmName("rrlujnonfmsaoscw")
    public suspend fun totalCellStyle(`value`: Output) {
        this.totalCellStyle = value
    }

    /**
     * @param value The visibility configuration for the total cells.
     */
    @JvmName("jcwmgemhhtggqmjd")
    public suspend fun totalsVisibility(`value`: Output) {
        this.totalsVisibility = value
    }

    /**
     * @param value The custom label string for the total cells.
     */
    @JvmName("anoxqhtuiuxjcbof")
    public suspend fun customLabel(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customLabel = mapped
    }

    /**
     * @param value The placement (start, end) for the total cells.
     */
    @JvmName("gcwwaggidudkwudc")
    public suspend fun placement(`value`: TemplateTableTotalsPlacement?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.placement = mapped
    }

    /**
     * @param value The scroll status (pinned, scrolled) for the total cells.
     */
    @JvmName("adcofcgkjylcvlws")
    public suspend fun scrollStatus(`value`: TemplateTableTotalsScrollStatus?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.scrollStatus = mapped
    }

    /**
     * @param value The total aggregation settings for each value field.
     */
    @JvmName("aexqfggjckufdtrd")
    public suspend fun totalAggregationOptions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.totalAggregationOptions = mapped
    }

    /**
     * @param argument The total aggregation settings for each value field.
     */
    @JvmName("xlyvhfbuogcdxcho")
    public suspend fun totalAggregationOptions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateTotalAggregationOptionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.totalAggregationOptions = mapped
    }

    /**
     * @param argument The total aggregation settings for each value field.
     */
    @JvmName("xyxgpyfwjssbiixe")
    public suspend fun totalAggregationOptions(vararg argument: suspend TemplateTotalAggregationOptionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateTotalAggregationOptionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.totalAggregationOptions = mapped
    }

    /**
     * @param argument The total aggregation settings for each value field.
     */
    @JvmName("xjyqlvpogrguuefe")
    public suspend fun totalAggregationOptions(argument: suspend TemplateTotalAggregationOptionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            TemplateTotalAggregationOptionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.totalAggregationOptions = mapped
    }

    /**
     * @param values The total aggregation settings for each value field.
     */
    @JvmName("bpsqboifhovbspsw")
    public suspend fun totalAggregationOptions(vararg values: TemplateTotalAggregationOptionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.totalAggregationOptions = mapped
    }

    /**
     * @param value Cell styling options for the total cells.
     */
    @JvmName("mbonyicqjatkjhne")
    public suspend fun totalCellStyle(`value`: TemplateTableCellStyleArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.totalCellStyle = mapped
    }

    /**
     * @param argument Cell styling options for the total cells.
     */
    @JvmName("skpeonfsmtjwolhe")
    public suspend fun totalCellStyle(argument: suspend TemplateTableCellStyleArgsBuilder.() -> Unit) {
        val toBeMapped = TemplateTableCellStyleArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.totalCellStyle = mapped
    }

    /**
     * @param value The visibility configuration for the total cells.
     */
    @JvmName("xjspblvquiywerkp")
    public suspend fun totalsVisibility(`value`: TemplateVisibility?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.totalsVisibility = mapped
    }

    internal fun build(): TemplateTotalOptionsArgs = TemplateTotalOptionsArgs(
        customLabel = customLabel,
        placement = placement,
        scrollStatus = scrollStatus,
        totalAggregationOptions = totalAggregationOptions,
        totalCellStyle = totalCellStyle,
        totalsVisibility = totalsVisibility,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy