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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.DashboardComparisonConfigurationArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.DashboardComparisonMethod
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 comparisonFormat The format of the comparison.
 * @property comparisonMethod The method of the comparison. Choose from the following options:
 * - `DIFFERENCE`
 * - `PERCENT_DIFFERENCE`
 * - `PERCENT`
 */
public data class DashboardComparisonConfigurationArgs(
    public val comparisonFormat: Output? = null,
    public val comparisonMethod: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.DashboardComparisonConfigurationArgs = com.pulumi.awsnative.quicksight.inputs.DashboardComparisonConfigurationArgs.builder()
        .comparisonFormat(comparisonFormat?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .comparisonMethod(
            comparisonMethod?.applyValue({ args0 ->
                args0.let({ args0 ->
                    args0.toJava()
                })
            }),
        ).build()
}

/**
 * Builder for [DashboardComparisonConfigurationArgs].
 */
@PulumiTagMarker
public class DashboardComparisonConfigurationArgsBuilder internal constructor() {
    private var comparisonFormat: Output? = null

    private var comparisonMethod: Output? = null

    /**
     * @param value The format of the comparison.
     */
    @JvmName("gwsnwxhlknkuilpj")
    public suspend fun comparisonFormat(`value`: Output) {
        this.comparisonFormat = value
    }

    /**
     * @param value The method of the comparison. Choose from the following options:
     * - `DIFFERENCE`
     * - `PERCENT_DIFFERENCE`
     * - `PERCENT`
     */
    @JvmName("wgcjfpfexbgnkxlv")
    public suspend fun comparisonMethod(`value`: Output) {
        this.comparisonMethod = value
    }

    /**
     * @param value The format of the comparison.
     */
    @JvmName("xvbtlirjalohilko")
    public suspend fun comparisonFormat(`value`: DashboardComparisonFormatConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.comparisonFormat = mapped
    }

    /**
     * @param argument The format of the comparison.
     */
    @JvmName("mubnkmsgduggqejg")
    public suspend fun comparisonFormat(argument: suspend DashboardComparisonFormatConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = DashboardComparisonFormatConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.comparisonFormat = mapped
    }

    /**
     * @param value The method of the comparison. Choose from the following options:
     * - `DIFFERENCE`
     * - `PERCENT_DIFFERENCE`
     * - `PERCENT`
     */
    @JvmName("ctoqkxidvepuangd")
    public suspend fun comparisonMethod(`value`: DashboardComparisonMethod?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.comparisonMethod = mapped
    }

    internal fun build(): DashboardComparisonConfigurationArgs = DashboardComparisonConfigurationArgs(
        comparisonFormat = comparisonFormat,
        comparisonMethod = comparisonMethod,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy