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

com.pulumi.azure.appservice.kotlin.inputs.LinuxWebAppSiteConfigApplicationStackArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.appservice.kotlin.inputs

import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigApplicationStackArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Deprecated
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property dockerImage
 * @property dockerImageName The docker image, including tag, to be used. e.g. `appsvc/staticsite:latest`.
 * @property dockerImageTag
 * @property dockerRegistryPassword The User Name to use for authentication against the registry to pull the image.
 * > **NOTE:** `docker_registry_url`, `docker_registry_username`, and `docker_registry_password` replace the use of the `app_settings` values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the `app_settings` map.
 * @property dockerRegistryUrl The URL of the container registry where the `docker_image_name` is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with `docker_image_name`.
 * @property dockerRegistryUsername The User Name to use for authentication against the registry to pull the image.
 * @property dotnetVersion The version of .NET to use. Possible values include `3.1`, `5.0`, `6.0`, `7.0` and `8.0`.
 * @property goVersion The version of Go to use. Possible values include `1.18`, and `1.19`.
 * @property javaServer The Java server type. Possible values include `JAVA`, `TOMCAT`, and `JBOSSEAP`.
 * > **NOTE:** `JBOSSEAP` requires a Premium Service Plan SKU to be a valid option.
 * @property javaServerVersion The Version of the `java_server` to use.
 * @property javaVersion The Version of Java to use. Possible values include `8`, `11`, and `17`.
 * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`.
 * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app
 * @property nodeVersion The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`.
 * > **NOTE:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider.
 * @property phpVersion The version of PHP to run. Possible values are `7.4`, `8.0`, `8.1`, `8.2` and `8.3`.
 * > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version.
 * @property pythonVersion The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`.
 * @property rubyVersion The version of Ruby to run. Possible values include `2.6` and `2.7`.
 */
public data class LinuxWebAppSiteConfigApplicationStackArgs(
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    public val dockerImage: Output? = null,
    public val dockerImageName: Output? = null,
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    public val dockerImageTag: Output? = null,
    public val dockerRegistryPassword: Output? = null,
    public val dockerRegistryUrl: Output? = null,
    public val dockerRegistryUsername: Output? = null,
    public val dotnetVersion: Output? = null,
    public val goVersion: Output? = null,
    public val javaServer: Output? = null,
    public val javaServerVersion: Output? = null,
    public val javaVersion: Output? = null,
    public val nodeVersion: Output? = null,
    public val phpVersion: Output? = null,
    public val pythonVersion: Output? = null,
    public val rubyVersion: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigApplicationStackArgs =
        com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigApplicationStackArgs.builder()
            .dockerImage(dockerImage?.applyValue({ args0 -> args0 }))
            .dockerImageName(dockerImageName?.applyValue({ args0 -> args0 }))
            .dockerImageTag(dockerImageTag?.applyValue({ args0 -> args0 }))
            .dockerRegistryPassword(dockerRegistryPassword?.applyValue({ args0 -> args0 }))
            .dockerRegistryUrl(dockerRegistryUrl?.applyValue({ args0 -> args0 }))
            .dockerRegistryUsername(dockerRegistryUsername?.applyValue({ args0 -> args0 }))
            .dotnetVersion(dotnetVersion?.applyValue({ args0 -> args0 }))
            .goVersion(goVersion?.applyValue({ args0 -> args0 }))
            .javaServer(javaServer?.applyValue({ args0 -> args0 }))
            .javaServerVersion(javaServerVersion?.applyValue({ args0 -> args0 }))
            .javaVersion(javaVersion?.applyValue({ args0 -> args0 }))
            .nodeVersion(nodeVersion?.applyValue({ args0 -> args0 }))
            .phpVersion(phpVersion?.applyValue({ args0 -> args0 }))
            .pythonVersion(pythonVersion?.applyValue({ args0 -> args0 }))
            .rubyVersion(rubyVersion?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LinuxWebAppSiteConfigApplicationStackArgs].
 */
@PulumiTagMarker
public class LinuxWebAppSiteConfigApplicationStackArgsBuilder internal constructor() {
    private var dockerImage: Output? = null

    private var dockerImageName: Output? = null

    private var dockerImageTag: Output? = null

    private var dockerRegistryPassword: Output? = null

    private var dockerRegistryUrl: Output? = null

    private var dockerRegistryUsername: Output? = null

    private var dotnetVersion: Output? = null

    private var goVersion: Output? = null

    private var javaServer: Output? = null

    private var javaServerVersion: Output? = null

    private var javaVersion: Output? = null

    private var nodeVersion: Output? = null

    private var phpVersion: Output? = null

    private var pythonVersion: Output? = null

    private var rubyVersion: Output? = null

    /**
     * @param value
     */
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    @JvmName("bpwoncxygryhufms")
    public suspend fun dockerImage(`value`: Output) {
        this.dockerImage = value
    }

    /**
     * @param value The docker image, including tag, to be used. e.g. `appsvc/staticsite:latest`.
     */
    @JvmName("tmmcvehsmumdrsnm")
    public suspend fun dockerImageName(`value`: Output) {
        this.dockerImageName = value
    }

    /**
     * @param value
     */
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    @JvmName("wjphyupdxalgonur")
    public suspend fun dockerImageTag(`value`: Output) {
        this.dockerImageTag = value
    }

    /**
     * @param value The User Name to use for authentication against the registry to pull the image.
     * > **NOTE:** `docker_registry_url`, `docker_registry_username`, and `docker_registry_password` replace the use of the `app_settings` values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the `app_settings` map.
     */
    @JvmName("nakkoyynkjpqylgu")
    public suspend fun dockerRegistryPassword(`value`: Output) {
        this.dockerRegistryPassword = value
    }

    /**
     * @param value The URL of the container registry where the `docker_image_name` is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with `docker_image_name`.
     */
    @JvmName("govyufebicljncpm")
    public suspend fun dockerRegistryUrl(`value`: Output) {
        this.dockerRegistryUrl = value
    }

    /**
     * @param value The User Name to use for authentication against the registry to pull the image.
     */
    @JvmName("jtsooosqrywakpdj")
    public suspend fun dockerRegistryUsername(`value`: Output) {
        this.dockerRegistryUsername = value
    }

    /**
     * @param value The version of .NET to use. Possible values include `3.1`, `5.0`, `6.0`, `7.0` and `8.0`.
     */
    @JvmName("fksrxkrbkiqbppuc")
    public suspend fun dotnetVersion(`value`: Output) {
        this.dotnetVersion = value
    }

    /**
     * @param value The version of Go to use. Possible values include `1.18`, and `1.19`.
     */
    @JvmName("dagqqvgdopgdsikc")
    public suspend fun goVersion(`value`: Output) {
        this.goVersion = value
    }

    /**
     * @param value The Java server type. Possible values include `JAVA`, `TOMCAT`, and `JBOSSEAP`.
     * > **NOTE:** `JBOSSEAP` requires a Premium Service Plan SKU to be a valid option.
     */
    @JvmName("rpdskfdgttvfulwe")
    public suspend fun javaServer(`value`: Output) {
        this.javaServer = value
    }

    /**
     * @param value The Version of the `java_server` to use.
     */
    @JvmName("tctbkfvarrjjfvlc")
    public suspend fun javaServerVersion(`value`: Output) {
        this.javaServerVersion = value
    }

    /**
     * @param value The Version of Java to use. Possible values include `8`, `11`, and `17`.
     * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`.
     * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app
     */
    @JvmName("pkmkkaasnasjvhgw")
    public suspend fun javaVersion(`value`: Output) {
        this.javaVersion = value
    }

    /**
     * @param value The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`.
     * > **NOTE:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider.
     */
    @JvmName("vwtieefmvlgomnug")
    public suspend fun nodeVersion(`value`: Output) {
        this.nodeVersion = value
    }

    /**
     * @param value The version of PHP to run. Possible values are `7.4`, `8.0`, `8.1`, `8.2` and `8.3`.
     * > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version.
     */
    @JvmName("cgcxnkvmqipagcbo")
    public suspend fun phpVersion(`value`: Output) {
        this.phpVersion = value
    }

    /**
     * @param value The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`.
     */
    @JvmName("eikogomlggcntfel")
    public suspend fun pythonVersion(`value`: Output) {
        this.pythonVersion = value
    }

    /**
     * @param value The version of Ruby to run. Possible values include `2.6` and `2.7`.
     */
    @JvmName("shooiswrslijtuhy")
    public suspend fun rubyVersion(`value`: Output) {
        this.rubyVersion = value
    }

    /**
     * @param value
     */
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    @JvmName("oxsknmovstuyjtml")
    public suspend fun dockerImage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerImage = mapped
    }

    /**
     * @param value The docker image, including tag, to be used. e.g. `appsvc/staticsite:latest`.
     */
    @JvmName("oguceiptiojsgmks")
    public suspend fun dockerImageName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerImageName = mapped
    }

    /**
     * @param value
     */
    @Deprecated(
        message = """
  This property has been deprecated and will be removed in 4.0 of the provider.
  """,
    )
    @JvmName("njpsqjimuctsfkkb")
    public suspend fun dockerImageTag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerImageTag = mapped
    }

    /**
     * @param value The User Name to use for authentication against the registry to pull the image.
     * > **NOTE:** `docker_registry_url`, `docker_registry_username`, and `docker_registry_password` replace the use of the `app_settings` values of `DOCKER_REGISTRY_SERVER_URL`, `DOCKER_REGISTRY_SERVER_USERNAME` and `DOCKER_REGISTRY_SERVER_PASSWORD` respectively, these values will be managed by the provider and should not be specified in the `app_settings` map.
     */
    @JvmName("neuwtmhgpociriyc")
    public suspend fun dockerRegistryPassword(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerRegistryPassword = mapped
    }

    /**
     * @param value The URL of the container registry where the `docker_image_name` is located. e.g. `https://index.docker.io` or `https://mcr.microsoft.com`. This value is required with `docker_image_name`.
     */
    @JvmName("wowhropehqvshyrc")
    public suspend fun dockerRegistryUrl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerRegistryUrl = mapped
    }

    /**
     * @param value The User Name to use for authentication against the registry to pull the image.
     */
    @JvmName("xyywsbaohopbiiyr")
    public suspend fun dockerRegistryUsername(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerRegistryUsername = mapped
    }

    /**
     * @param value The version of .NET to use. Possible values include `3.1`, `5.0`, `6.0`, `7.0` and `8.0`.
     */
    @JvmName("dmwnjqvhsalaheql")
    public suspend fun dotnetVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dotnetVersion = mapped
    }

    /**
     * @param value The version of Go to use. Possible values include `1.18`, and `1.19`.
     */
    @JvmName("elwywpletjpcayrk")
    public suspend fun goVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.goVersion = mapped
    }

    /**
     * @param value The Java server type. Possible values include `JAVA`, `TOMCAT`, and `JBOSSEAP`.
     * > **NOTE:** `JBOSSEAP` requires a Premium Service Plan SKU to be a valid option.
     */
    @JvmName("aitmtquseodrhtdt")
    public suspend fun javaServer(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.javaServer = mapped
    }

    /**
     * @param value The Version of the `java_server` to use.
     */
    @JvmName("ngfpdsmckjucaiti")
    public suspend fun javaServerVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.javaServerVersion = mapped
    }

    /**
     * @param value The Version of Java to use. Possible values include `8`, `11`, and `17`.
     * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`.
     * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app
     */
    @JvmName("rsxaobhhrqgngxda")
    public suspend fun javaVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.javaVersion = mapped
    }

    /**
     * @param value The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`.
     * > **NOTE:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider.
     */
    @JvmName("uhqruqgcjaajjiir")
    public suspend fun nodeVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nodeVersion = mapped
    }

    /**
     * @param value The version of PHP to run. Possible values are `7.4`, `8.0`, `8.1`, `8.2` and `8.3`.
     * > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version.
     */
    @JvmName("oockaclskjvwurxa")
    public suspend fun phpVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.phpVersion = mapped
    }

    /**
     * @param value The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`.
     */
    @JvmName("bhejxirhyysgeock")
    public suspend fun pythonVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pythonVersion = mapped
    }

    /**
     * @param value The version of Ruby to run. Possible values include `2.6` and `2.7`.
     */
    @JvmName("ixpgoonrpsecnjlo")
    public suspend fun rubyVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rubyVersion = mapped
    }

    internal fun build(): LinuxWebAppSiteConfigApplicationStackArgs =
        LinuxWebAppSiteConfigApplicationStackArgs(
            dockerImage = dockerImage,
            dockerImageName = dockerImageName,
            dockerImageTag = dockerImageTag,
            dockerRegistryPassword = dockerRegistryPassword,
            dockerRegistryUrl = dockerRegistryUrl,
            dockerRegistryUsername = dockerRegistryUsername,
            dotnetVersion = dotnetVersion,
            goVersion = goVersion,
            javaServer = javaServer,
            javaServerVersion = javaServerVersion,
            javaVersion = javaVersion,
            nodeVersion = nodeVersion,
            phpVersion = phpVersion,
            pythonVersion = pythonVersion,
            rubyVersion = rubyVersion,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy