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

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

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

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

import com.pulumi.awsnative.quicksight.inputs.TemplateSheetDefinitionArgs.builder
import com.pulumi.awsnative.quicksight.kotlin.enums.TemplateSheetContentType
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property contentType The layout content type of the sheet. Choose one of the following options:
 * - `PAGINATED` : Creates a sheet for a paginated report.
 * - `INTERACTIVE` : Creates a sheet for an interactive dashboard.
 * @property description A description of the sheet.
 * @property filterControls The list of filter controls that are on a sheet.
 * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
 * @property layouts Layouts define how the components of a sheet are arranged.
 * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
 * @property name The name of the sheet. This name is displayed on the sheet's tab in the Amazon QuickSight console.
 * @property parameterControls The list of parameter controls that are on a sheet.
 * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
 * @property sheetControlLayouts The control layouts of the sheet.
 * @property sheetId The unique identifier of a sheet.
 * @property textBoxes The text boxes that are on a sheet.
 * @property title The title of the sheet.
 * @property visuals A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
 */
public data class TemplateSheetDefinitionArgs(
    public val contentType: Output? = null,
    public val description: Output? = null,
    public val filterControls: Output>? = null,
    public val layouts: Output>? = null,
    public val name: Output? = null,
    public val parameterControls: Output>? = null,
    public val sheetControlLayouts: Output>? = null,
    public val sheetId: Output,
    public val textBoxes: Output>? = null,
    public val title: Output? = null,
    public val visuals: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.quicksight.inputs.TemplateSheetDefinitionArgs =
        com.pulumi.awsnative.quicksight.inputs.TemplateSheetDefinitionArgs.builder()
            .contentType(contentType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .filterControls(
                filterControls?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .layouts(
                layouts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .name(name?.applyValue({ args0 -> args0 }))
            .parameterControls(
                parameterControls?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .sheetControlLayouts(
                sheetControlLayouts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .sheetId(sheetId.applyValue({ args0 -> args0 }))
            .textBoxes(
                textBoxes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .title(title?.applyValue({ args0 -> args0 }))
            .visuals(
                visuals?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [TemplateSheetDefinitionArgs].
 */
@PulumiTagMarker
public class TemplateSheetDefinitionArgsBuilder internal constructor() {
    private var contentType: Output? = null

    private var description: Output? = null

    private var filterControls: Output>? = null

    private var layouts: Output>? = null

    private var name: Output? = null

    private var parameterControls: Output>? = null

    private var sheetControlLayouts: Output>? = null

    private var sheetId: Output? = null

    private var textBoxes: Output>? = null

    private var title: Output? = null

    private var visuals: Output>? = null

    /**
     * @param value The layout content type of the sheet. Choose one of the following options:
     * - `PAGINATED` : Creates a sheet for a paginated report.
     * - `INTERACTIVE` : Creates a sheet for an interactive dashboard.
     */
    @JvmName("prhrdvoosuynksox")
    public suspend fun contentType(`value`: Output) {
        this.contentType = value
    }

    /**
     * @param value A description of the sheet.
     */
    @JvmName("qkcxnkbhyyaemmmy")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("kcxswwlqlrpdpyna")
    public suspend fun filterControls(`value`: Output>) {
        this.filterControls = value
    }

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

    /**
     * @param values The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("byypiqobngjbtwgy")
    public suspend fun filterControls(values: List>) {
        this.filterControls = Output.all(values)
    }

    /**
     * @param value Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("oikfvfeupbfmyujq")
    public suspend fun layouts(`value`: Output>) {
        this.layouts = value
    }

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

    /**
     * @param values Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("ugcdpbhpetfkwxhk")
    public suspend fun layouts(values: List>) {
        this.layouts = Output.all(values)
    }

    /**
     * @param value The name of the sheet. This name is displayed on the sheet's tab in the Amazon QuickSight console.
     */
    @JvmName("llyqdmdflqygjler")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("jfwmagcbifapsona")
    public suspend fun parameterControls(`value`: Output>) {
        this.parameterControls = value
    }

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

    /**
     * @param values The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("viquhcrknsspjsgr")
    public suspend fun parameterControls(values: List>) {
        this.parameterControls = Output.all(values)
    }

    /**
     * @param value The control layouts of the sheet.
     */
    @JvmName("qjlplltsrvpcgpox")
    public suspend fun sheetControlLayouts(`value`: Output>) {
        this.sheetControlLayouts = value
    }

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

    /**
     * @param values The control layouts of the sheet.
     */
    @JvmName("ybctsxuugyyvhbhk")
    public suspend fun sheetControlLayouts(values: List>) {
        this.sheetControlLayouts = Output.all(values)
    }

    /**
     * @param value The unique identifier of a sheet.
     */
    @JvmName("vnbhdtresloohoet")
    public suspend fun sheetId(`value`: Output) {
        this.sheetId = value
    }

    /**
     * @param value The text boxes that are on a sheet.
     */
    @JvmName("pfygwnytfafvpenr")
    public suspend fun textBoxes(`value`: Output>) {
        this.textBoxes = value
    }

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

    /**
     * @param values The text boxes that are on a sheet.
     */
    @JvmName("dddvrfevjonldhaq")
    public suspend fun textBoxes(values: List>) {
        this.textBoxes = Output.all(values)
    }

    /**
     * @param value The title of the sheet.
     */
    @JvmName("ryroeetjpqptcdeh")
    public suspend fun title(`value`: Output) {
        this.title = value
    }

    /**
     * @param value A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("kghdrmqrfcxywixb")
    public suspend fun visuals(`value`: Output>) {
        this.visuals = value
    }

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

    /**
     * @param values A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("gbaiwtswaxlsibii")
    public suspend fun visuals(values: List>) {
        this.visuals = Output.all(values)
    }

    /**
     * @param value The layout content type of the sheet. Choose one of the following options:
     * - `PAGINATED` : Creates a sheet for a paginated report.
     * - `INTERACTIVE` : Creates a sheet for an interactive dashboard.
     */
    @JvmName("janxonhnabhbuoxd")
    public suspend fun contentType(`value`: TemplateSheetContentType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contentType = mapped
    }

    /**
     * @param value A description of the sheet.
     */
    @JvmName("svoytiduhhmcfmgu")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("vnjcdarnssleydfq")
    public suspend fun filterControls(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.filterControls = mapped
    }

    /**
     * @param argument The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("nqxilevmxrltjlxu")
    public suspend fun filterControls(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateFilterControlArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.filterControls = mapped
    }

    /**
     * @param argument The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("oeclqragsxiqidya")
    public suspend fun filterControls(vararg argument: suspend TemplateFilterControlArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateFilterControlArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.filterControls = mapped
    }

    /**
     * @param argument The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("jdjhljroxuijmpvk")
    public suspend fun filterControls(argument: suspend TemplateFilterControlArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TemplateFilterControlArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.filterControls = mapped
    }

    /**
     * @param values The list of filter controls that are on a sheet.
     * For more information, see [Adding filter controls to analysis sheets](https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("dmcanlsssnamvjhw")
    public suspend fun filterControls(vararg values: TemplateFilterControlArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.filterControls = mapped
    }

    /**
     * @param value Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("rwvtgkipnbwhwoms")
    public suspend fun layouts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.layouts = mapped
    }

    /**
     * @param argument Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("ubiyopyvvroujjga")
    public suspend fun layouts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateLayoutArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.layouts = mapped
    }

    /**
     * @param argument Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("ghhwrfskhgsvabje")
    public suspend fun layouts(vararg argument: suspend TemplateLayoutArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateLayoutArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.layouts = mapped
    }

    /**
     * @param argument Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("cgpfhgblnvwkctwf")
    public suspend fun layouts(argument: suspend TemplateLayoutArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TemplateLayoutArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.layouts = mapped
    }

    /**
     * @param values Layouts define how the components of a sheet are arranged.
     * For more information, see [Types of layout](https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("dabhnubfnuovsfdl")
    public suspend fun layouts(vararg values: TemplateLayoutArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.layouts = mapped
    }

    /**
     * @param value The name of the sheet. This name is displayed on the sheet's tab in the Amazon QuickSight console.
     */
    @JvmName("geefctbanucdjmpq")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("caejmsbbljsdvnbf")
    public suspend fun parameterControls(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parameterControls = mapped
    }

    /**
     * @param argument The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("apvkxkttykvanhdf")
    public suspend fun parameterControls(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateParameterControlArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterControls = mapped
    }

    /**
     * @param argument The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("oxbjrqpnxalmmdah")
    public suspend fun parameterControls(vararg argument: suspend TemplateParameterControlArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateParameterControlArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterControls = mapped
    }

    /**
     * @param argument The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("umaewmudnfvbnfhu")
    public suspend fun parameterControls(argument: suspend TemplateParameterControlArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            TemplateParameterControlArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.parameterControls = mapped
    }

    /**
     * @param values The list of parameter controls that are on a sheet.
     * For more information, see [Using a Control with a Parameter in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html) in the *Amazon QuickSight User Guide* .
     */
    @JvmName("ddiaometvrxdhrbh")
    public suspend fun parameterControls(vararg values: TemplateParameterControlArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameterControls = mapped
    }

    /**
     * @param value The control layouts of the sheet.
     */
    @JvmName("rlyujximaqnopjuh")
    public suspend fun sheetControlLayouts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sheetControlLayouts = mapped
    }

    /**
     * @param argument The control layouts of the sheet.
     */
    @JvmName("qlygborqtavvhaqt")
    public suspend fun sheetControlLayouts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateSheetControlLayoutArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.sheetControlLayouts = mapped
    }

    /**
     * @param argument The control layouts of the sheet.
     */
    @JvmName("olmiupoygdlpprah")
    public suspend fun sheetControlLayouts(vararg argument: suspend TemplateSheetControlLayoutArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateSheetControlLayoutArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.sheetControlLayouts = mapped
    }

    /**
     * @param argument The control layouts of the sheet.
     */
    @JvmName("odoqhtwaimujhwvu")
    public suspend fun sheetControlLayouts(argument: suspend TemplateSheetControlLayoutArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            TemplateSheetControlLayoutArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.sheetControlLayouts = mapped
    }

    /**
     * @param values The control layouts of the sheet.
     */
    @JvmName("wosphycbtaqwvbog")
    public suspend fun sheetControlLayouts(vararg values: TemplateSheetControlLayoutArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sheetControlLayouts = mapped
    }

    /**
     * @param value The unique identifier of a sheet.
     */
    @JvmName("ofioxxmubghuicxy")
    public suspend fun sheetId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sheetId = mapped
    }

    /**
     * @param value The text boxes that are on a sheet.
     */
    @JvmName("esuloesmacoenfnc")
    public suspend fun textBoxes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.textBoxes = mapped
    }

    /**
     * @param argument The text boxes that are on a sheet.
     */
    @JvmName("xhtneelrelrsgkdx")
    public suspend fun textBoxes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateSheetTextBoxArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.textBoxes = mapped
    }

    /**
     * @param argument The text boxes that are on a sheet.
     */
    @JvmName("thckkphvybmkejwx")
    public suspend fun textBoxes(vararg argument: suspend TemplateSheetTextBoxArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateSheetTextBoxArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.textBoxes = mapped
    }

    /**
     * @param argument The text boxes that are on a sheet.
     */
    @JvmName("rqkeevdcubxuatcg")
    public suspend fun textBoxes(argument: suspend TemplateSheetTextBoxArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TemplateSheetTextBoxArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.textBoxes = mapped
    }

    /**
     * @param values The text boxes that are on a sheet.
     */
    @JvmName("uynuwsletqhnidij")
    public suspend fun textBoxes(vararg values: TemplateSheetTextBoxArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.textBoxes = mapped
    }

    /**
     * @param value The title of the sheet.
     */
    @JvmName("qlgbolysxelnnkxq")
    public suspend fun title(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.title = mapped
    }

    /**
     * @param value A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("pbftcrjwiltehxqr")
    public suspend fun visuals(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.visuals = mapped
    }

    /**
     * @param argument A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("bavtriomypfvgbkw")
    public suspend fun visuals(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TemplateVisualArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.visuals = mapped
    }

    /**
     * @param argument A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("eyakuervsnfstuwt")
    public suspend fun visuals(vararg argument: suspend TemplateVisualArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TemplateVisualArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.visuals = mapped
    }

    /**
     * @param argument A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("pnricfmawqtaqjva")
    public suspend fun visuals(argument: suspend TemplateVisualArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TemplateVisualArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.visuals = mapped
    }

    /**
     * @param values A list of the visuals that are on a sheet. Visual placement is determined by the layout of the sheet.
     */
    @JvmName("kdpsvbtvbsnafjtm")
    public suspend fun visuals(vararg values: TemplateVisualArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.visuals = mapped
    }

    internal fun build(): TemplateSheetDefinitionArgs = TemplateSheetDefinitionArgs(
        contentType = contentType,
        description = description,
        filterControls = filterControls,
        layouts = layouts,
        name = name,
        parameterControls = parameterControls,
        sheetControlLayouts = sheetControlLayouts,
        sheetId = sheetId ?: throw PulumiNullFieldException("sheetId"),
        textBoxes = textBoxes,
        title = title,
        visuals = visuals,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy