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

com.pulumi.azurenative.web.kotlin.AppServiceEnvironmentArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.web.kotlin

import com.pulumi.azurenative.web.AppServiceEnvironmentArgs.builder
import com.pulumi.azurenative.web.kotlin.enums.LoadBalancingMode
import com.pulumi.azurenative.web.kotlin.enums.UpgradePreference
import com.pulumi.azurenative.web.kotlin.inputs.AseV3NetworkingConfigurationArgs
import com.pulumi.azurenative.web.kotlin.inputs.AseV3NetworkingConfigurationArgsBuilder
import com.pulumi.azurenative.web.kotlin.inputs.CustomDnsSuffixConfigurationArgs
import com.pulumi.azurenative.web.kotlin.inputs.CustomDnsSuffixConfigurationArgsBuilder
import com.pulumi.azurenative.web.kotlin.inputs.NameValuePairArgs
import com.pulumi.azurenative.web.kotlin.inputs.NameValuePairArgsBuilder
import com.pulumi.azurenative.web.kotlin.inputs.VirtualNetworkProfileArgs
import com.pulumi.azurenative.web.kotlin.inputs.VirtualNetworkProfileArgsBuilder
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * App Service Environment ARM resource.
 * Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2020-12-01.
 * Other available API versions: 2019-08-01, 2020-10-01, 2021-01-15, 2023-01-01, 2023-12-01.
 * ## Example Usage
 * ### Create or update an App Service Environment.
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var appServiceEnvironment = new AzureNative.Web.AppServiceEnvironment("appServiceEnvironment", new()
 *     {
 *         Kind = "Asev3",
 *         Location = "South Central US",
 *         Name = "test-ase",
 *         ResourceGroupName = "test-rg",
 *         VirtualNetwork = new AzureNative.Web.Inputs.VirtualNetworkProfileArgs
 *         {
 *             Id = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/delegated",
 *         },
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	web "github.com/pulumi/pulumi-azure-native-sdk/web/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := web.NewAppServiceEnvironment(ctx, "appServiceEnvironment", &web.AppServiceEnvironmentArgs{
 * 			Kind:              pulumi.String("Asev3"),
 * 			Location:          pulumi.String("South Central US"),
 * 			Name:              pulumi.String("test-ase"),
 * 			ResourceGroupName: pulumi.String("test-rg"),
 * 			VirtualNetwork: &web.VirtualNetworkProfileArgs{
 * 				Id: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/delegated"),
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.web.AppServiceEnvironment;
 * import com.pulumi.azurenative.web.AppServiceEnvironmentArgs;
 * import com.pulumi.azurenative.web.inputs.VirtualNetworkProfileArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var appServiceEnvironment = new AppServiceEnvironment("appServiceEnvironment", AppServiceEnvironmentArgs.builder()
 *             .kind("Asev3")
 *             .location("South Central US")
 *             .name("test-ase")
 *             .resourceGroupName("test-rg")
 *             .virtualNetwork(VirtualNetworkProfileArgs.builder()
 *                 .id("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/delegated")
 *                 .build())
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:web:AppServiceEnvironment test-ase /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}
 * ```
 * @property clusterSettings Custom settings for changing the behavior of the App Service Environment.
 * @property customDnsSuffixConfiguration Full view of the custom domain suffix configuration for ASEv3.
 * @property dedicatedHostCount Dedicated Host Count
 * @property dnsSuffix DNS suffix of the App Service Environment.
 * @property frontEndScaleFactor Scale factor for front-ends.
 * @property internalLoadBalancingMode Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.
 * @property ipsslAddressCount Number of IP SSL addresses reserved for the App Service Environment.
 * @property kind Kind of resource.
 * @property location Resource Location.
 * @property multiSize Front-end VM size, e.g. "Medium", "Large".
 * @property name Name of the App Service Environment.
 * @property networkingConfiguration Full view of networking configuration for an ASE.
 * @property resourceGroupName Name of the resource group to which the resource belongs.
 * @property tags Resource tags.
 * @property upgradePreference Upgrade Preference
 * @property userWhitelistedIpRanges User added ip ranges to whitelist on ASE db
 * @property virtualNetwork Description of the Virtual Network.
 * @property zoneRedundant Whether or not this App Service Environment is zone-redundant.
 */
public data class AppServiceEnvironmentArgs(
    public val clusterSettings: Output>? = null,
    public val customDnsSuffixConfiguration: Output? = null,
    public val dedicatedHostCount: Output? = null,
    public val dnsSuffix: Output? = null,
    public val frontEndScaleFactor: Output? = null,
    public val internalLoadBalancingMode: Output>? = null,
    public val ipsslAddressCount: Output? = null,
    public val kind: Output? = null,
    public val location: Output? = null,
    public val multiSize: Output? = null,
    public val name: Output? = null,
    public val networkingConfiguration: Output? = null,
    public val resourceGroupName: Output? = null,
    public val tags: Output>? = null,
    public val upgradePreference: Output>? = null,
    public val userWhitelistedIpRanges: Output>? = null,
    public val virtualNetwork: Output? = null,
    public val zoneRedundant: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.web.AppServiceEnvironmentArgs =
        com.pulumi.azurenative.web.AppServiceEnvironmentArgs.builder()
            .clusterSettings(
                clusterSettings?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .customDnsSuffixConfiguration(
                customDnsSuffixConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .dedicatedHostCount(dedicatedHostCount?.applyValue({ args0 -> args0 }))
            .dnsSuffix(dnsSuffix?.applyValue({ args0 -> args0 }))
            .frontEndScaleFactor(frontEndScaleFactor?.applyValue({ args0 -> args0 }))
            .internalLoadBalancingMode(
                internalLoadBalancingMode?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .ipsslAddressCount(ipsslAddressCount?.applyValue({ args0 -> args0 }))
            .kind(kind?.applyValue({ args0 -> args0 }))
            .location(location?.applyValue({ args0 -> args0 }))
            .multiSize(multiSize?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .networkingConfiguration(
                networkingConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .upgradePreference(
                upgradePreference?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .userWhitelistedIpRanges(
                userWhitelistedIpRanges?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .virtualNetwork(virtualNetwork?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .zoneRedundant(zoneRedundant?.applyValue({ args0 -> args0 })).build()
}

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

    private var customDnsSuffixConfiguration: Output? = null

    private var dedicatedHostCount: Output? = null

    private var dnsSuffix: Output? = null

    private var frontEndScaleFactor: Output? = null

    private var internalLoadBalancingMode: Output>? = null

    private var ipsslAddressCount: Output? = null

    private var kind: Output? = null

    private var location: Output? = null

    private var multiSize: Output? = null

    private var name: Output? = null

    private var networkingConfiguration: Output? = null

    private var resourceGroupName: Output? = null

    private var tags: Output>? = null

    private var upgradePreference: Output>? = null

    private var userWhitelistedIpRanges: Output>? = null

    private var virtualNetwork: Output? = null

    private var zoneRedundant: Output? = null

    /**
     * @param value Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("abflnnefdfnwxajn")
    public suspend fun clusterSettings(`value`: Output>) {
        this.clusterSettings = value
    }

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

    /**
     * @param values Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("vxftvertmffmleie")
    public suspend fun clusterSettings(values: List>) {
        this.clusterSettings = Output.all(values)
    }

    /**
     * @param value Full view of the custom domain suffix configuration for ASEv3.
     */
    @JvmName("tqscnpvqahurbwxh")
    public suspend fun customDnsSuffixConfiguration(`value`: Output) {
        this.customDnsSuffixConfiguration = value
    }

    /**
     * @param value Dedicated Host Count
     */
    @JvmName("ecbwlouffscnamtr")
    public suspend fun dedicatedHostCount(`value`: Output) {
        this.dedicatedHostCount = value
    }

    /**
     * @param value DNS suffix of the App Service Environment.
     */
    @JvmName("dludwcpchgottkhs")
    public suspend fun dnsSuffix(`value`: Output) {
        this.dnsSuffix = value
    }

    /**
     * @param value Scale factor for front-ends.
     */
    @JvmName("trgounwxprfqygkh")
    public suspend fun frontEndScaleFactor(`value`: Output) {
        this.frontEndScaleFactor = value
    }

    /**
     * @param value Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.
     */
    @JvmName("xjnjgdecjlieadmi")
    public suspend fun internalLoadBalancingMode(`value`: Output>) {
        this.internalLoadBalancingMode = value
    }

    /**
     * @param value Number of IP SSL addresses reserved for the App Service Environment.
     */
    @JvmName("fdbvvilnmcbwudap")
    public suspend fun ipsslAddressCount(`value`: Output) {
        this.ipsslAddressCount = value
    }

    /**
     * @param value Kind of resource.
     */
    @JvmName("fitpqqxhqnernvht")
    public suspend fun kind(`value`: Output) {
        this.kind = value
    }

    /**
     * @param value Resource Location.
     */
    @JvmName("njjkijfgtjirqhqd")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value Front-end VM size, e.g. "Medium", "Large".
     */
    @JvmName("vgxnjsnvepbeufuc")
    public suspend fun multiSize(`value`: Output) {
        this.multiSize = value
    }

    /**
     * @param value Name of the App Service Environment.
     */
    @JvmName("bdicflcafmgwfljx")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Full view of networking configuration for an ASE.
     */
    @JvmName("loyiiqwpsahfqbrd")
    public suspend fun networkingConfiguration(`value`: Output) {
        this.networkingConfiguration = value
    }

    /**
     * @param value Name of the resource group to which the resource belongs.
     */
    @JvmName("ephyfuvkpwclgrka")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("mfqgpbdcbnetdces")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value Upgrade Preference
     */
    @JvmName("ibflxkrxfoeohxtk")
    public suspend fun upgradePreference(`value`: Output>) {
        this.upgradePreference = value
    }

    /**
     * @param value User added ip ranges to whitelist on ASE db
     */
    @JvmName("apvpcpfhrunboulp")
    public suspend fun userWhitelistedIpRanges(`value`: Output>) {
        this.userWhitelistedIpRanges = value
    }

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

    /**
     * @param values User added ip ranges to whitelist on ASE db
     */
    @JvmName("hphajbqpvgevphea")
    public suspend fun userWhitelistedIpRanges(values: List>) {
        this.userWhitelistedIpRanges = Output.all(values)
    }

    /**
     * @param value Description of the Virtual Network.
     */
    @JvmName("oywioaqfoegwtgjs")
    public suspend fun virtualNetwork(`value`: Output) {
        this.virtualNetwork = value
    }

    /**
     * @param value Whether or not this App Service Environment is zone-redundant.
     */
    @JvmName("jbrcbigthnmckoqq")
    public suspend fun zoneRedundant(`value`: Output) {
        this.zoneRedundant = value
    }

    /**
     * @param value Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("xwvifdygfktkiyna")
    public suspend fun clusterSettings(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clusterSettings = mapped
    }

    /**
     * @param argument Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("ubepbakjhkwffibw")
    public suspend fun clusterSettings(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            NameValuePairArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.clusterSettings = mapped
    }

    /**
     * @param argument Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("dtsfsncmaeusxxyh")
    public suspend fun clusterSettings(vararg argument: suspend NameValuePairArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            NameValuePairArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.clusterSettings = mapped
    }

    /**
     * @param argument Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("fkjlapfrykmixtcp")
    public suspend fun clusterSettings(argument: suspend NameValuePairArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(NameValuePairArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.clusterSettings = mapped
    }

    /**
     * @param values Custom settings for changing the behavior of the App Service Environment.
     */
    @JvmName("dwqgjpwdtrjrkgnu")
    public suspend fun clusterSettings(vararg values: NameValuePairArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clusterSettings = mapped
    }

    /**
     * @param value Full view of the custom domain suffix configuration for ASEv3.
     */
    @JvmName("xfgcbeainehppdpw")
    public suspend fun customDnsSuffixConfiguration(`value`: CustomDnsSuffixConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customDnsSuffixConfiguration = mapped
    }

    /**
     * @param argument Full view of the custom domain suffix configuration for ASEv3.
     */
    @JvmName("vdigudkkqlcteljv")
    public suspend fun customDnsSuffixConfiguration(argument: suspend CustomDnsSuffixConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = CustomDnsSuffixConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.customDnsSuffixConfiguration = mapped
    }

    /**
     * @param value Dedicated Host Count
     */
    @JvmName("cdywqlisoovdueta")
    public suspend fun dedicatedHostCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dedicatedHostCount = mapped
    }

    /**
     * @param value DNS suffix of the App Service Environment.
     */
    @JvmName("jydjjoqagicgfrmx")
    public suspend fun dnsSuffix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dnsSuffix = mapped
    }

    /**
     * @param value Scale factor for front-ends.
     */
    @JvmName("ubgbidednywgoawn")
    public suspend fun frontEndScaleFactor(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.frontEndScaleFactor = mapped
    }

    /**
     * @param value Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.
     */
    @JvmName("rnlalwcitvxdiwhk")
    public suspend fun internalLoadBalancingMode(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.internalLoadBalancingMode = mapped
    }

    /**
     * @param value Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.
     */
    @JvmName("fgqjdrwqufsuqjxq")
    public fun internalLoadBalancingMode(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.internalLoadBalancingMode = mapped
    }

    /**
     * @param value Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.
     */
    @JvmName("xhvawsmkkywfgidn")
    public fun internalLoadBalancingMode(`value`: LoadBalancingMode) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.internalLoadBalancingMode = mapped
    }

    /**
     * @param value Number of IP SSL addresses reserved for the App Service Environment.
     */
    @JvmName("sgsdsrcpaxlsyqgv")
    public suspend fun ipsslAddressCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipsslAddressCount = mapped
    }

    /**
     * @param value Kind of resource.
     */
    @JvmName("gcffohkofaasdffx")
    public suspend fun kind(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kind = mapped
    }

    /**
     * @param value Resource Location.
     */
    @JvmName("qgmnfhyxhpujeooa")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value Front-end VM size, e.g. "Medium", "Large".
     */
    @JvmName("tajpnntryxhellma")
    public suspend fun multiSize(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.multiSize = mapped
    }

    /**
     * @param value Name of the App Service Environment.
     */
    @JvmName("cevbtgrnuqwpfkyu")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Full view of networking configuration for an ASE.
     */
    @JvmName("jpptdrhxseqobjbv")
    public suspend fun networkingConfiguration(`value`: AseV3NetworkingConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.networkingConfiguration = mapped
    }

    /**
     * @param argument Full view of networking configuration for an ASE.
     */
    @JvmName("kuhjrqumaqdjbvbp")
    public suspend fun networkingConfiguration(argument: suspend AseV3NetworkingConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = AseV3NetworkingConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.networkingConfiguration = mapped
    }

    /**
     * @param value Name of the resource group to which the resource belongs.
     */
    @JvmName("nnusjrqqhisskgvh")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("judtqyvgfquvglgb")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values Resource tags.
     */
    @JvmName("kccrxvqvqahxbwvf")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value Upgrade Preference
     */
    @JvmName("irgrrabrbundvgwm")
    public suspend fun upgradePreference(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.upgradePreference = mapped
    }

    /**
     * @param value Upgrade Preference
     */
    @JvmName("obiijdvnplovqdte")
    public fun upgradePreference(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.upgradePreference = mapped
    }

    /**
     * @param value Upgrade Preference
     */
    @JvmName("jyclfmfljvlmlumm")
    public fun upgradePreference(`value`: UpgradePreference) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.upgradePreference = mapped
    }

    /**
     * @param value User added ip ranges to whitelist on ASE db
     */
    @JvmName("ifxecjteiswbhtqw")
    public suspend fun userWhitelistedIpRanges(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userWhitelistedIpRanges = mapped
    }

    /**
     * @param values User added ip ranges to whitelist on ASE db
     */
    @JvmName("mgjqepckrbqktsek")
    public suspend fun userWhitelistedIpRanges(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.userWhitelistedIpRanges = mapped
    }

    /**
     * @param value Description of the Virtual Network.
     */
    @JvmName("vdwgvroticdccjuy")
    public suspend fun virtualNetwork(`value`: VirtualNetworkProfileArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.virtualNetwork = mapped
    }

    /**
     * @param argument Description of the Virtual Network.
     */
    @JvmName("cahtdhbesiknhybq")
    public suspend fun virtualNetwork(argument: suspend VirtualNetworkProfileArgsBuilder.() -> Unit) {
        val toBeMapped = VirtualNetworkProfileArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.virtualNetwork = mapped
    }

    /**
     * @param value Whether or not this App Service Environment is zone-redundant.
     */
    @JvmName("gnkjjwtwfahbjvbp")
    public suspend fun zoneRedundant(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zoneRedundant = mapped
    }

    internal fun build(): AppServiceEnvironmentArgs = AppServiceEnvironmentArgs(
        clusterSettings = clusterSettings,
        customDnsSuffixConfiguration = customDnsSuffixConfiguration,
        dedicatedHostCount = dedicatedHostCount,
        dnsSuffix = dnsSuffix,
        frontEndScaleFactor = frontEndScaleFactor,
        internalLoadBalancingMode = internalLoadBalancingMode,
        ipsslAddressCount = ipsslAddressCount,
        kind = kind,
        location = location,
        multiSize = multiSize,
        name = name,
        networkingConfiguration = networkingConfiguration,
        resourceGroupName = resourceGroupName,
        tags = tags,
        upgradePreference = upgradePreference,
        userWhitelistedIpRanges = userWhitelistedIpRanges,
        virtualNetwork = virtualNetwork,
        zoneRedundant = zoneRedundant,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy