# withPipelineStepFactory

- Module: [Aspire.Hosting](/reference/api/typescript/aspire.hosting.md)
- Version: `13.2.0`
- Kind: `method`
- Source: [GitHub](https://github.com/microsoft/aspire)

Adds a pipeline step to the resource

## Definition

```typescript
interface ContainerResource {
  // ... omitted for brevity
  withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise<void>, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): IResource
}
```

## Parameters

- `stepName` (`string`)
- `callback` (`(arg: PipelineStepContext) => Promise<void>`)
- `dependsOn` (`string[]`) `optional`
- `requiredBy` (`string[]`) `optional`
- `tags` (`string[]`) `optional`
- `description` (`string`) `optional`

## Returns

[IResource](/reference/api/typescript/aspire.hosting/iresource.md) `builder`

## Applies to

- [ContainerResource](/reference/api/typescript/aspire.hosting/containerresource.md)
- [ExecutableResource](/reference/api/typescript/aspire.hosting/executableresource.md)
- [ProjectResource](/reference/api/typescript/aspire.hosting/projectresource.md)
- [ParameterResource](/reference/api/typescript/aspire.hosting/parameterresource.md)
- [ConnectionStringResource](/reference/api/typescript/aspire.hosting/connectionstringresource.md)
- [ContainerRegistryResource](/reference/api/typescript/aspire.hosting/containerregistryresource.md)
- [DotnetToolResource](/reference/api/typescript/aspire.hosting/dotnettoolresource.md)
- [ExternalServiceResource](/reference/api/typescript/aspire.hosting/externalserviceresource.md)
- [CSharpAppResource](/reference/api/typescript/aspire.hosting/csharpappresource.md)
