import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Container App Environment. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", { * name: "example-workspace", * location: example.location, * resourceGroupName: example.name, * sku: "PerGB2018", * retentionInDays: 30, * }); * const exampleEnvironment = new azure.containerapp.Environment("example", { * name: "my-environment", * location: example.location, * resourceGroupName: example.name, * logsDestination: "log-analytics", * logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.App` - 2025-07-01 * * * `Microsoft.OperationalInsights` - 2020-08-01 * * ## Import * * A Container App Environment can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:containerapp/environment:Environment example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" * ``` */ export declare class Environment extends pulumi.CustomResource { /** * Get an existing Environment resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: EnvironmentState, opts?: pulumi.CustomResourceOptions): Environment; /** * Returns true if the given object is an instance of Environment. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Environment; /** * The ID of the Custom Domain Verification for this Container App Environment. */ readonly customDomainVerificationId: pulumi.Output; /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. */ readonly daprApplicationInsightsConnectionString: pulumi.Output; /** * The default, publicly resolvable, name of this Container App Environment. */ readonly defaultDomain: pulumi.Output; /** * The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation. */ readonly dockerBridgeCidr: pulumi.Output; /** * An `identity` block as defined below. */ readonly identity: pulumi.Output; /** * Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created. * * > **Note:** Only valid if a `workloadProfile` is specified. If `infrastructureSubnetId` is specified, this resource group will be created in the same subscription as `infrastructureSubnetId`. */ readonly infrastructureResourceGroupName: pulumi.Output; /** * The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. * * > **Note:** The Subnet must have a `/21` or larger address space. */ readonly infrastructureSubnetId: pulumi.Output; /** * Should the Container Environment operate in Internal Load Balancing Mode? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ readonly internalLoadBalancerEnabled: pulumi.Output; /** * Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. * * > **Note:** required if `logsDestination` is set to `log-analytics`. Cannot be set if `logsDestination` is set to `azure-monitor`. */ readonly logAnalyticsWorkspaceId: pulumi.Output; /** * Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only. */ readonly logsDestination: pulumi.Output; /** * Should mutual transport layer security (mTLS) be enabled? Defaults to `false`. * * > **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios. */ readonly mutualTlsEnabled: pulumi.Output; /** * The name of the Container Apps Managed Environment. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The IP range, in CIDR notation, that is reserved for environment infrastructure IP addresses. */ readonly platformReservedCidr: pulumi.Output; /** * The IP address from the IP range defined by `platformReservedCidr` that is reserved for the internal DNS server. */ readonly platformReservedDnsIpAddress: pulumi.Output; /** * The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`. */ readonly publicNetworkAccess: pulumi.Output; /** * The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * The Static IP address of the Environment. */ readonly staticIpAddress: pulumi.Output; /** * A mapping of tags to assign to the resource. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * One or more `workloadProfile` blocks as defined below. */ readonly workloadProfiles: pulumi.Output; /** * Should the Container App Environment be created with Zone Redundancy enabled? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ readonly zoneRedundancyEnabled: pulumi.Output; /** * Create a Environment resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: EnvironmentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Environment resources. */ export interface EnvironmentState { /** * The ID of the Custom Domain Verification for this Container App Environment. */ customDomainVerificationId?: pulumi.Input; /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. */ daprApplicationInsightsConnectionString?: pulumi.Input; /** * The default, publicly resolvable, name of this Container App Environment. */ defaultDomain?: pulumi.Input; /** * The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation. */ dockerBridgeCidr?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created. * * > **Note:** Only valid if a `workloadProfile` is specified. If `infrastructureSubnetId` is specified, this resource group will be created in the same subscription as `infrastructureSubnetId`. */ infrastructureResourceGroupName?: pulumi.Input; /** * The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. * * > **Note:** The Subnet must have a `/21` or larger address space. */ infrastructureSubnetId?: pulumi.Input; /** * Should the Container Environment operate in Internal Load Balancing Mode? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ internalLoadBalancerEnabled?: pulumi.Input; /** * Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. * * > **Note:** required if `logsDestination` is set to `log-analytics`. Cannot be set if `logsDestination` is set to `azure-monitor`. */ logAnalyticsWorkspaceId?: pulumi.Input; /** * Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only. */ logsDestination?: pulumi.Input; /** * Should mutual transport layer security (mTLS) be enabled? Defaults to `false`. * * > **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios. */ mutualTlsEnabled?: pulumi.Input; /** * The name of the Container Apps Managed Environment. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The IP range, in CIDR notation, that is reserved for environment infrastructure IP addresses. */ platformReservedCidr?: pulumi.Input; /** * The IP address from the IP range defined by `platformReservedCidr` that is reserved for the internal DNS server. */ platformReservedDnsIpAddress?: pulumi.Input; /** * The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`. */ publicNetworkAccess?: pulumi.Input; /** * The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * The Static IP address of the Environment. */ staticIpAddress?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * One or more `workloadProfile` blocks as defined below. */ workloadProfiles?: pulumi.Input[]>; /** * Should the Container App Environment be created with Zone Redundancy enabled? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ zoneRedundancyEnabled?: pulumi.Input; } /** * The set of arguments for constructing a Environment resource. */ export interface EnvironmentArgs { /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. */ daprApplicationInsightsConnectionString?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. Changing this forces a new resource to be created. * * > **Note:** Only valid if a `workloadProfile` is specified. If `infrastructureSubnetId` is specified, this resource group will be created in the same subscription as `infrastructureSubnetId`. */ infrastructureResourceGroupName?: pulumi.Input; /** * The existing Subnet to use for the Container Apps Control Plane. Changing this forces a new resource to be created. * * > **Note:** The Subnet must have a `/21` or larger address space. */ infrastructureSubnetId?: pulumi.Input; /** * Should the Container Environment operate in Internal Load Balancing Mode? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ internalLoadBalancerEnabled?: pulumi.Input; /** * Specifies the supported Azure location where the Container App Environment is to exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The ID for the Log Analytics Workspace to link this Container Apps Managed Environment to. * * > **Note:** required if `logsDestination` is set to `log-analytics`. Cannot be set if `logsDestination` is set to `azure-monitor`. */ logAnalyticsWorkspaceId?: pulumi.Input; /** * Where the application logs will be saved for this Container Apps Managed Environment. Possible values include `log-analytics` and `azure-monitor`. Omitting this value will result in logs being streamed only. */ logsDestination?: pulumi.Input; /** * Should mutual transport layer security (mTLS) be enabled? Defaults to `false`. * * > **Note:** This feature is in public preview. Enabling mTLS for your applications may increase response latency and reduce maximum throughput in high-load scenarios. */ mutualTlsEnabled?: pulumi.Input; /** * The name of the Container Apps Managed Environment. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The public network access setting for the Container App Environment. Possible values are `Enabled` and `Disabled`. */ publicNetworkAccess?: pulumi.Input; /** * The name of the resource group in which the Container App Environment is to be created. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * One or more `workloadProfile` blocks as defined below. */ workloadProfiles?: pulumi.Input[]>; /** * Should the Container App Environment be created with Zone Redundancy enabled? Defaults to `false`. Changing this forces a new resource to be created. * * > **Note:** can only be set to `true` if `infrastructureSubnetId` is specified. */ zoneRedundancyEnabled?: pulumi.Input; }