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

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

package com.pulumi.azure.containerapp.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 AppTemplate(
    public val azureQueueScaleRules: List? = null,
    public val containers: List,
    public val customScaleRules: List? = null,
    public val httpScaleRules: List? = null,
    public val initContainers: List? = null,
    public val maxReplicas: Int? = null,
    public val minReplicas: Int? = null,
    public val revisionSuffix: String? = null,
    public val tcpScaleRules: List? = null,
    public val volumes: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.containerapp.outputs.AppTemplate): AppTemplate =
            AppTemplate(
                azureQueueScaleRules = javaType.azureQueueScaleRules().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateAzureQueueScaleRule.Companion.toKotlin(args0)
                    })
                }),
                containers = javaType.containers().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateContainer.Companion.toKotlin(args0)
                    })
                }),
                customScaleRules = javaType.customScaleRules().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateCustomScaleRule.Companion.toKotlin(args0)
                    })
                }),
                httpScaleRules = javaType.httpScaleRules().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateHttpScaleRule.Companion.toKotlin(args0)
                    })
                }),
                initContainers = javaType.initContainers().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateInitContainer.Companion.toKotlin(args0)
                    })
                }),
                maxReplicas = javaType.maxReplicas().map({ args0 -> args0 }).orElse(null),
                minReplicas = javaType.minReplicas().map({ args0 -> args0 }).orElse(null),
                revisionSuffix = javaType.revisionSuffix().map({ args0 -> args0 }).orElse(null),
                tcpScaleRules = javaType.tcpScaleRules().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateTcpScaleRule.Companion.toKotlin(args0)
                    })
                }),
                volumes = javaType.volumes().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppTemplateVolume.Companion.toKotlin(args0)
                    })
                }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy