# ParameterProcessor Methods

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ParameterProcessor](/reference/api/csharp/aspire.hosting/parameterprocessor.md)
- Kind: `Methods`
- Members: `4`

Handles processing of parameter resources during application orchestration.

## DeleteParameterAsync(ParameterResource, CancellationToken)

- Name: `DeleteParameterAsync(ParameterResource, CancellationToken)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs#L333-L414)

Deletes a parameter value from the deployment state and marks it as unresolved.

```csharp
public sealed class ParameterProcessor
{
    public Task DeleteParameterAsync(
        ParameterResource parameterResource,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `parameterResource` ([ParameterResource](/reference/api/csharp/aspire.hosting/parameterresource.md))
  The parameter resource to delete the value for.
- `cancellationToken` (`CancellationToken`) `optional`
  A cancellation token.

## Returns

`Task` -- A task that completes when the value has been deleted.

## InitializeParametersAsync(IEnumerable<ParameterResource>, bool)

- Name: `InitializeParametersAsync(IEnumerable<ParameterResource>, bool)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs)

Initializes parameter resources and handles unresolved parameters if interaction service is available.

```csharp
public sealed class ParameterProcessor
{
    public Task InitializeParametersAsync(
        IEnumerable<ParameterResource> parameterResources,
        bool waitForResolution = false)
    {
        // ...
    }
}
```

## Parameters

- `parameterResources` ([IEnumerable<ParameterResource>](/reference/api/csharp/aspire.hosting/parameterresource.md))
  The parameter resources to initialize.
- `waitForResolution` (`bool`) `optional`
  Whether to wait for all parameters to be resolved before completing the returned Task.

## Returns

`Task` -- A task that completes when all parameters are resolved (if waitForResolution is true) or when initialization is complete.

## InitializeParametersAsync(DistributedApplicationModel, bool, CancellationToken)

- Name: `InitializeParametersAsync(DistributedApplicationModel, bool, CancellationToken)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs)

Initializes parameter resources by collecting dependent parameters from the distributed application model and handles unresolved parameters if interaction service is available.

```csharp
public sealed class ParameterProcessor
{
    public Task InitializeParametersAsync(
        DistributedApplicationModel model,
        bool waitForResolution = false,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `model` ([DistributedApplicationModel](/reference/api/csharp/aspire.hosting/distributedapplicationmodel.md))
  The distributed application model to collect parameters from.
- `waitForResolution` (`bool`) `optional`
  Whether to wait for all parameters to be resolved before completing the returned Task.
- `cancellationToken` (`CancellationToken`) `optional`
  The cancellation token to observe while waiting for parameters to be resolved.

## Returns

`Task` -- A task that completes when all parameters are resolved (if waitForResolution is true) or when initialization is complete.

## SetParameterAsync(ParameterResource, CancellationToken)

- Name: `SetParameterAsync(ParameterResource, CancellationToken)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Orchestrator/ParameterProcessor.cs#L251-L304)

Prompts the user to set a value for a single parameter.

```csharp
public sealed class ParameterProcessor
{
    public Task SetParameterAsync(
        ParameterResource parameterResource,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `parameterResource` ([ParameterResource](/reference/api/csharp/aspire.hosting/parameterresource.md))
  The parameter resource to set the value for.
- `cancellationToken` (`CancellationToken`) `optional`
  A cancellation token.

## Returns

`Task` -- A task that completes when the user has set the value or cancelled.
