Managed Environment Args
An environment for hosting container apps Uses Azure REST API version 2024-03-01. In version 2.x of the Azure Native provider, it used API version 2022-10-01. Other available API versions: 2022-10-01, 2022-11-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-08-02-preview, 2024-10-02-preview, 2025-01-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native app [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create environment with custom infrastructureResourceGroup
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 = "1234",
CertificateValue = "Y2VydA==",
DnsSuffix = "www.my-name.com",
},
DaprAIConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
EnvironmentName = "testcontainerenv",
InfrastructureResourceGroup = "myInfrastructureRgName",
Location = "East US",
ResourceGroupName = "examplerg",
VnetConfiguration = new AzureNative.App.Inputs.VnetConfigurationArgs
{
InfrastructureSubnetId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1",
},
WorkloadProfiles = new[]
{
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 12,
MinimumCount = 3,
Name = "My-GP-01",
WorkloadProfileType = "GeneralPurpose",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 6,
MinimumCount = 3,
Name = "My-MO-01",
WorkloadProfileType = "MemoryOptimized",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 6,
MinimumCount = 3,
Name = "My-CO-01",
WorkloadProfileType = "ComputeOptimized",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
Name = "My-consumption-01",
WorkloadProfileType = "Consumption",
},
},
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("1234"),
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"),
InfrastructureResourceGroup: pulumi.String("myInfrastructureRgName"),
Location: pulumi.String("East US"),
ResourceGroupName: pulumi.String("examplerg"),
VnetConfiguration: &app.VnetConfigurationArgs{
InfrastructureSubnetId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"),
},
WorkloadProfiles: app.WorkloadProfileArray{
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(12),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-GP-01"),
WorkloadProfileType: pulumi.String("GeneralPurpose"),
},
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(6),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-MO-01"),
WorkloadProfileType: pulumi.String("MemoryOptimized"),
},
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(6),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-CO-01"),
WorkloadProfileType: pulumi.String("ComputeOptimized"),
},
&app.WorkloadProfileArgs{
Name: pulumi.String("My-consumption-01"),
WorkloadProfileType: pulumi.String("Consumption"),
},
},
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.VnetConfigurationArgs;
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("1234")
.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")
.infrastructureResourceGroup("myInfrastructureRgName")
.location("East US")
.resourceGroupName("examplerg")
.vnetConfiguration(VnetConfigurationArgs.builder()
.infrastructureSubnetId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1")
.build())
.workloadProfiles(
WorkloadProfileArgs.builder()
.maximumCount(12)
.minimumCount(3)
.name("My-GP-01")
.workloadProfileType("GeneralPurpose")
.build(),
WorkloadProfileArgs.builder()
.maximumCount(6)
.minimumCount(3)
.name("My-MO-01")
.workloadProfileType("MemoryOptimized")
.build(),
WorkloadProfileArgs.builder()
.maximumCount(6)
.minimumCount(3)
.name("My-CO-01")
.workloadProfileType("ComputeOptimized")
.build(),
WorkloadProfileArgs.builder()
.name("My-consumption-01")
.workloadProfileType("Consumption")
.build())
.zoneRedundant(true)
.build());
}
}
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 = "1234",
CertificateValue = "Y2VydA==",
DnsSuffix = "www.my-name.com",
},
DaprAIConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/",
EnvironmentName = "testcontainerenv",
Location = "East US",
PeerAuthentication = new AzureNative.App.Inputs.ManagedEnvironmentPeerAuthenticationArgs
{
Mtls = new AzureNative.App.Inputs.MtlsArgs
{
Enabled = true,
},
},
PeerTrafficConfiguration = new AzureNative.App.Inputs.ManagedEnvironmentPeerTrafficConfigurationArgs
{
Encryption = new AzureNative.App.Inputs.ManagedEnvironmentEncryptionArgs
{
Enabled = true,
},
},
ResourceGroupName = "examplerg",
VnetConfiguration = new AzureNative.App.Inputs.VnetConfigurationArgs
{
InfrastructureSubnetId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1",
},
WorkloadProfiles = new[]
{
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 12,
MinimumCount = 3,
Name = "My-GP-01",
WorkloadProfileType = "GeneralPurpose",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 6,
MinimumCount = 3,
Name = "My-MO-01",
WorkloadProfileType = "MemoryOptimized",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
MaximumCount = 6,
MinimumCount = 3,
Name = "My-CO-01",
WorkloadProfileType = "ComputeOptimized",
},
new AzureNative.App.Inputs.WorkloadProfileArgs
{
Name = "My-consumption-01",
WorkloadProfileType = "Consumption",
},
},
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("1234"),
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"),
Location: pulumi.String("East US"),
PeerAuthentication: &app.ManagedEnvironmentPeerAuthenticationArgs{
Mtls: &app.MtlsArgs{
Enabled: pulumi.Bool(true),
},
},
PeerTrafficConfiguration: &app.ManagedEnvironmentPeerTrafficConfigurationArgs{
Encryption: &app.ManagedEnvironmentEncryptionArgs{
Enabled: pulumi.Bool(true),
},
},
ResourceGroupName: pulumi.String("examplerg"),
VnetConfiguration: &app.VnetConfigurationArgs{
InfrastructureSubnetId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1"),
},
WorkloadProfiles: app.WorkloadProfileArray{
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(12),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-GP-01"),
WorkloadProfileType: pulumi.String("GeneralPurpose"),
},
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(6),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-MO-01"),
WorkloadProfileType: pulumi.String("MemoryOptimized"),
},
&app.WorkloadProfileArgs{
MaximumCount: pulumi.Int(6),
MinimumCount: pulumi.Int(3),
Name: pulumi.String("My-CO-01"),
WorkloadProfileType: pulumi.String("ComputeOptimized"),
},
&app.WorkloadProfileArgs{
Name: pulumi.String("My-consumption-01"),
WorkloadProfileType: pulumi.String("Consumption"),
},
},
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.ManagedEnvironmentPeerAuthenticationArgs;
import com.pulumi.azurenative.app.inputs.MtlsArgs;
import com.pulumi.azurenative.app.inputs.ManagedEnvironmentPeerTrafficConfigurationArgs;
import com.pulumi.azurenative.app.inputs.ManagedEnvironmentEncryptionArgs;
import com.pulumi.azurenative.app.inputs.VnetConfigurationArgs;
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("1234")
.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")
.location("East US")
.peerAuthentication(ManagedEnvironmentPeerAuthenticationArgs.builder()
.mtls(MtlsArgs.builder()
.enabled(true)
.build())
.build())
.peerTrafficConfiguration(ManagedEnvironmentPeerTrafficConfigurationArgs.builder()
.encryption(ManagedEnvironmentEncryptionArgs.builder()
.enabled(true)
.build())
.build())
.resourceGroupName("examplerg")
.vnetConfiguration(VnetConfigurationArgs.builder()
.infrastructureSubnetId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1")
.build())
.workloadProfiles(
WorkloadProfileArgs.builder()
.maximumCount(12)
.minimumCount(3)
.name("My-GP-01")
.workloadProfileType("GeneralPurpose")
.build(),
WorkloadProfileArgs.builder()
.maximumCount(6)
.minimumCount(3)
.name("My-MO-01")
.workloadProfileType("MemoryOptimized")
.build(),
WorkloadProfileArgs.builder()
.maximumCount(6)
.minimumCount(3)
.name("My-CO-01")
.workloadProfileType("ComputeOptimized")
.build(),
WorkloadProfileArgs.builder()
.name("My-consumption-01")
.workloadProfileType("Consumption")
.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}
Constructors
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
Name of the Environment.
Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as the subnet.
Peer authentication settings for the Managed Environment
Peer traffic settings for the Managed Environment
The name of the resource group. The name is case insensitive.
Vnet configuration for the environment
Workload profiles configured for the Managed Environment.
Whether or not this Managed Environment is zone-redundant.