# PipelineStep

- 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/PipelineStep.cs)

Represents a step in the deployment pipeline.

## Definition

```csharp
namespace Aspire.Hosting.Pipelines;

public class PipelineStep
{
    // ...
}
```

## ATS metadata

### ATS export

- Type ID: `Aspire.Hosting/PipelineStep`

## Constructors

- [PipelineStep](/reference/api/csharp/aspire.hosting/pipelinestep/constructors.md#constructor)

## Properties

- [Action](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#action) : `Func<PipelineStepContext, Task>` `get; init` -- Gets or initializes the action to execute for this step.
- [DependsOnSteps](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#dependsonsteps) : `List<string>` `get; init` -- Gets or initializes the list of step names that this step depends on.
- [Description](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#description) : `string?` `get; init` -- Gets or initializes the description of the step.
- [Name](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#name) : `string` `get; init` -- Gets or initializes the unique name of the step.
- [RequiredBySteps](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#requiredbysteps) : `List<string>` `get; init` -- Gets or initializes the list of step names that require this step to complete before they can finish. This is used internally during pipeline construction and is converted to DependsOn relationships.
- [Resource](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#resource) : [IResource?](/reference/api/csharp/aspire.hosting/iresource.md) `get; set` -- Gets or initializes the resource that this step is associated with, if any.
- [Tags](/reference/api/csharp/aspire.hosting/pipelinestep/properties.md#tags) : `List<string>` `get; init` -- Gets or initializes the list of tags that categorize this step.

## Methods

- [DependsOn(string)](/reference/api/csharp/aspire.hosting/pipelinestep/methods.md#dependson-string) `ats export` -- Adds a dependency on another step.
- [DependsOn(PipelineStep)](/reference/api/csharp/aspire.hosting/pipelinestep/methods.md#dependson-pipelinestep) -- Adds a dependency on another step.
- [RequiredBy(string)](/reference/api/csharp/aspire.hosting/pipelinestep/methods.md#requiredby-string) `ats export` -- Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.
- [RequiredBy(PipelineStep)](/reference/api/csharp/aspire.hosting/pipelinestep/methods.md#requiredby-pipelinestep) -- Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.
