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

com.pulumi.azurenative.app.kotlin.ManagedEnvironmentArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.app.kotlin

import com.pulumi.azurenative.app.ManagedEnvironmentArgs.builder
import com.pulumi.azurenative.app.kotlin.inputs.AppLogsConfigurationArgs
import com.pulumi.azurenative.app.kotlin.inputs.AppLogsConfigurationArgsBuilder
import com.pulumi.azurenative.app.kotlin.inputs.CustomDomainConfigurationArgs
import com.pulumi.azurenative.app.kotlin.inputs.CustomDomainConfigurationArgsBuilder
import com.pulumi.azurenative.app.kotlin.inputs.EnvironmentSkuPropertiesArgs
import com.pulumi.azurenative.app.kotlin.inputs.EnvironmentSkuPropertiesArgsBuilder
import com.pulumi.azurenative.app.kotlin.inputs.VnetConfigurationArgs
import com.pulumi.azurenative.app.kotlin.inputs.VnetConfigurationArgsBuilder
import com.pulumi.azurenative.app.kotlin.inputs.WorkloadProfileArgs
import com.pulumi.azurenative.app.kotlin.inputs.WorkloadProfileArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * An environment for hosting container apps
 * Azure REST API version: 2022-10-01. Prior API version in Azure Native 1.x: 2022-03-01.
 * Other available API versions: 2022-01-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01.
 * ## Example Usage
 * ### Create environments
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var managedEnvironment = new AzureNative.App.ManagedEnvironment("managedEnvironment", new()
 *     {
 *         AppLogsConfiguration = new AzureNative.App.Inputs.AppLogsConfigurationArgs
 *         {
 *             LogAnalyticsConfiguration = new AzureNative.App.Inputs.LogAnalyticsConfigurationArgs
 *             {
 *                 CustomerId = "string",
 *                 SharedKey = "string",
 *             },
 *         },
 *         CustomDomainConfiguration = new AzureNative.App.Inputs.CustomDomainConfigurationArgs
 *         {
 *             CertificatePassword = "private key password",
 *             CertificateValue = "Y2VydA==",
 *             DnsSuffix = "www.my-name.com",
 *         },
 *         DaprAIConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
 *         EnvironmentName = "testcontainerenv",
 *         Kind = "serverless",
 *         Location = "East US",
 *         ResourceGroupName = "examplerg",
 *         Sku = new AzureNative.App.Inputs.EnvironmentSkuPropertiesArgs
 *         {
 *             Name = AzureNative.App.SkuName.Premium,
 *         },
 *         VnetConfiguration = new AzureNative.App.Inputs.VnetConfigurationArgs
 *         {
 *             OutboundSettings = new AzureNative.App.Inputs.ManagedEnvironmentOutboundSettingsArgs
 *             {
 *                 OutBoundType = AzureNative.App.ManagedEnvironmentOutBoundType.UserDefinedRouting,
 *                 VirtualNetworkApplianceIp = "192.168.1.20",
 *             },
 *         },
 *         WorkloadProfiles = new[]
 *         {
 *             new AzureNative.App.Inputs.WorkloadProfileArgs
 *             {
 *                 MaximumCount = 12,
 *                 MinimumCount = 3,
 *                 WorkloadProfileType = "GeneralPurpose",
 *             },
 *             new AzureNative.App.Inputs.WorkloadProfileArgs
 *             {
 *                 MaximumCount = 6,
 *                 MinimumCount = 3,
 *                 WorkloadProfileType = "MemoryOptimized",
 *             },
 *             new AzureNative.App.Inputs.WorkloadProfileArgs
 *             {
 *                 MaximumCount = 6,
 *                 MinimumCount = 3,
 *                 WorkloadProfileType = "ComputeOptimized",
 *             },
 *         },
 *         ZoneRedundant = true,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := app.NewManagedEnvironment(ctx, "managedEnvironment", &app.ManagedEnvironmentArgs{
 * 			AppLogsConfiguration: &app.AppLogsConfigurationArgs{
 * 				LogAnalyticsConfiguration: &app.LogAnalyticsConfigurationArgs{
 * 					CustomerId: pulumi.String("string"),
 * 					SharedKey:  pulumi.String("string"),
 * 				},
 * 			},
 * 			CustomDomainConfiguration: &app.CustomDomainConfigurationArgs{
 * 				CertificatePassword: pulumi.String("private key password"),
 * 				CertificateValue:    pulumi.String("Y2VydA=="),
 * 				DnsSuffix:           pulumi.String("www.my-name.com"),
 * 			},
 * 			DaprAIConnectionString: pulumi.String("InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/"),
 * 			EnvironmentName:        pulumi.String("testcontainerenv"),
 * 			Kind:                   pulumi.String("serverless"),
 * 			Location:               pulumi.String("East US"),
 * 			ResourceGroupName:      pulumi.String("examplerg"),
 * 			Sku: &app.EnvironmentSkuPropertiesArgs{
 * 				Name: pulumi.String(app.SkuNamePremium),
 * 			},
 * 			VnetConfiguration: &app.VnetConfigurationArgs{
 * 				OutboundSettings: &app.ManagedEnvironmentOutboundSettingsArgs{
 * 					OutBoundType:              pulumi.String(app.ManagedEnvironmentOutBoundTypeUserDefinedRouting),
 * 					VirtualNetworkApplianceIp: pulumi.String("192.168.1.20"),
 * 				},
 * 			},
 * 			WorkloadProfiles: app.WorkloadProfileArray{
 * 				&app.WorkloadProfileArgs{
 * 					MaximumCount:        pulumi.Int(12),
 * 					MinimumCount:        pulumi.Int(3),
 * 					WorkloadProfileType: pulumi.String("GeneralPurpose"),
 * 				},
 * 				&app.WorkloadProfileArgs{
 * 					MaximumCount:        pulumi.Int(6),
 * 					MinimumCount:        pulumi.Int(3),
 * 					WorkloadProfileType: pulumi.String("MemoryOptimized"),
 * 				},
 * 				&app.WorkloadProfileArgs{
 * 					MaximumCount:        pulumi.Int(6),
 * 					MinimumCount:        pulumi.Int(3),
 * 					WorkloadProfileType: pulumi.String("ComputeOptimized"),
 * 				},
 * 			},
 * 			ZoneRedundant: pulumi.Bool(true),
 * 		})
 * 		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.app.ManagedEnvironment;
 * import com.pulumi.azurenative.app.ManagedEnvironmentArgs;
 * import com.pulumi.azurenative.app.inputs.AppLogsConfigurationArgs;
 * import com.pulumi.azurenative.app.inputs.LogAnalyticsConfigurationArgs;
 * import com.pulumi.azurenative.app.inputs.CustomDomainConfigurationArgs;
 * import com.pulumi.azurenative.app.inputs.EnvironmentSkuPropertiesArgs;
 * import com.pulumi.azurenative.app.inputs.VnetConfigurationArgs;
 * import com.pulumi.azurenative.app.inputs.ManagedEnvironmentOutboundSettingsArgs;
 * import com.pulumi.azurenative.app.inputs.WorkloadProfileArgs;
 * 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 managedEnvironment = new ManagedEnvironment("managedEnvironment", ManagedEnvironmentArgs.builder()
 *             .appLogsConfiguration(AppLogsConfigurationArgs.builder()
 *                 .logAnalyticsConfiguration(LogAnalyticsConfigurationArgs.builder()
 *                     .customerId("string")
 *                     .sharedKey("string")
 *                     .build())
 *                 .build())
 *             .customDomainConfiguration(CustomDomainConfigurationArgs.builder()
 *                 .certificatePassword("private key password")
 *                 .certificateValue("Y2VydA==")
 *                 .dnsSuffix("www.my-name.com")
 *                 .build())
 *             .daprAIConnectionString("InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/")
 *             .environmentName("testcontainerenv")
 *             .kind("serverless")
 *             .location("East US")
 *             .resourceGroupName("examplerg")
 *             .sku(EnvironmentSkuPropertiesArgs.builder()
 *                 .name("Premium")
 *                 .build())
 *             .vnetConfiguration(VnetConfigurationArgs.builder()
 *                 .outboundSettings(ManagedEnvironmentOutboundSettingsArgs.builder()
 *                     .outBoundType("UserDefinedRouting")
 *                     .virtualNetworkApplianceIp("192.168.1.20")
 *                     .build())
 *                 .build())
 *             .workloadProfiles(
 *                 WorkloadProfileArgs.builder()
 *                     .maximumCount(12)
 *                     .minimumCount(3)
 *                     .workloadProfileType("GeneralPurpose")
 *                     .build(),
 *                 WorkloadProfileArgs.builder()
 *                     .maximumCount(6)
 *                     .minimumCount(3)
 *                     .workloadProfileType("MemoryOptimized")
 *                     .build(),
 *                 WorkloadProfileArgs.builder()
 *                     .maximumCount(6)
 *                     .minimumCount(3)
 *                     .workloadProfileType("ComputeOptimized")
 *                     .build())
 *             .zoneRedundant(true)
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:app:ManagedEnvironment testcontainerenv /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}
 * ```
 * @property appLogsConfiguration Cluster configuration which enables the log daemon to export
 * app logs to a destination. Currently only "log-analytics" is
 * supported
 * @property customDomainConfiguration Custom domain configuration for the environment
 * @property daprAIConnectionString Application Insights connection string used by Dapr to export Service to Service communication telemetry
 * @property daprAIInstrumentationKey Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
 * @property environmentName Name of the Environment.
 * @property kind Kind of the Environment.
 * @property location The geo-location where the resource lives
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @property sku SKU properties of the Environment.
 * @property tags Resource tags.
 * @property vnetConfiguration Vnet configuration for the environment
 * @property workloadProfiles Workload profiles configured for the Managed Environment.
 * @property zoneRedundant Whether or not this Managed Environment is zone-redundant.
 */
public data class ManagedEnvironmentArgs(
    public val appLogsConfiguration: Output? = null,
    public val customDomainConfiguration: Output? = null,
    public val daprAIConnectionString: Output? = null,
    public val daprAIInstrumentationKey: Output? = null,
    public val environmentName: Output? = null,
    public val kind: Output? = null,
    public val location: Output? = null,
    public val resourceGroupName: Output? = null,
    public val sku: Output? = null,
    public val tags: Output>? = null,
    public val vnetConfiguration: Output? = null,
    public val workloadProfiles: Output>? = null,
    public val zoneRedundant: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.app.ManagedEnvironmentArgs =
        com.pulumi.azurenative.app.ManagedEnvironmentArgs.builder()
            .appLogsConfiguration(
                appLogsConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .customDomainConfiguration(
                customDomainConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .daprAIConnectionString(daprAIConnectionString?.applyValue({ args0 -> args0 }))
            .daprAIInstrumentationKey(daprAIInstrumentationKey?.applyValue({ args0 -> args0 }))
            .environmentName(environmentName?.applyValue({ args0 -> args0 }))
            .kind(kind?.applyValue({ args0 -> args0 }))
            .location(location?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .sku(sku?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .vnetConfiguration(vnetConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .workloadProfiles(
                workloadProfiles?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .zoneRedundant(zoneRedundant?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ManagedEnvironmentArgs].
 */
@PulumiTagMarker
public class ManagedEnvironmentArgsBuilder internal constructor() {
    private var appLogsConfiguration: Output? = null

    private var customDomainConfiguration: Output? = null

    private var daprAIConnectionString: Output? = null

    private var daprAIInstrumentationKey: Output? = null

    private var environmentName: Output? = null

    private var kind: Output? = null

    private var location: Output? = null

    private var resourceGroupName: Output? = null

    private var sku: Output? = null

    private var tags: Output>? = null

    private var vnetConfiguration: Output? = null

    private var workloadProfiles: Output>? = null

    private var zoneRedundant: Output? = null

    /**
     * @param value Cluster configuration which enables the log daemon to export
     * app logs to a destination. Currently only "log-analytics" is
     * supported
     */
    @JvmName("fwjakcsrwmkhdwmm")
    public suspend fun appLogsConfiguration(`value`: Output) {
        this.appLogsConfiguration = value
    }

    /**
     * @param value Custom domain configuration for the environment
     */
    @JvmName("aoanohrqvjxsmtqm")
    public suspend fun customDomainConfiguration(`value`: Output) {
        this.customDomainConfiguration = value
    }

    /**
     * @param value Application Insights connection string used by Dapr to export Service to Service communication telemetry
     */
    @JvmName("cduppauikgqienom")
    public suspend fun daprAIConnectionString(`value`: Output) {
        this.daprAIConnectionString = value
    }

    /**
     * @param value Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
     */
    @JvmName("twlqgdoqyraknwsc")
    public suspend fun daprAIInstrumentationKey(`value`: Output) {
        this.daprAIInstrumentationKey = value
    }

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

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

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("swqswrecpwsoehfs")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("nisckxycowpmqlcq")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value SKU properties of the Environment.
     */
    @JvmName("isdfjdevwamyokgj")
    public suspend fun sku(`value`: Output) {
        this.sku = value
    }

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

    /**
     * @param value Vnet configuration for the environment
     */
    @JvmName("ywnuniujcsmxsejk")
    public suspend fun vnetConfiguration(`value`: Output) {
        this.vnetConfiguration = value
    }

    /**
     * @param value Workload profiles configured for the Managed Environment.
     */
    @JvmName("dhasswmsuuaplsey")
    public suspend fun workloadProfiles(`value`: Output>) {
        this.workloadProfiles = value
    }

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

    /**
     * @param values Workload profiles configured for the Managed Environment.
     */
    @JvmName("jxrsrayecjdfncsh")
    public suspend fun workloadProfiles(values: List>) {
        this.workloadProfiles = Output.all(values)
    }

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

    /**
     * @param value Cluster configuration which enables the log daemon to export
     * app logs to a destination. Currently only "log-analytics" is
     * supported
     */
    @JvmName("jtecvwgbmugayrgc")
    public suspend fun appLogsConfiguration(`value`: AppLogsConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.appLogsConfiguration = mapped
    }

    /**
     * @param argument Cluster configuration which enables the log daemon to export
     * app logs to a destination. Currently only "log-analytics" is
     * supported
     */
    @JvmName("kajhxnhiiexrfpbo")
    public suspend fun appLogsConfiguration(argument: suspend AppLogsConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = AppLogsConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.appLogsConfiguration = mapped
    }

    /**
     * @param value Custom domain configuration for the environment
     */
    @JvmName("otwyhnphhgnsvvvq")
    public suspend fun customDomainConfiguration(`value`: CustomDomainConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customDomainConfiguration = mapped
    }

    /**
     * @param argument Custom domain configuration for the environment
     */
    @JvmName("cwfkrgopnhtwtvpp")
    public suspend fun customDomainConfiguration(argument: suspend CustomDomainConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = CustomDomainConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.customDomainConfiguration = mapped
    }

    /**
     * @param value Application Insights connection string used by Dapr to export Service to Service communication telemetry
     */
    @JvmName("nplepuuqgoscvwne")
    public suspend fun daprAIConnectionString(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.daprAIConnectionString = mapped
    }

    /**
     * @param value Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
     */
    @JvmName("trwkbblsvdukpucs")
    public suspend fun daprAIInstrumentationKey(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.daprAIInstrumentationKey = mapped
    }

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

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

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("evruyatanwkgvulc")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("mcjlruhmpdkmvvba")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value SKU properties of the Environment.
     */
    @JvmName("tbqwobngoyuvhgvr")
    public suspend fun sku(`value`: EnvironmentSkuPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sku = mapped
    }

    /**
     * @param argument SKU properties of the Environment.
     */
    @JvmName("mwkjoggufmusraww")
    public suspend fun sku(argument: suspend EnvironmentSkuPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = EnvironmentSkuPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.sku = mapped
    }

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

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

    /**
     * @param value Vnet configuration for the environment
     */
    @JvmName("kxedfkgaitowxjlv")
    public suspend fun vnetConfiguration(`value`: VnetConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vnetConfiguration = mapped
    }

    /**
     * @param argument Vnet configuration for the environment
     */
    @JvmName("fqppjiedcbllxekx")
    public suspend fun vnetConfiguration(argument: suspend VnetConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = VnetConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vnetConfiguration = mapped
    }

    /**
     * @param value Workload profiles configured for the Managed Environment.
     */
    @JvmName("wcmpsbigglbvdmik")
    public suspend fun workloadProfiles(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workloadProfiles = mapped
    }

    /**
     * @param argument Workload profiles configured for the Managed Environment.
     */
    @JvmName("nehpnvdhevhfpkor")
    public suspend fun workloadProfiles(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            WorkloadProfileArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.workloadProfiles = mapped
    }

    /**
     * @param argument Workload profiles configured for the Managed Environment.
     */
    @JvmName("ogjjprdlkktflsqa")
    public suspend fun workloadProfiles(vararg argument: suspend WorkloadProfileArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            WorkloadProfileArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.workloadProfiles = mapped
    }

    /**
     * @param argument Workload profiles configured for the Managed Environment.
     */
    @JvmName("vvubrvliommssokh")
    public suspend fun workloadProfiles(argument: suspend WorkloadProfileArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(WorkloadProfileArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.workloadProfiles = mapped
    }

    /**
     * @param values Workload profiles configured for the Managed Environment.
     */
    @JvmName("cpjgdramsbyuggxs")
    public suspend fun workloadProfiles(vararg values: WorkloadProfileArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.workloadProfiles = mapped
    }

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

    internal fun build(): ManagedEnvironmentArgs = ManagedEnvironmentArgs(
        appLogsConfiguration = appLogsConfiguration,
        customDomainConfiguration = customDomainConfiguration,
        daprAIConnectionString = daprAIConnectionString,
        daprAIInstrumentationKey = daprAIInstrumentationKey,
        environmentName = environmentName,
        kind = kind,
        location = location,
        resourceGroupName = resourceGroupName,
        sku = sku,
        tags = tags,
        vnetConfiguration = vnetConfiguration,
        workloadProfiles = workloadProfiles,
        zoneRedundant = zoneRedundant,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy