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

cloudshift.awscdk.dsl.services.quicksight.CfnDashboardHeatMapSortConfigurationPropertyDsl.kt Maven / Gradle / Ivy

There is a newer version: 0.7.0
Show newest version
@file:Suppress("RedundantVisibilityModifier", "RedundantUnitReturnType", "RemoveRedundantQualifierName", "unused", "UnusedImport", "ClassName", "REDUNDANT_PROJECTION", "DEPRECATION")

package cloudshift.awscdk.dsl.services.quicksight

import cloudshift.awscdk.common.CdkDslMarker
import software.amazon.awscdk.IResolvable
import software.amazon.awscdk.services.quicksight.CfnDashboard
import kotlin.Any
import kotlin.collections.Collection
import kotlin.collections.MutableList

/**
 * The sort configuration of a heat map.
 *
 * Example:
 *
 * ```
 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.quicksight.*;
 * HeatMapSortConfigurationProperty heatMapSortConfigurationProperty =
 * HeatMapSortConfigurationProperty.builder()
 * .heatMapColumnItemsLimitConfiguration(ItemsLimitConfigurationProperty.builder()
 * .itemsLimit(123)
 * .otherCategories("otherCategories")
 * .build())
 * .heatMapColumnSort(List.of(FieldSortOptionsProperty.builder()
 * .columnSort(ColumnSortProperty.builder()
 * .direction("direction")
 * .sortBy(ColumnIdentifierProperty.builder()
 * .columnName("columnName")
 * .dataSetIdentifier("dataSetIdentifier")
 * .build())
 * // the properties below are optional
 * .aggregationFunction(AggregationFunctionProperty.builder()
 * .categoricalAggregationFunction("categoricalAggregationFunction")
 * .dateAggregationFunction("dateAggregationFunction")
 * .numericalAggregationFunction(NumericalAggregationFunctionProperty.builder()
 * .percentileAggregation(PercentileAggregationProperty.builder()
 * .percentileValue(123)
 * .build())
 * .simpleNumericalAggregation("simpleNumericalAggregation")
 * .build())
 * .build())
 * .build())
 * .fieldSort(FieldSortProperty.builder()
 * .direction("direction")
 * .fieldId("fieldId")
 * .build())
 * .build()))
 * .heatMapRowItemsLimitConfiguration(ItemsLimitConfigurationProperty.builder()
 * .itemsLimit(123)
 * .otherCategories("otherCategories")
 * .build())
 * .heatMapRowSort(List.of(FieldSortOptionsProperty.builder()
 * .columnSort(ColumnSortProperty.builder()
 * .direction("direction")
 * .sortBy(ColumnIdentifierProperty.builder()
 * .columnName("columnName")
 * .dataSetIdentifier("dataSetIdentifier")
 * .build())
 * // the properties below are optional
 * .aggregationFunction(AggregationFunctionProperty.builder()
 * .categoricalAggregationFunction("categoricalAggregationFunction")
 * .dateAggregationFunction("dateAggregationFunction")
 * .numericalAggregationFunction(NumericalAggregationFunctionProperty.builder()
 * .percentileAggregation(PercentileAggregationProperty.builder()
 * .percentileValue(123)
 * .build())
 * .simpleNumericalAggregation("simpleNumericalAggregation")
 * .build())
 * .build())
 * .build())
 * .fieldSort(FieldSortProperty.builder()
 * .direction("direction")
 * .fieldId("fieldId")
 * .build())
 * .build()))
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-heatmapsortconfiguration.html)
 */
@CdkDslMarker
public class CfnDashboardHeatMapSortConfigurationPropertyDsl {
    private val cdkBuilder: CfnDashboard.HeatMapSortConfigurationProperty.Builder =
        CfnDashboard.HeatMapSortConfigurationProperty.builder()

    private val _heatMapColumnSort: MutableList = mutableListOf()

    private val _heatMapRowSort: MutableList = mutableListOf()

    /**
     * @param heatMapColumnItemsLimitConfiguration The limit on the number of columns that are
     * displayed in a heat map.
     */
    public fun heatMapColumnItemsLimitConfiguration(heatMapColumnItemsLimitConfiguration: IResolvable) {
        cdkBuilder.heatMapColumnItemsLimitConfiguration(heatMapColumnItemsLimitConfiguration)
    }

    /**
     * @param heatMapColumnItemsLimitConfiguration The limit on the number of columns that are
     * displayed in a heat map.
     */
    public fun heatMapColumnItemsLimitConfiguration(heatMapColumnItemsLimitConfiguration: CfnDashboard.ItemsLimitConfigurationProperty) {
        cdkBuilder.heatMapColumnItemsLimitConfiguration(heatMapColumnItemsLimitConfiguration)
    }

    /**
     * @param heatMapColumnSort The column sort configuration for heat map for columns that aren't a
     * part of a field well.
     */
    public fun heatMapColumnSort(vararg heatMapColumnSort: Any) {
        _heatMapColumnSort.addAll(listOf(*heatMapColumnSort))
    }

    /**
     * @param heatMapColumnSort The column sort configuration for heat map for columns that aren't a
     * part of a field well.
     */
    public fun heatMapColumnSort(heatMapColumnSort: Collection) {
        _heatMapColumnSort.addAll(heatMapColumnSort)
    }

    /**
     * @param heatMapColumnSort The column sort configuration for heat map for columns that aren't a
     * part of a field well.
     */
    public fun heatMapColumnSort(heatMapColumnSort: IResolvable) {
        cdkBuilder.heatMapColumnSort(heatMapColumnSort)
    }

    /**
     * @param heatMapRowItemsLimitConfiguration The limit on the number of rows that are displayed in
     * a heat map.
     */
    public fun heatMapRowItemsLimitConfiguration(heatMapRowItemsLimitConfiguration: IResolvable) {
        cdkBuilder.heatMapRowItemsLimitConfiguration(heatMapRowItemsLimitConfiguration)
    }

    /**
     * @param heatMapRowItemsLimitConfiguration The limit on the number of rows that are displayed in
     * a heat map.
     */
    public fun heatMapRowItemsLimitConfiguration(heatMapRowItemsLimitConfiguration: CfnDashboard.ItemsLimitConfigurationProperty) {
        cdkBuilder.heatMapRowItemsLimitConfiguration(heatMapRowItemsLimitConfiguration)
    }

    /**
     * @param heatMapRowSort The field sort configuration of the rows fields.
     */
    public fun heatMapRowSort(vararg heatMapRowSort: Any) {
        _heatMapRowSort.addAll(listOf(*heatMapRowSort))
    }

    /**
     * @param heatMapRowSort The field sort configuration of the rows fields.
     */
    public fun heatMapRowSort(heatMapRowSort: Collection) {
        _heatMapRowSort.addAll(heatMapRowSort)
    }

    /**
     * @param heatMapRowSort The field sort configuration of the rows fields.
     */
    public fun heatMapRowSort(heatMapRowSort: IResolvable) {
        cdkBuilder.heatMapRowSort(heatMapRowSort)
    }

    public fun build(): CfnDashboard.HeatMapSortConfigurationProperty {
        if (_heatMapColumnSort.isNotEmpty()) cdkBuilder.heatMapColumnSort(_heatMapColumnSort)
        if (_heatMapRowSort.isNotEmpty()) cdkBuilder.heatMapRowSort(_heatMapRowSort)
        return cdkBuilder.build()
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy