# PipelineStep

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

Represents a step in the deployment pipeline.

## Definition

```typescript
interface PipelineStep {
  readonly dependsOnSteps: List<string>;
  readonly description: string;
  readonly name: string;
  readonly requiredBySteps: List<string>;
  readonly tags: List<string>;
  addTag(tag: string): void;
  dependsOn(stepName: string): void;
  requiredBy(stepName: string): void;
}
```

## Properties

- `dependsOnSteps`: `List<string>` `get` -- Gets or initializes the list of step names that this step depends on.
- `description`: `string` `get` -- Gets or initializes the description of the step.
- `name`: `string` `get` -- Gets or initializes the unique name of the step.
- `requiredBySteps`: `List<string>` `get` -- 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.
- `tags`: `List<string>` `get` -- Gets or initializes the list of tags that categorize this step.

## Methods

- [addTag](/reference/api/typescript/aspire.hosting/pipelinestep/addtag.md) -- `method` -- Adds a tag to the step.
    ```typescript
  addTag(tag: string): void
  ```
- [dependsOn](/reference/api/typescript/aspire.hosting/pipelinestep/dependson.md) -- `method` -- Adds a dependency on another step.
    ```typescript
  dependsOn(stepName: string): void
  ```
- [requiredBy](/reference/api/typescript/aspire.hosting/pipelinestep/requiredby.md) -- `method` -- Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.
    ```typescript
  requiredBy(stepName: string): void
  ```
