# AzureProvisioningResourceExtensions

- Kind: `class`
- Package: [Aspire.Hosting.Azure](/reference/api/csharp/aspire.hosting.azure.md)
- Version: `13.4.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/AzureProvisioningResourceExtensions.cs)

Extensions for working with [AzureProvisioningResource](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresource.md) and related types.

## Definition

```csharp
namespace Aspire.Hosting;

public static class AzureProvisioningResourceExtensions
{
    // ...
}
```

## Methods

- [AddAzureInfrastructure(IDistributedApplicationBuilder, string, Action<AzureResourceInfrastructure>)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#addazureinfrastructure-idistributedapplicationbuilder-string-action-azureresourceinfrastructure) : `IResourceBuilder<AzureProvisioningResource>` `extension` `ats export` -- Adds an Azure provisioning resource to the application model.
- [AsKeyVaultSecret(IAzureKeyVaultSecretReference, AzureResourceInfrastructure)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#askeyvaultsecret-iazurekeyvaultsecretreference-azureresourceinfrastructure) : `KeyVaultSecret` `extension` `ats ignored` -- Gets or creates a `KeyVault.KeyVaultSecret` resource in the specified [AzureResourceInfrastructure](/reference/api/csharp/aspire.hosting.azure/azureresourceinfrastructure.md) for the given [IAzureKeyVaultSecretReference](/reference/api/csharp/aspire.hosting.azure/iazurekeyvaultsecretreference.md). If the referenced Key Vault or secret does not already exist in the infrastructure, they will be created and added. This allows referencing secrets that are provisioned outside of the current deployment.
- [AsProvisioningParameter(IResourceBuilder<ParameterResource>, AzureResourceInfrastructure, string?)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-iresourcebuilder-parameterresource-azureresourceinfrastructure-string) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to `parameterResourceBuilder`.
- [AsProvisioningParameter(IManifestExpressionProvider, AzureResourceInfrastructure, string?, bool?)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-imanifestexpressionprovider-azureresourceinfrastructure-string-bool) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to the given `manifestExpressionProvider`.
- [AsProvisioningParameter(ParameterResource, AzureResourceInfrastructure, string?)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-parameterresource-azureresourceinfrastructure-string) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to `parameterResource`.
- [AsProvisioningParameter(BicepOutputReference, AzureResourceInfrastructure, string?)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-bicepoutputreference-azureresourceinfrastructure-string) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to `outputReference`.
- [AsProvisioningParameter(EndpointReference, AzureResourceInfrastructure, string)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-endpointreference-azureresourceinfrastructure-string) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to `endpointReference`.
- [AsProvisioningParameter(ReferenceExpression, AzureResourceInfrastructure, string)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#asprovisioningparameter-referenceexpression-azureresourceinfrastructure-string) : `ProvisioningParameter` `extension` `ats ignored` -- Creates a new `Provisioning.ProvisioningParameter` in `infrastructure`, or reuses an existing bicep parameter if one with the same name already exists, that corresponds to `expression`.
- [ConfigureInfrastructure(IResourceBuilder<T>, Action<AzureResourceInfrastructure>)](/reference/api/csharp/aspire.hosting.azure/azureprovisioningresourceextensions/methods.md#configureinfrastructure-iresourcebuilder-t-action-azureresourceinfrastructure) : `IResourceBuilder<T>` `extension` `ats export` -- Configures the Azure provisioning resource `Provisioning.Infrastructure`.
