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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.AnalysisColumnHierarchyArgs.builder
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 dateTimeHierarchy The option that determines the hierarchy of any `DateTime` fields.
 * @property explicitHierarchy The option that determines the hierarchy of the fields that are built within a visual's field wells. These fields can't be duplicated to other visuals.
 * @property predefinedHierarchy The option that determines the hierarchy of the fields that are defined during data preparation. These fields are available to use in any analysis that uses the data source.
 */
public data class AnalysisColumnHierarchyArgs(
    public val dateTimeHierarchy: Output? = null,
    public val explicitHierarchy: Output? = null,
    public val predefinedHierarchy: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.AnalysisColumnHierarchyArgs =
        com.pulumi.awsnative.quicksight.inputs.AnalysisColumnHierarchyArgs.builder()
            .dateTimeHierarchy(dateTimeHierarchy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .explicitHierarchy(explicitHierarchy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .predefinedHierarchy(
                predefinedHierarchy?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [AnalysisColumnHierarchyArgs].
 */
@PulumiTagMarker
public class AnalysisColumnHierarchyArgsBuilder internal constructor() {
    private var dateTimeHierarchy: Output? = null

    private var explicitHierarchy: Output? = null

    private var predefinedHierarchy: Output? = null

    /**
     * @param value The option that determines the hierarchy of any `DateTime` fields.
     */
    @JvmName("akphpsxicaleexsw")
    public suspend fun dateTimeHierarchy(`value`: Output) {
        this.dateTimeHierarchy = value
    }

    /**
     * @param value The option that determines the hierarchy of the fields that are built within a visual's field wells. These fields can't be duplicated to other visuals.
     */
    @JvmName("dveqwcbqxotffhjy")
    public suspend fun explicitHierarchy(`value`: Output) {
        this.explicitHierarchy = value
    }

    /**
     * @param value The option that determines the hierarchy of the fields that are defined during data preparation. These fields are available to use in any analysis that uses the data source.
     */
    @JvmName("thvlrbreyjyqeapq")
    public suspend fun predefinedHierarchy(`value`: Output) {
        this.predefinedHierarchy = value
    }

    /**
     * @param value The option that determines the hierarchy of any `DateTime` fields.
     */
    @JvmName("vkfustpursjajybu")
    public suspend fun dateTimeHierarchy(`value`: AnalysisDateTimeHierarchyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dateTimeHierarchy = mapped
    }

    /**
     * @param argument The option that determines the hierarchy of any `DateTime` fields.
     */
    @JvmName("qnphgfbnvyhrwuxs")
    public suspend fun dateTimeHierarchy(argument: suspend AnalysisDateTimeHierarchyArgsBuilder.() -> Unit) {
        val toBeMapped = AnalysisDateTimeHierarchyArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.dateTimeHierarchy = mapped
    }

    /**
     * @param value The option that determines the hierarchy of the fields that are built within a visual's field wells. These fields can't be duplicated to other visuals.
     */
    @JvmName("csmgwjsykfysorjl")
    public suspend fun explicitHierarchy(`value`: AnalysisExplicitHierarchyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.explicitHierarchy = mapped
    }

    /**
     * @param argument The option that determines the hierarchy of the fields that are built within a visual's field wells. These fields can't be duplicated to other visuals.
     */
    @JvmName("jmnmejlujlokgtcq")
    public suspend fun explicitHierarchy(argument: suspend AnalysisExplicitHierarchyArgsBuilder.() -> Unit) {
        val toBeMapped = AnalysisExplicitHierarchyArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.explicitHierarchy = mapped
    }

    /**
     * @param value The option that determines the hierarchy of the fields that are defined during data preparation. These fields are available to use in any analysis that uses the data source.
     */
    @JvmName("anmguxenewrpunfc")
    public suspend fun predefinedHierarchy(`value`: AnalysisPredefinedHierarchyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.predefinedHierarchy = mapped
    }

    /**
     * @param argument The option that determines the hierarchy of the fields that are defined during data preparation. These fields are available to use in any analysis that uses the data source.
     */
    @JvmName("gjanacbcqgmfdxtv")
    public suspend fun predefinedHierarchy(argument: suspend AnalysisPredefinedHierarchyArgsBuilder.() -> Unit) {
        val toBeMapped = AnalysisPredefinedHierarchyArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.predefinedHierarchy = mapped
    }

    internal fun build(): AnalysisColumnHierarchyArgs = AnalysisColumnHierarchyArgs(
        dateTimeHierarchy = dateTimeHierarchy,
        explicitHierarchy = explicitHierarchy,
        predefinedHierarchy = predefinedHierarchy,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy