# PipelineStep Properties

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [PipelineStep](/reference/api/csharp/aspire.hosting/pipelinestep.md)
- Kind: `Properties`
- Members: `7`

Represents a step in the deployment pipeline.

## Action

- Name: `Action`
- Modifiers: `get; init`
- Returns: `Func<PipelineStepContext, Task>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the action to execute for this step.

```csharp
public Func<PipelineStepContext, Task> Action { get; init; }
```

## DependsOnSteps

- Name: `DependsOnSteps`
- Modifiers: `get; init`
- Returns: `List<string>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the list of step names that this step depends on.

```csharp
public List<string> DependsOnSteps { get; init; }
```

## Description

- Name: `Description`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the description of the step.

```csharp
public string? Description { get; init; }
```

## Remarks

The description provides human-readable context about what the step does, helping users and tools understand the purpose of the step.

## Name

- Name: `Name`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the unique name of the step.

```csharp
public string Name { get; init; }
```

## RequiredBySteps

- Name: `RequiredBySteps`
- Modifiers: `get; init`
- Returns: `List<string>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

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.

```csharp
public List<string> RequiredBySteps { get; init; }
```

## Resource

- Name: `Resource`
- Modifiers: `nullable` `get; set`
- Returns: [IResource?](/reference/api/csharp/aspire.hosting/iresource.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the resource that this step is associated with, if any.

```csharp
public IResource? Resource { get; set; }
```

## Tags

- Name: `Tags`
- Modifiers: `get; init`
- Returns: `List<string>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/PipelineStep.cs)

Gets or initializes the list of tags that categorize this step.

```csharp
public List<string> Tags { get; init; }
```
