# PipelineStepFactoryExtensions

- Kind: `class`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting.Pipelines`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStepFactoryExtensions.cs)

Provides extension methods for adding pipeline steps to resources.

## Definition

```csharp
namespace Aspire.Hosting.Pipelines;

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

## Methods

- [WithPipelineConfiguration(IResourceBuilder<T>, Func<PipelineConfigurationContext, Task>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelineconfiguration-iresourcebuilder-t-func-pipelineconfigurationcontext-task) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats ignored` -- Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.
- [WithPipelineConfiguration(IResourceBuilder<T>, Action<PipelineConfigurationContext>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelineconfiguration-iresourcebuilder-t-action-pipelineconfigurationcontext) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats export` -- Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.
- [WithPipelineStepFactory(IResourceBuilder<T>, Func<PipelineStepFactoryContext, PipelineStep>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelinestepfactory-iresourcebuilder-t-func-pipelinestepfactorycontext-pipelinestep) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats ignored` -- Adds a pipeline step to the resource that will be executed during deployment.
- [WithPipelineStepFactory(IResourceBuilder<T>, Func<PipelineStepFactoryContext, Task<PipelineStep>>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelinestepfactory-iresourcebuilder-t-func-pipelinestepfactorycontext-task-pipelinestep) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats ignored` -- Adds a pipeline step to the resource that will be executed during deployment.
- [WithPipelineStepFactory(IResourceBuilder<T>, Func<PipelineStepFactoryContext, IEnumerable<PipelineStep>>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelinestepfactory-iresourcebuilder-t-func-pipelinestepfactorycontext-ienumerable-pipelinestep) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats ignored` -- Adds multiple pipeline steps to the resource that will be executed during deployment.
- [WithPipelineStepFactory(IResourceBuilder<T>, Func<PipelineStepFactoryContext, Task<IEnumerable<PipelineStep>>>)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelinestepfactory-iresourcebuilder-t-func-pipelinestepfactorycontext-task-ienumerable-pipelinestep) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats ignored` -- Adds multiple pipeline steps to the resource that will be executed during deployment.
- [WithPipelineStepFactory(IResourceBuilder<T>, string, Func<PipelineStepContext, Task>, string[]?, string[]?, string[]?, string?)](/reference/api/csharp/aspire.hosting/pipelinestepfactoryextensions/methods.md#withpipelinestepfactory-iresourcebuilder-t-string-func-pipelinestepcontext-task-string-string-string-string) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats export` -- Adds a pipeline step to the resource that will be executed during deployment.
