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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.DashboardPivotTotalOptionsArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardTableTotalsPlacement
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardTableTotalsScrollStatus
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardVisibility
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 metricHeaderCellStyle The cell styling options for the total of header 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 options for each value field.
 * @property totalCellStyle The cell styling options for the total cells.
 * @property totalsVisibility The visibility configuration for the total cells.
 * @property valueCellStyle The cell styling options for the totals of value cells.
 */
public data class DashboardPivotTotalOptionsArgs(
    public val customLabel: Output? = null,
    public val metricHeaderCellStyle: 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,
    public val valueCellStyle: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DashboardPivotTotalOptionsArgs =
        com.pulumi.awsnative.quicksight.inputs.DashboardPivotTotalOptionsArgs.builder()
            .customLabel(customLabel?.applyValue({ args0 -> args0 }))
            .metricHeaderCellStyle(
                metricHeaderCellStyle?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .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() }) }))
            .valueCellStyle(
                valueCellStyle?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

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

    private var metricHeaderCellStyle: 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

    private var valueCellStyle: Output? = null

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

    /**
     * @param value The cell styling options for the total of header cells.
     */
    @JvmName("twqyorddenkkhcjm")
    public suspend fun metricHeaderCellStyle(`value`: Output) {
        this.metricHeaderCellStyle = value
    }

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

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

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

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

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

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

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

    /**
     * @param value The cell styling options for the totals of value cells.
     */
    @JvmName("pqbvasosvtbsjyni")
    public suspend fun valueCellStyle(`value`: Output) {
        this.valueCellStyle = value
    }

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

    /**
     * @param value The cell styling options for the total of header cells.
     */
    @JvmName("hptfvyjrdvftkwur")
    public suspend fun metricHeaderCellStyle(`value`: DashboardTableCellStyleArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metricHeaderCellStyle = mapped
    }

    /**
     * @param argument The cell styling options for the total of header cells.
     */
    @JvmName("leyrbyfefrnxlypp")
    public suspend fun metricHeaderCellStyle(argument: suspend DashboardTableCellStyleArgsBuilder.() -> Unit) {
        val toBeMapped = DashboardTableCellStyleArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.metricHeaderCellStyle = mapped
    }

    /**
     * @param value The placement (start, end) for the total cells.
     */
    @JvmName("xqqboyovanyenbvi")
    public suspend fun placement(`value`: DashboardTableTotalsPlacement?) {
        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("ivxyjlssefpxhdjx")
    public suspend fun scrollStatus(`value`: DashboardTableTotalsScrollStatus?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.scrollStatus = mapped
    }

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

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

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

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

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

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

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

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

    /**
     * @param value The cell styling options for the totals of value cells.
     */
    @JvmName("oubktehoqlgfhlpl")
    public suspend fun valueCellStyle(`value`: DashboardTableCellStyleArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.valueCellStyle = mapped
    }

    /**
     * @param argument The cell styling options for the totals of value cells.
     */
    @JvmName("kmrpddhtmebarvrx")
    public suspend fun valueCellStyle(argument: suspend DashboardTableCellStyleArgsBuilder.() -> Unit) {
        val toBeMapped = DashboardTableCellStyleArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.valueCellStyle = mapped
    }

    internal fun build(): DashboardPivotTotalOptionsArgs = DashboardPivotTotalOptionsArgs(
        customLabel = customLabel,
        metricHeaderCellStyle = metricHeaderCellStyle,
        placement = placement,
        scrollStatus = scrollStatus,
        totalAggregationOptions = totalAggregationOptions,
        totalCellStyle = totalCellStyle,
        totalsVisibility = totalsVisibility,
        valueCellStyle = valueCellStyle,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy