import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * An environment for hosting container apps
 *
 * Uses Azure REST API version 2025-02-02-preview. 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-03-01, 2024-08-02-preview, 2024-10-02-preview, 2025-01-01, 2025-07-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](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class ManagedEnvironment extends pulumi.CustomResource {
    /**
     * Get an existing ManagedEnvironment 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ManagedEnvironment;
    /**
     * Returns true if the given object is an instance of ManagedEnvironment.  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 ManagedEnvironment;
    /**
     * Environment level Application Insights configuration
     */
    readonly appInsightsConfiguration: pulumi.Output<outputs.app.AppInsightsConfigurationResponse | undefined>;
    /**
     * Cluster configuration which enables the log daemon to export app logs to configured destination
     */
    readonly appLogsConfiguration: pulumi.Output<outputs.app.AppLogsConfigurationResponse | undefined>;
    /**
     * The list of availability zones to use for managed environment
     */
    readonly availabilityZones: pulumi.Output<string[] | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Custom domain configuration for the environment
     */
    readonly customDomainConfiguration: pulumi.Output<outputs.app.CustomDomainConfigurationResponse | undefined>;
    /**
     * Application Insights connection string used by Dapr to export Service to Service communication telemetry
     */
    readonly daprAIConnectionString: pulumi.Output<string | undefined>;
    /**
     * Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
     */
    readonly daprAIInstrumentationKey: pulumi.Output<string | undefined>;
    /**
     * The configuration of Dapr component.
     */
    readonly daprConfiguration: pulumi.Output<outputs.app.DaprConfigurationResponse | undefined>;
    /**
     * Default Domain Name for the cluster
     */
    readonly defaultDomain: pulumi.Output<string>;
    /**
     * Any errors that occurred during deployment or deployment validation
     */
    readonly deploymentErrors: pulumi.Output<string>;
    /**
     * Disk encryption configuration for the Managed Environment.
     */
    readonly diskEncryptionConfiguration: pulumi.Output<outputs.app.DiskEncryptionConfigurationResponse | undefined>;
    /**
     * The endpoint of the eventstream of the Environment.
     */
    readonly eventStreamEndpoint: pulumi.Output<string>;
    /**
     * Managed identities for the Managed Environment to interact with other Azure services without maintaining any secrets or credentials in code.
     */
    readonly identity: pulumi.Output<outputs.app.ManagedServiceIdentityResponse | undefined>;
    /**
     * 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.
     */
    readonly infrastructureResourceGroup: pulumi.Output<string | undefined>;
    /**
     * Ingress configuration for the Managed Environment.
     */
    readonly ingressConfiguration: pulumi.Output<outputs.app.IngressConfigurationResponse | undefined>;
    /**
     * The configuration of Keda component.
     */
    readonly kedaConfiguration: pulumi.Output<outputs.app.KedaConfigurationResponse | undefined>;
    /**
     * Kind of the Environment.
     */
    readonly kind: pulumi.Output<string | undefined>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * Environment Open Telemetry configuration
     */
    readonly openTelemetryConfiguration: pulumi.Output<outputs.app.OpenTelemetryConfigurationResponse | undefined>;
    /**
     * Peer authentication settings for the Managed Environment
     */
    readonly peerAuthentication: pulumi.Output<outputs.app.ManagedEnvironmentResponsePeerAuthentication | undefined>;
    /**
     * Peer traffic settings for the Managed Environment
     */
    readonly peerTrafficConfiguration: pulumi.Output<outputs.app.ManagedEnvironmentResponsePeerTrafficConfiguration | undefined>;
    /**
     * Private endpoint connections to the resource.
     */
    readonly privateEndpointConnections: pulumi.Output<outputs.app.PrivateEndpointConnectionResponse[]>;
    /**
     * Private Link Default Domain Name for the environment
     */
    readonly privateLinkDefaultDomain: pulumi.Output<string>;
    /**
     * Provisioning state of the Environment.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled'.
     */
    readonly publicNetworkAccess: pulumi.Output<string | undefined>;
    /**
     * Static IP of the Environment
     */
    readonly staticIp: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.app.SystemDataResponse>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Vnet configuration for the environment
     */
    readonly vnetConfiguration: pulumi.Output<outputs.app.VnetConfigurationResponse | undefined>;
    /**
     * Workload profiles configured for the Managed Environment.
     */
    readonly workloadProfiles: pulumi.Output<outputs.app.WorkloadProfileResponse[] | undefined>;
    /**
     * Whether or not this Managed Environment is zone-redundant.
     */
    readonly zoneRedundant: pulumi.Output<boolean | undefined>;
    /**
     * Create a ManagedEnvironment 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: ManagedEnvironmentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a ManagedEnvironment resource.
 */
export interface ManagedEnvironmentArgs {
    /**
     * Environment level Application Insights configuration
     */
    appInsightsConfiguration?: pulumi.Input<inputs.app.AppInsightsConfigurationArgs>;
    /**
     * Cluster configuration which enables the log daemon to export app logs to configured destination
     */
    appLogsConfiguration?: pulumi.Input<inputs.app.AppLogsConfigurationArgs>;
    /**
     * The list of availability zones to use for managed environment
     */
    availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Custom domain configuration for the environment
     */
    customDomainConfiguration?: pulumi.Input<inputs.app.CustomDomainConfigurationArgs>;
    /**
     * Application Insights connection string used by Dapr to export Service to Service communication telemetry
     */
    daprAIConnectionString?: pulumi.Input<string>;
    /**
     * Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry
     */
    daprAIInstrumentationKey?: pulumi.Input<string>;
    /**
     * Disk encryption configuration for the Managed Environment.
     */
    diskEncryptionConfiguration?: pulumi.Input<inputs.app.DiskEncryptionConfigurationArgs>;
    /**
     * Name of the Environment.
     */
    environmentName?: pulumi.Input<string>;
    /**
     * Managed identities for the Managed Environment to interact with other Azure services without maintaining any secrets or credentials in code.
     */
    identity?: pulumi.Input<inputs.app.ManagedServiceIdentityArgs>;
    /**
     * 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.
     */
    infrastructureResourceGroup?: pulumi.Input<string>;
    /**
     * Ingress configuration for the Managed Environment.
     */
    ingressConfiguration?: pulumi.Input<inputs.app.IngressConfigurationArgs>;
    /**
     * Kind of the Environment.
     */
    kind?: pulumi.Input<string>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * Environment Open Telemetry configuration
     */
    openTelemetryConfiguration?: pulumi.Input<inputs.app.OpenTelemetryConfigurationArgs>;
    /**
     * Peer authentication settings for the Managed Environment
     */
    peerAuthentication?: pulumi.Input<inputs.app.ManagedEnvironmentPeerAuthenticationArgs>;
    /**
     * Peer traffic settings for the Managed Environment
     */
    peerTrafficConfiguration?: pulumi.Input<inputs.app.ManagedEnvironmentPeerTrafficConfigurationArgs>;
    /**
     * Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled'.
     */
    publicNetworkAccess?: pulumi.Input<string | enums.app.PublicNetworkAccess>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Vnet configuration for the environment
     */
    vnetConfiguration?: pulumi.Input<inputs.app.VnetConfigurationArgs>;
    /**
     * Workload profiles configured for the Managed Environment.
     */
    workloadProfiles?: pulumi.Input<pulumi.Input<inputs.app.WorkloadProfileArgs>[]>;
    /**
     * Whether or not this Managed Environment is zone-redundant.
     */
    zoneRedundant?: pulumi.Input<boolean>;
}
