Watch Aspire live streamsDocsTry Aspire

RadiusInfrastructureOptions Properties

ClassProperties10 members
Exposes strongly-typed mutable collections of Radius construct classes for AST customization via the ConfigureRadiusInfrastructure callback.
Gets the list of Radius.Core/applications constructs.
public List<RadiusApplicationConstruct> Applications { get; }
Gets the list of Radius.Compute/containers workload constructs.
public List<RadiusContainerConstruct> Containers { get; }
Gets the list of Radius.Core/environments constructs.
public List<RadiusEnvironmentConstruct> Environments { get; }
Gets the list of legacy Applications.Core/applications constructs paired with RadiusInfrastructureOptions.LegacyEnvironments.
public List<LegacyApplicationConstruct> LegacyApplications { get; }
Gets the list of legacy Applications.Core/environments constructs emitted when one or more targeted resources fall back to a legacy Applications.* type (e.g., Mongo, SQL Server, Dapr).
public List<LegacyApplicationEnvironmentConstruct> LegacyEnvironments { get; }
ParametersSection titled ParametersList<ProvisioningParameter>
Gets the top-level Bicep parameters emitted for secret/parameter values referenced by container environment variables. Secret sources are declared @secure() so their values are supplied at deploy time via rad deploy --parameters rather than inlined.
public List<ProvisioningParameter> Parameters { get; }
Gets the list of Radius.Core/recipePacks constructs.
public List<RadiusRecipePackConstruct> RecipePacks { get; }
Gets the list of resource type instance constructs (e.g., Radius.Data/redisCaches, Radius.Messaging/rabbitMQ).
public List<RadiusResourceTypeConstruct> ResourceTypeInstances { get; }
Gets the list of Applications.Core/secretStores constructs emitted for the Radius secret stores declared via AddRadiusSecretStore / WithSecretStore.
public List<RadiusSecretStoreConstruct> SecretStores { get; }
Gets the list of Radius.Security/secrets constructs — the Radius.* UDT secret primitive. The collection holds two kinds of entry, both of which a callback can observe:
public List<RadiusSecuritySecretConstruct> SecuritySecrets { get; }

The first kind carries a credential a UDT backing resource consumes by resource ID (for example the RabbitMQ properties.password). The second is generated per container to back its credential-bearing environment variables: a variable whose value carries a secret is emitted as a valueFrom.secretKeyRef into a secret named after the container (for example api-env-secret) rather than as a literal value, which is what keeps the credential out of the Deployment spec and its rollout history. Both kinds are ordinary Radius.Security/secrets resources, so nothing distinguishes them structurally — a callback that treats every entry here as backing-resource state and removes one may be removing the secret a container reads from.

Removing a container's secret, or the data key an environment variable names, is rejected with ASPIRERADIUS084 rather than silently emitted, because the resulting artifact is accepted by Radius and only fails as a pod that never starts. Set the environment variable explicitly in the callback if the intent is to supply the value another way.

Exposed for the same reason as the other collections: ConfigureRadiusInfrastructure can rename a construct, and callers that rename one of these must be able to see it. The publisher repairs the consuming resource's ID reference — and a container's secretKeyRef, which names the secret by resource name — after the callbacks run, so a rename of either kind does not dangle.