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

cloudshift.awscdk.dsl.services.quicksight.CfnDashboardFreeFormLayoutElementPropertyDsl.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.String
import kotlin.collections.Collection
import kotlin.collections.MutableList

/**
 * An element within a free-form layout.
 *
 * 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.*;
 * FreeFormLayoutElementProperty freeFormLayoutElementProperty =
 * FreeFormLayoutElementProperty.builder()
 * .elementId("elementId")
 * .elementType("elementType")
 * .height("height")
 * .width("width")
 * .xAxisLocation("xAxisLocation")
 * .yAxisLocation("yAxisLocation")
 * // the properties below are optional
 * .backgroundStyle(FreeFormLayoutElementBackgroundStyleProperty.builder()
 * .color("color")
 * .visibility("visibility")
 * .build())
 * .borderStyle(FreeFormLayoutElementBorderStyleProperty.builder()
 * .color("color")
 * .visibility("visibility")
 * .build())
 * .loadingAnimation(LoadingAnimationProperty.builder()
 * .visibility("visibility")
 * .build())
 * .renderingRules(List.of(SheetElementRenderingRuleProperty.builder()
 * .configurationOverrides(SheetElementConfigurationOverridesProperty.builder()
 * .visibility("visibility")
 * .build())
 * .expression("expression")
 * .build()))
 * .selectedBorderStyle(FreeFormLayoutElementBorderStyleProperty.builder()
 * .color("color")
 * .visibility("visibility")
 * .build())
 * .visibility("visibility")
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-freeformlayoutelement.html)
 */
@CdkDslMarker
public class CfnDashboardFreeFormLayoutElementPropertyDsl {
    private val cdkBuilder: CfnDashboard.FreeFormLayoutElementProperty.Builder =
        CfnDashboard.FreeFormLayoutElementProperty.builder()

    private val _renderingRules: MutableList = mutableListOf()

    /**
     * @param backgroundStyle The background style configuration of a free-form layout element.
     */
    public fun backgroundStyle(backgroundStyle: IResolvable) {
        cdkBuilder.backgroundStyle(backgroundStyle)
    }

    /**
     * @param backgroundStyle The background style configuration of a free-form layout element.
     */
    public fun backgroundStyle(backgroundStyle: CfnDashboard.FreeFormLayoutElementBackgroundStyleProperty) {
        cdkBuilder.backgroundStyle(backgroundStyle)
    }

    /**
     * @param borderStyle The border style configuration of a free-form layout element.
     */
    public fun borderStyle(borderStyle: IResolvable) {
        cdkBuilder.borderStyle(borderStyle)
    }

    /**
     * @param borderStyle The border style configuration of a free-form layout element.
     */
    public fun borderStyle(borderStyle: CfnDashboard.FreeFormLayoutElementBorderStyleProperty) {
        cdkBuilder.borderStyle(borderStyle)
    }

    /**
     * @param elementId A unique identifier for an element within a free-form layout.
     */
    public fun elementId(elementId: String) {
        cdkBuilder.elementId(elementId)
    }

    /**
     * @param elementType The type of element.
     */
    public fun elementType(elementType: String) {
        cdkBuilder.elementType(elementType)
    }

    /**
     * @param height The height of an element within a free-form layout.
     */
    public fun height(height: String) {
        cdkBuilder.height(height)
    }

    /**
     * @param loadingAnimation The loading animation configuration of a free-form layout element.
     */
    public fun loadingAnimation(loadingAnimation: IResolvable) {
        cdkBuilder.loadingAnimation(loadingAnimation)
    }

    /**
     * @param loadingAnimation The loading animation configuration of a free-form layout element.
     */
    public fun loadingAnimation(loadingAnimation: CfnDashboard.LoadingAnimationProperty) {
        cdkBuilder.loadingAnimation(loadingAnimation)
    }

    /**
     * @param renderingRules The rendering rules that determine when an element should be displayed
     * within a free-form layout.
     */
    public fun renderingRules(vararg renderingRules: Any) {
        _renderingRules.addAll(listOf(*renderingRules))
    }

    /**
     * @param renderingRules The rendering rules that determine when an element should be displayed
     * within a free-form layout.
     */
    public fun renderingRules(renderingRules: Collection) {
        _renderingRules.addAll(renderingRules)
    }

    /**
     * @param renderingRules The rendering rules that determine when an element should be displayed
     * within a free-form layout.
     */
    public fun renderingRules(renderingRules: IResolvable) {
        cdkBuilder.renderingRules(renderingRules)
    }

    /**
     * @param selectedBorderStyle The border style configuration of a free-form layout element.
     * This border style is used when the element is selected.
     */
    public fun selectedBorderStyle(selectedBorderStyle: IResolvable) {
        cdkBuilder.selectedBorderStyle(selectedBorderStyle)
    }

    /**
     * @param selectedBorderStyle The border style configuration of a free-form layout element.
     * This border style is used when the element is selected.
     */
    public fun selectedBorderStyle(selectedBorderStyle: CfnDashboard.FreeFormLayoutElementBorderStyleProperty) {
        cdkBuilder.selectedBorderStyle(selectedBorderStyle)
    }

    /**
     * @param visibility The visibility of an element within a free-form layout.
     */
    public fun visibility(visibility: String) {
        cdkBuilder.visibility(visibility)
    }

    /**
     * @param width The width of an element within a free-form layout.
     */
    public fun width(width: String) {
        cdkBuilder.width(width)
    }

    /**
     * @param xAxisLocation The x-axis coordinate of the element.
     */
    public fun xAxisLocation(xAxisLocation: String) {
        cdkBuilder.xAxisLocation(xAxisLocation)
    }

    /**
     * @param yAxisLocation The y-axis coordinate of the element.
     */
    public fun yAxisLocation(yAxisLocation: String) {
        cdkBuilder.yAxisLocation(yAxisLocation)
    }

    public fun build(): CfnDashboard.FreeFormLayoutElementProperty {
        if (_renderingRules.isNotEmpty()) cdkBuilder.renderingRules(_renderingRules)
        return cdkBuilder.build()
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy