# LegacyApplicationEnvironmentConstruct

- Kind: `class`
- Package: [Aspire.Hosting.Radius](/reference/api/csharp/aspire.hosting.radius.md)
- Version: `13.5.3-preview.1.26425.3`
- Namespace: `Aspire.Hosting.Radius.Publishing.Constructs`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/b5f143315ffb6968ea939a9978797a5b20e4c688/src/Aspire.Hosting.Radius/Publishing/Constructs/LegacyApplicationEnvironmentConstruct.cs)
- Inherits: `ProvisionableResource`

Represents a legacy `Applications.Core/environments@2023-10-01-preview` resource in the Bicep AST. Used as a parent for `Applications.*` portable resources whose UDT counterparts are not yet GA (Redis, Mongo, RabbitMQ, Dapr state store, Dapr pubsub).

## Definition

```csharp
namespace Aspire.Hosting.Radius.Publishing.Constructs;

public sealed class LegacyApplicationEnvironmentConstruct
    : Azure.Provisioning.Primitives.ProvisionableResource
{
    // ...
}
```

## Remarks

Legacy environments carry recipes inline under `properties.recipes` (nested `type → recipeName → { templateKind, templatePath }`) -- the legacy schema keeps the original key names. The new `recipeKind` / `recipeLocation` keys are only used by `Radius.Core/recipePacks`.

## Constructors

- [LegacyApplicationEnvironmentConstruct(string)](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/constructors.md#constructor-string) -- Initializes a new [LegacyApplicationEnvironmentConstruct](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct.md) with the given Bicep identifier.

## Properties

- [AwsScope](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#awsscope) : `BicepValue<string>` `get; set` -- Scope path of the AWS cloud provider, emitted as `properties.providers.aws.scope`. Unset for environments that do not configure an AWS provider.
- [AzureScope](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#azurescope) : `BicepValue<string>` `get; set` -- Scope path of the Azure cloud provider, emitted as `properties.providers.azure.scope`. Unset for environments that do not configure an Azure provider. Required when a cloud-managed resource on this environment is materialized via a legacy `Applications.*` recipe so Radius can resolve the Azure provider during deployment.
- [ComputeKind](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#computekind) : `BicepValue<string>` `get; set` -- Compute kind (e.g., `kubernetes`).
- [ComputeNamespace](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#computenamespace) : `BicepValue<string>` `get; set` -- Compute namespace for Kubernetes.
- [EnvironmentName](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#environmentname) : `BicepValue<string>` `get; set` -- The resource name.
- [RecipeConfig](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#recipeconfig) : `BicepDictionary<object>` `get; set` -- The `recipeConfig` block ( `properties.recipeConfig`) carrying secret-store references for private Bicep-registry auth, Terraform Git PAT auth, and `envSecrets`. Populated only when a secret store is consumed.
- [Recipes](/reference/api/csharp/aspire.hosting.radius/legacyapplicationenvironmentconstruct/properties.md#recipes) : `BicepDictionary<BicepDictionary<LegacyRecipeEntryConstruct>>` `get; set` -- Inline recipes keyed by resource type, with each value being a map of recipe name to recipe entry.
