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

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

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.quicksight.inputs.TopicCalculatedFieldArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.TopicAuthorSpecifiedAggregation
import com.pulumi.awsnative.quicksight.kotlin.enums.TopicColumnDataRole
import com.pulumi.awsnative.quicksight.kotlin.enums.TopicDefaultAggregation
import com.pulumi.awsnative.quicksight.kotlin.enums.TopicTimeGranularity
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property aggregation The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .
 * @property allowedAggregations The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
 * @property calculatedFieldDescription The calculated field description.
 * @property calculatedFieldName The calculated field name.
 * @property calculatedFieldSynonyms The other names or aliases for the calculated field.
 * @property cellValueSynonyms The other names or aliases for the calculated field cell value.
 * @property columnDataRole The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .
 * @property comparativeOrder The order in which data is displayed for the calculated field when it's used in a comparative context.
 * @property defaultFormatting The default formatting definition.
 * @property disableIndexing A Boolean value that indicates if a calculated field is visible in the autocomplete.
 * @property expression The calculated field expression.
 * @property isIncludedInTopic A boolean value that indicates if a calculated field is included in the topic.
 * @property neverAggregateInFilter A Boolean value that indicates whether to never aggregate calculated field in filters.
 * @property nonAdditive The non additive for the table style target.
 * @property notAllowedAggregations The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
 * @property semanticType The semantic type.
 * @property timeGranularity The level of time precision that is used to aggregate `DateTime` values.
 */
public data class TopicCalculatedFieldArgs(
    public val aggregation: Output? = null,
    public val allowedAggregations: Output>? = null,
    public val calculatedFieldDescription: Output? = null,
    public val calculatedFieldName: Output,
    public val calculatedFieldSynonyms: Output>? = null,
    public val cellValueSynonyms: Output>? = null,
    public val columnDataRole: Output? = null,
    public val comparativeOrder: Output? = null,
    public val defaultFormatting: Output? = null,
    public val disableIndexing: Output? = null,
    public val expression: Output,
    public val isIncludedInTopic: Output? = null,
    public val neverAggregateInFilter: Output? = null,
    public val nonAdditive: Output? = null,
    public val notAllowedAggregations: Output>? = null,
    public val semanticType: Output? = null,
    public val timeGranularity: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.TopicCalculatedFieldArgs =
        com.pulumi.awsnative.quicksight.inputs.TopicCalculatedFieldArgs.builder()
            .aggregation(aggregation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .allowedAggregations(
                allowedAggregations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .calculatedFieldDescription(calculatedFieldDescription?.applyValue({ args0 -> args0 }))
            .calculatedFieldName(calculatedFieldName.applyValue({ args0 -> args0 }))
            .calculatedFieldSynonyms(
                calculatedFieldSynonyms?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .cellValueSynonyms(
                cellValueSynonyms?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .columnDataRole(columnDataRole?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .comparativeOrder(comparativeOrder?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .defaultFormatting(defaultFormatting?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .disableIndexing(disableIndexing?.applyValue({ args0 -> args0 }))
            .expression(expression.applyValue({ args0 -> args0 }))
            .isIncludedInTopic(isIncludedInTopic?.applyValue({ args0 -> args0 }))
            .neverAggregateInFilter(neverAggregateInFilter?.applyValue({ args0 -> args0 }))
            .nonAdditive(nonAdditive?.applyValue({ args0 -> args0 }))
            .notAllowedAggregations(
                notAllowedAggregations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .semanticType(semanticType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .timeGranularity(
                timeGranularity?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [TopicCalculatedFieldArgs].
 */
@PulumiTagMarker
public class TopicCalculatedFieldArgsBuilder internal constructor() {
    private var aggregation: Output? = null

    private var allowedAggregations: Output>? = null

    private var calculatedFieldDescription: Output? = null

    private var calculatedFieldName: Output? = null

    private var calculatedFieldSynonyms: Output>? = null

    private var cellValueSynonyms: Output>? = null

    private var columnDataRole: Output? = null

    private var comparativeOrder: Output? = null

    private var defaultFormatting: Output? = null

    private var disableIndexing: Output? = null

    private var expression: Output? = null

    private var isIncludedInTopic: Output? = null

    private var neverAggregateInFilter: Output? = null

    private var nonAdditive: Output? = null

    private var notAllowedAggregations: Output>? = null

    private var semanticType: Output? = null

    private var timeGranularity: Output? = null

    /**
     * @param value The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .
     */
    @JvmName("yunnsxkdfebgacdx")
    public suspend fun aggregation(`value`: Output) {
        this.aggregation = value
    }

    /**
     * @param value The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("gcjokxjhffpadxmk")
    public suspend fun allowedAggregations(`value`: Output>) {
        this.allowedAggregations = value
    }

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

    /**
     * @param values The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("hksavjqedfltlnih")
    public suspend fun allowedAggregations(values: List>) {
        this.allowedAggregations = Output.all(values)
    }

    /**
     * @param value The calculated field description.
     */
    @JvmName("qsjsoxkdqbnjutby")
    public suspend fun calculatedFieldDescription(`value`: Output) {
        this.calculatedFieldDescription = value
    }

    /**
     * @param value The calculated field name.
     */
    @JvmName("mbwdimiujtejqggh")
    public suspend fun calculatedFieldName(`value`: Output) {
        this.calculatedFieldName = value
    }

    /**
     * @param value The other names or aliases for the calculated field.
     */
    @JvmName("pypbeyumeytdiuja")
    public suspend fun calculatedFieldSynonyms(`value`: Output>) {
        this.calculatedFieldSynonyms = value
    }

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

    /**
     * @param values The other names or aliases for the calculated field.
     */
    @JvmName("vhhahmmodakhsvww")
    public suspend fun calculatedFieldSynonyms(values: List>) {
        this.calculatedFieldSynonyms = Output.all(values)
    }

    /**
     * @param value The other names or aliases for the calculated field cell value.
     */
    @JvmName("wskpkdxduospyuab")
    public suspend fun cellValueSynonyms(`value`: Output>) {
        this.cellValueSynonyms = value
    }

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

    /**
     * @param values The other names or aliases for the calculated field cell value.
     */
    @JvmName("xohojhhppohviftn")
    public suspend fun cellValueSynonyms(values: List>) {
        this.cellValueSynonyms = Output.all(values)
    }

    /**
     * @param value The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .
     */
    @JvmName("efdaxwvjpjiwpobq")
    public suspend fun columnDataRole(`value`: Output) {
        this.columnDataRole = value
    }

    /**
     * @param value The order in which data is displayed for the calculated field when it's used in a comparative context.
     */
    @JvmName("svtrbgyajitqhdap")
    public suspend fun comparativeOrder(`value`: Output) {
        this.comparativeOrder = value
    }

    /**
     * @param value The default formatting definition.
     */
    @JvmName("loighfrixqstiiip")
    public suspend fun defaultFormatting(`value`: Output) {
        this.defaultFormatting = value
    }

    /**
     * @param value A Boolean value that indicates if a calculated field is visible in the autocomplete.
     */
    @JvmName("vrwaliitfhuaiqki")
    public suspend fun disableIndexing(`value`: Output) {
        this.disableIndexing = value
    }

    /**
     * @param value The calculated field expression.
     */
    @JvmName("cbkmvxbiopsmqnct")
    public suspend fun expression(`value`: Output) {
        this.expression = value
    }

    /**
     * @param value A boolean value that indicates if a calculated field is included in the topic.
     */
    @JvmName("oiogrffjgsvjyfvq")
    public suspend fun isIncludedInTopic(`value`: Output) {
        this.isIncludedInTopic = value
    }

    /**
     * @param value A Boolean value that indicates whether to never aggregate calculated field in filters.
     */
    @JvmName("uvwlvvchdjmbcgwe")
    public suspend fun neverAggregateInFilter(`value`: Output) {
        this.neverAggregateInFilter = value
    }

    /**
     * @param value The non additive for the table style target.
     */
    @JvmName("xsumbtapwgbeqnvl")
    public suspend fun nonAdditive(`value`: Output) {
        this.nonAdditive = value
    }

    /**
     * @param value The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("bcoqfcbosvrdxfsh")
    public suspend fun notAllowedAggregations(`value`: Output>) {
        this.notAllowedAggregations = value
    }

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

    /**
     * @param values The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("iwybwaipmxbejavj")
    public suspend fun notAllowedAggregations(values: List>) {
        this.notAllowedAggregations = Output.all(values)
    }

    /**
     * @param value The semantic type.
     */
    @JvmName("ruxuljwbxaipxysa")
    public suspend fun semanticType(`value`: Output) {
        this.semanticType = value
    }

    /**
     * @param value The level of time precision that is used to aggregate `DateTime` values.
     */
    @JvmName("pteskwqbfsnlbmjv")
    public suspend fun timeGranularity(`value`: Output) {
        this.timeGranularity = value
    }

    /**
     * @param value The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .
     */
    @JvmName("hfjpileboecdkmuu")
    public suspend fun aggregation(`value`: TopicDefaultAggregation?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.aggregation = mapped
    }

    /**
     * @param value The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("mafpengtgbnyoykl")
    public suspend fun allowedAggregations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowedAggregations = mapped
    }

    /**
     * @param values The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("ulnjipfnmlrvpmfi")
    public suspend fun allowedAggregations(vararg values: TopicAuthorSpecifiedAggregation) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedAggregations = mapped
    }

    /**
     * @param value The calculated field description.
     */
    @JvmName("ckdfjjklehavowho")
    public suspend fun calculatedFieldDescription(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.calculatedFieldDescription = mapped
    }

    /**
     * @param value The calculated field name.
     */
    @JvmName("urfeqceektnanqut")
    public suspend fun calculatedFieldName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.calculatedFieldName = mapped
    }

    /**
     * @param value The other names or aliases for the calculated field.
     */
    @JvmName("dreivhvensepenef")
    public suspend fun calculatedFieldSynonyms(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.calculatedFieldSynonyms = mapped
    }

    /**
     * @param values The other names or aliases for the calculated field.
     */
    @JvmName("autexgqfvuggguaq")
    public suspend fun calculatedFieldSynonyms(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.calculatedFieldSynonyms = mapped
    }

    /**
     * @param value The other names or aliases for the calculated field cell value.
     */
    @JvmName("gnipxurbdfyahtls")
    public suspend fun cellValueSynonyms(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cellValueSynonyms = mapped
    }

    /**
     * @param argument The other names or aliases for the calculated field cell value.
     */
    @JvmName("ieapbuoiwhchbhea")
    public suspend fun cellValueSynonyms(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TopicCellValueSynonymArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.cellValueSynonyms = mapped
    }

    /**
     * @param argument The other names or aliases for the calculated field cell value.
     */
    @JvmName("dpxncgnhhacgukop")
    public suspend fun cellValueSynonyms(vararg argument: suspend TopicCellValueSynonymArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TopicCellValueSynonymArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.cellValueSynonyms = mapped
    }

    /**
     * @param argument The other names or aliases for the calculated field cell value.
     */
    @JvmName("yarwkfuyluwunyfe")
    public suspend fun cellValueSynonyms(argument: suspend TopicCellValueSynonymArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TopicCellValueSynonymArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.cellValueSynonyms = mapped
    }

    /**
     * @param values The other names or aliases for the calculated field cell value.
     */
    @JvmName("gtdyjmjmjcfwavwn")
    public suspend fun cellValueSynonyms(vararg values: TopicCellValueSynonymArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cellValueSynonyms = mapped
    }

    /**
     * @param value The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .
     */
    @JvmName("ecqvcybtkgeneibw")
    public suspend fun columnDataRole(`value`: TopicColumnDataRole?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.columnDataRole = mapped
    }

    /**
     * @param value The order in which data is displayed for the calculated field when it's used in a comparative context.
     */
    @JvmName("pthejivmomjswpik")
    public suspend fun comparativeOrder(`value`: TopicComparativeOrderArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.comparativeOrder = mapped
    }

    /**
     * @param argument The order in which data is displayed for the calculated field when it's used in a comparative context.
     */
    @JvmName("ftpyeovrpntdliln")
    public suspend fun comparativeOrder(argument: suspend TopicComparativeOrderArgsBuilder.() -> Unit) {
        val toBeMapped = TopicComparativeOrderArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.comparativeOrder = mapped
    }

    /**
     * @param value The default formatting definition.
     */
    @JvmName("xsbqopsuhnorenta")
    public suspend fun defaultFormatting(`value`: TopicDefaultFormattingArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultFormatting = mapped
    }

    /**
     * @param argument The default formatting definition.
     */
    @JvmName("myqpqebcqnonmalo")
    public suspend fun defaultFormatting(argument: suspend TopicDefaultFormattingArgsBuilder.() -> Unit) {
        val toBeMapped = TopicDefaultFormattingArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.defaultFormatting = mapped
    }

    /**
     * @param value A Boolean value that indicates if a calculated field is visible in the autocomplete.
     */
    @JvmName("bxmwhummnoaclliw")
    public suspend fun disableIndexing(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableIndexing = mapped
    }

    /**
     * @param value The calculated field expression.
     */
    @JvmName("vunfxewkqqtxyueh")
    public suspend fun expression(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.expression = mapped
    }

    /**
     * @param value A boolean value that indicates if a calculated field is included in the topic.
     */
    @JvmName("xmebwxcfhrggxauq")
    public suspend fun isIncludedInTopic(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isIncludedInTopic = mapped
    }

    /**
     * @param value A Boolean value that indicates whether to never aggregate calculated field in filters.
     */
    @JvmName("fjyvfugpghfmpmww")
    public suspend fun neverAggregateInFilter(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.neverAggregateInFilter = mapped
    }

    /**
     * @param value The non additive for the table style target.
     */
    @JvmName("ijyvnanbhfhhapts")
    public suspend fun nonAdditive(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nonAdditive = mapped
    }

    /**
     * @param value The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("pfilgtgxbmkinpci")
    public suspend fun notAllowedAggregations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.notAllowedAggregations = mapped
    }

    /**
     * @param values The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .
     */
    @JvmName("eyrrjdhnlvfshvgb")
    public suspend fun notAllowedAggregations(vararg values: TopicAuthorSpecifiedAggregation) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.notAllowedAggregations = mapped
    }

    /**
     * @param value The semantic type.
     */
    @JvmName("ouihlmvtukiobiej")
    public suspend fun semanticType(`value`: TopicSemanticTypeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.semanticType = mapped
    }

    /**
     * @param argument The semantic type.
     */
    @JvmName("rrqncnljslaqlcwn")
    public suspend fun semanticType(argument: suspend TopicSemanticTypeArgsBuilder.() -> Unit) {
        val toBeMapped = TopicSemanticTypeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.semanticType = mapped
    }

    /**
     * @param value The level of time precision that is used to aggregate `DateTime` values.
     */
    @JvmName("bujkygdsseuaviin")
    public suspend fun timeGranularity(`value`: TopicTimeGranularity?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeGranularity = mapped
    }

    internal fun build(): TopicCalculatedFieldArgs = TopicCalculatedFieldArgs(
        aggregation = aggregation,
        allowedAggregations = allowedAggregations,
        calculatedFieldDescription = calculatedFieldDescription,
        calculatedFieldName = calculatedFieldName ?: throw PulumiNullFieldException("calculatedFieldName"),
        calculatedFieldSynonyms = calculatedFieldSynonyms,
        cellValueSynonyms = cellValueSynonyms,
        columnDataRole = columnDataRole,
        comparativeOrder = comparativeOrder,
        defaultFormatting = defaultFormatting,
        disableIndexing = disableIndexing,
        expression = expression ?: throw PulumiNullFieldException("expression"),
        isIncludedInTopic = isIncludedInTopic,
        neverAggregateInFilter = neverAggregateInFilter,
        nonAdditive = nonAdditive,
        notAllowedAggregations = notAllowedAggregations,
        semanticType = semanticType,
        timeGranularity = timeGranularity,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy