Managed Environment
An environment for hosting container apps Uses Azure REST API version 2022-10-01. In version 1.x of the Azure Native provider, it used API version 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, 2024-08-02-preview, 2024-10-02-preview, 2025-01-01.
Example Usage
Create environments
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,
});
});
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
})
}
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.
$ pulumi import azure-native:app:ManagedEnvironment testcontainerenv /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}
Properties
Cluster configuration which enables the log daemon to export app logs to configured destination.
Custom domain configuration for the environment
Application Insights connection string used by Dapr to export Service to Service communication telemetry
Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
Default Domain Name for the cluster
Any errors that occurred during deployment or deployment validation
The endpoint of the eventstream of the Environment.
Provisioning state of the Environment.
SKU properties of the Environment.
Azure Resource Manager metadata containing createdBy and modifiedBy information.
Vnet configuration for the environment
Workload profiles configured for the Managed Environment.
Whether or not this Managed Environment is zone-redundant.