# atmos terraform source describe

Use this command to display the `source` configuration for a Terraform component. This shows the source URI, version, and any path filters configured for vendoring.

**Source-Based Version Pinning**

Learn how to configure the `source` field for per-environment version control.

Design Pattern[Read more](/design-patterns/version-management/source-based-versioning)

## Usage

```shell
atmos terraform source describe <component> --stack <stack>
```

## Description

The `describe` command extracts and displays the `source` configuration from a component's stack manifest. The output matches the stack manifest schema format, making it easy to copy and paste into your configuration. This is useful for:

- Verifying source configuration before vendoring
- Checking the version configured for a component
- Reviewing included/excluded path filters
- Debugging source provisioning issues

## Examples

### View Source Configuration

Display the source configuration for a component:

```shell
atmos terraform source describe vpc --stack dev
```

Output:

```yaml
components:
  terraform:
    vpc:
      source:
        uri: github.com/cloudposse/terraform-aws-components//modules/vpc
        version: 1.450.0
        included_paths:
          - "*.tf"
          - "modules/**"
        excluded_paths:
          - "*.md"
          - "tests/**"
```

### String Format Source

When source is configured as a simple string:

```shell
atmos terraform source describe eks --stack dev
```

Output:

```yaml
components:
  terraform:
    eks:
      source:
        uri: github.com/cloudposse/terraform-aws-components//modules/eks?ref=1.450.0
```

## Arguments

- **`component`**
  **Required.**
   The name of the Atmos component to describe.

## Flags

- **`--stack` / `-s`**
  **Required.**
   The Atmos stack name. Can also be set via 
  `ATMOS_STACK`
   environment variable.

## Output Format

The command outputs YAML matching the stack manifest schema:

- **`components.terraform.<component>.source`**
  The parsed source specification for the component.
- **`source.uri`**
  The go-getter-compatible source URI.
- **`source.version`**
  The version tag, branch, or commit (if specified separately).
- **`source.included_paths`**
  List of glob patterns for files to include.
- **`source.excluded_paths`**
  List of glob patterns for files to exclude.

## See Also

- [Source-Based Version Pinning](/design-patterns/version-management/source-based-versioning) — Design pattern for per-environment version control
- [`atmos terraform source`](/cli/commands/terraform/source) — Parent command overview
- [`atmos terraform source pull`](/cli/commands/terraform/source/pull) — Vendor component source
- [`atmos terraform source list`](/cli/commands/terraform/source/list) — List components with sources
