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

com.pulumi.azure.containerapp.kotlin.inputs.AppTemplateArgs.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerapp.kotlin.inputs

import com.pulumi.azure.containerapp.inputs.AppTemplateArgs.builder
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property azureQueueScaleRules One or more `azure_queue_scale_rule` blocks as defined below.
 * @property containers One or more `container` blocks as detailed below.
 * @property customScaleRules One or more `custom_scale_rule` blocks as defined below.
 * @property httpScaleRules One or more `http_scale_rule` blocks as defined below.
 * @property initContainers The definition of an init container that is part of the group as documented in the `init_container` block below.
 * @property maxReplicas The maximum number of replicas for this container.
 * @property minReplicas The minimum number of replicas for this container.
 * @property revisionSuffix The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one.
 * @property tcpScaleRules One or more `tcp_scale_rule` blocks as defined below.
 * @property volumes A `volume` block as detailed below.
 */
public data class AppTemplateArgs(
    public val azureQueueScaleRules: Output>? = null,
    public val containers: Output>,
    public val customScaleRules: Output>? = null,
    public val httpScaleRules: Output>? = null,
    public val initContainers: Output>? = null,
    public val maxReplicas: Output? = null,
    public val minReplicas: Output? = null,
    public val revisionSuffix: Output? = null,
    public val tcpScaleRules: Output>? = null,
    public val volumes: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.containerapp.inputs.AppTemplateArgs =
        com.pulumi.azure.containerapp.inputs.AppTemplateArgs.builder()
            .azureQueueScaleRules(
                azureQueueScaleRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .containers(
                containers.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .customScaleRules(
                customScaleRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .httpScaleRules(
                httpScaleRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .initContainers(
                initContainers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .maxReplicas(maxReplicas?.applyValue({ args0 -> args0 }))
            .minReplicas(minReplicas?.applyValue({ args0 -> args0 }))
            .revisionSuffix(revisionSuffix?.applyValue({ args0 -> args0 }))
            .tcpScaleRules(
                tcpScaleRules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .volumes(
                volumes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [AppTemplateArgs].
 */
@PulumiTagMarker
public class AppTemplateArgsBuilder internal constructor() {
    private var azureQueueScaleRules: Output>? = null

    private var containers: Output>? = null

    private var customScaleRules: Output>? = null

    private var httpScaleRules: Output>? = null

    private var initContainers: Output>? = null

    private var maxReplicas: Output? = null

    private var minReplicas: Output? = null

    private var revisionSuffix: Output? = null

    private var tcpScaleRules: Output>? = null

    private var volumes: Output>? = null

    /**
     * @param value One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("ivwottbvnicphptk")
    public suspend
    fun azureQueueScaleRules(`value`: Output>) {
        this.azureQueueScaleRules = value
    }

    @JvmName("tutykhfphvwsgpvx")
    public suspend fun azureQueueScaleRules(
        vararg
        values: Output,
    ) {
        this.azureQueueScaleRules = Output.all(values.asList())
    }

    /**
     * @param values One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("oqpymkgtdlnpkcas")
    public suspend
    fun azureQueueScaleRules(values: List>) {
        this.azureQueueScaleRules = Output.all(values)
    }

    /**
     * @param value One or more `container` blocks as detailed below.
     */
    @JvmName("ldupnwuwdymdanof")
    public suspend fun containers(`value`: Output>) {
        this.containers = value
    }

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

    /**
     * @param values One or more `container` blocks as detailed below.
     */
    @JvmName("ppqbnucoyyiavflg")
    public suspend fun containers(values: List>) {
        this.containers = Output.all(values)
    }

    /**
     * @param value One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("gxnrflvtoarrphav")
    public suspend fun customScaleRules(`value`: Output>) {
        this.customScaleRules = value
    }

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

    /**
     * @param values One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("xrdpdfcydjrodvhh")
    public suspend fun customScaleRules(values: List>) {
        this.customScaleRules = Output.all(values)
    }

    /**
     * @param value One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("eojemvnjmexginlm")
    public suspend fun httpScaleRules(`value`: Output>) {
        this.httpScaleRules = value
    }

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

    /**
     * @param values One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("xfhtwunpqmarrxye")
    public suspend fun httpScaleRules(values: List>) {
        this.httpScaleRules = Output.all(values)
    }

    /**
     * @param value The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("tkkeaoompelxnyha")
    public suspend fun initContainers(`value`: Output>) {
        this.initContainers = value
    }

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

    /**
     * @param values The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("rxqcrtwdekywopab")
    public suspend fun initContainers(values: List>) {
        this.initContainers = Output.all(values)
    }

    /**
     * @param value The maximum number of replicas for this container.
     */
    @JvmName("jmdcmxeqbthokgbs")
    public suspend fun maxReplicas(`value`: Output) {
        this.maxReplicas = value
    }

    /**
     * @param value The minimum number of replicas for this container.
     */
    @JvmName("sngkuydcyfrinqer")
    public suspend fun minReplicas(`value`: Output) {
        this.minReplicas = value
    }

    /**
     * @param value The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one.
     */
    @JvmName("haicqhaoghqpoohv")
    public suspend fun revisionSuffix(`value`: Output) {
        this.revisionSuffix = value
    }

    /**
     * @param value One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("bssncjtntgksfiye")
    public suspend fun tcpScaleRules(`value`: Output>) {
        this.tcpScaleRules = value
    }

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

    /**
     * @param values One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("hdqtdtcgjmayrssf")
    public suspend fun tcpScaleRules(values: List>) {
        this.tcpScaleRules = Output.all(values)
    }

    /**
     * @param value A `volume` block as detailed below.
     */
    @JvmName("ekxqjkxelrikuecs")
    public suspend fun volumes(`value`: Output>) {
        this.volumes = value
    }

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

    /**
     * @param values A `volume` block as detailed below.
     */
    @JvmName("ruuuwxgcqjqrirma")
    public suspend fun volumes(values: List>) {
        this.volumes = Output.all(values)
    }

    /**
     * @param value One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("rrxdbabtwjdxrimp")
    public suspend fun azureQueueScaleRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureQueueScaleRules = mapped
    }

    /**
     * @param argument One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("kpndwqoypwpwoick")
    public suspend
    fun azureQueueScaleRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateAzureQueueScaleRuleArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureQueueScaleRules = mapped
    }

    /**
     * @param argument One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("bcytrsfqnmlpiwpd")
    public suspend fun azureQueueScaleRules(
        vararg
        argument: suspend AppTemplateAzureQueueScaleRuleArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateAzureQueueScaleRuleArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.azureQueueScaleRules = mapped
    }

    /**
     * @param argument One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("tckyjpfhtxiuspsc")
    public suspend
    fun azureQueueScaleRules(argument: suspend AppTemplateAzureQueueScaleRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AppTemplateAzureQueueScaleRuleArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.azureQueueScaleRules = mapped
    }

    /**
     * @param values One or more `azure_queue_scale_rule` blocks as defined below.
     */
    @JvmName("rhvcwvbljtaynvpn")
    public suspend fun azureQueueScaleRules(vararg values: AppTemplateAzureQueueScaleRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.azureQueueScaleRules = mapped
    }

    /**
     * @param value One or more `container` blocks as detailed below.
     */
    @JvmName("feyfrhfppkdrshok")
    public suspend fun containers(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.containers = mapped
    }

    /**
     * @param argument One or more `container` blocks as detailed below.
     */
    @JvmName("wikdegfymgpqlwie")
    public suspend
    fun containers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateContainerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.containers = mapped
    }

    /**
     * @param argument One or more `container` blocks as detailed below.
     */
    @JvmName("hqhektbnuienomul")
    public suspend fun containers(
        vararg
        argument: suspend AppTemplateContainerArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateContainerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.containers = mapped
    }

    /**
     * @param argument One or more `container` blocks as detailed below.
     */
    @JvmName("cigdvfehrdqtvcsv")
    public suspend fun containers(argument: suspend AppTemplateContainerArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(AppTemplateContainerArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.containers = mapped
    }

    /**
     * @param values One or more `container` blocks as detailed below.
     */
    @JvmName("ytxmmgwnexbkywcs")
    public suspend fun containers(vararg values: AppTemplateContainerArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.containers = mapped
    }

    /**
     * @param value One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("citutgwaegxmvfxi")
    public suspend fun customScaleRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customScaleRules = mapped
    }

    /**
     * @param argument One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("rvssucecpxbdpmvy")
    public suspend
    fun customScaleRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateCustomScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customScaleRules = mapped
    }

    /**
     * @param argument One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("doxiigoswchdwtrg")
    public suspend fun customScaleRules(
        vararg
        argument: suspend AppTemplateCustomScaleRuleArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateCustomScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customScaleRules = mapped
    }

    /**
     * @param argument One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("kdpgrnxtlqfcbenu")
    public suspend
    fun customScaleRules(argument: suspend AppTemplateCustomScaleRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AppTemplateCustomScaleRuleArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.customScaleRules = mapped
    }

    /**
     * @param values One or more `custom_scale_rule` blocks as defined below.
     */
    @JvmName("lhdmhjikgqptqqpl")
    public suspend fun customScaleRules(vararg values: AppTemplateCustomScaleRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customScaleRules = mapped
    }

    /**
     * @param value One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("lxispqyacxqkrfaq")
    public suspend fun httpScaleRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpScaleRules = mapped
    }

    /**
     * @param argument One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("vqnvlljehxmrurqv")
    public suspend
    fun httpScaleRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateHttpScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.httpScaleRules = mapped
    }

    /**
     * @param argument One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("coadcvvbbfryyhgy")
    public suspend fun httpScaleRules(
        vararg
        argument: suspend AppTemplateHttpScaleRuleArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateHttpScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.httpScaleRules = mapped
    }

    /**
     * @param argument One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("gsnjiohoruicojwh")
    public suspend
    fun httpScaleRules(argument: suspend AppTemplateHttpScaleRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AppTemplateHttpScaleRuleArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.httpScaleRules = mapped
    }

    /**
     * @param values One or more `http_scale_rule` blocks as defined below.
     */
    @JvmName("kkcmvnshwetbaptn")
    public suspend fun httpScaleRules(vararg values: AppTemplateHttpScaleRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.httpScaleRules = mapped
    }

    /**
     * @param value The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("gwdhmkroekivojbh")
    public suspend fun initContainers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.initContainers = mapped
    }

    /**
     * @param argument The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("tgwekntrnaxgsjcq")
    public suspend
    fun initContainers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateInitContainerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.initContainers = mapped
    }

    /**
     * @param argument The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("oflfpthlrnyfuinn")
    public suspend fun initContainers(
        vararg
        argument: suspend AppTemplateInitContainerArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateInitContainerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.initContainers = mapped
    }

    /**
     * @param argument The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("knotkdtblvtfaojb")
    public suspend
    fun initContainers(argument: suspend AppTemplateInitContainerArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AppTemplateInitContainerArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.initContainers = mapped
    }

    /**
     * @param values The definition of an init container that is part of the group as documented in the `init_container` block below.
     */
    @JvmName("ignyjvwauamjmlws")
    public suspend fun initContainers(vararg values: AppTemplateInitContainerArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.initContainers = mapped
    }

    /**
     * @param value The maximum number of replicas for this container.
     */
    @JvmName("gruwlnasbsjfeeeg")
    public suspend fun maxReplicas(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxReplicas = mapped
    }

    /**
     * @param value The minimum number of replicas for this container.
     */
    @JvmName("lkngeeeyfvbnyuqc")
    public suspend fun minReplicas(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minReplicas = mapped
    }

    /**
     * @param value The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one.
     */
    @JvmName("ghwlicykdfafccgl")
    public suspend fun revisionSuffix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.revisionSuffix = mapped
    }

    /**
     * @param value One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("mvjivpyjfrxwvriv")
    public suspend fun tcpScaleRules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tcpScaleRules = mapped
    }

    /**
     * @param argument One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("ydyvujanlmohgypi")
    public suspend
    fun tcpScaleRules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateTcpScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.tcpScaleRules = mapped
    }

    /**
     * @param argument One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("iawmydtvdhfjerbx")
    public suspend fun tcpScaleRules(
        vararg
        argument: suspend AppTemplateTcpScaleRuleArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            AppTemplateTcpScaleRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.tcpScaleRules = mapped
    }

    /**
     * @param argument One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("yhdlrlytqsejhsio")
    public suspend
    fun tcpScaleRules(argument: suspend AppTemplateTcpScaleRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AppTemplateTcpScaleRuleArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.tcpScaleRules = mapped
    }

    /**
     * @param values One or more `tcp_scale_rule` blocks as defined below.
     */
    @JvmName("gfgpqcscvuwyiuwk")
    public suspend fun tcpScaleRules(vararg values: AppTemplateTcpScaleRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tcpScaleRules = mapped
    }

    /**
     * @param value A `volume` block as detailed below.
     */
    @JvmName("qqdkoxvbfufyhcup")
    public suspend fun volumes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.volumes = mapped
    }

    /**
     * @param argument A `volume` block as detailed below.
     */
    @JvmName("njddcoscrxjonnlj")
    public suspend fun volumes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AppTemplateVolumeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param argument A `volume` block as detailed below.
     */
    @JvmName("ybkbrohkcfjrylvi")
    public suspend fun volumes(vararg argument: suspend AppTemplateVolumeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            AppTemplateVolumeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param argument A `volume` block as detailed below.
     */
    @JvmName("yqrdcymskfygpvdr")
    public suspend fun volumes(argument: suspend AppTemplateVolumeArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(AppTemplateVolumeArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param values A `volume` block as detailed below.
     */
    @JvmName("nkfhqbjddtfeawou")
    public suspend fun volumes(vararg values: AppTemplateVolumeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.volumes = mapped
    }

    internal fun build(): AppTemplateArgs = AppTemplateArgs(
        azureQueueScaleRules = azureQueueScaleRules,
        containers = containers ?: throw PulumiNullFieldException("containers"),
        customScaleRules = customScaleRules,
        httpScaleRules = httpScaleRules,
        initContainers = initContainers,
        maxReplicas = maxReplicas,
        minReplicas = minReplicas,
        revisionSuffix = revisionSuffix,
        tcpScaleRules = tcpScaleRules,
        volumes = volumes,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy