# atmos terraform providers schema

Use this command to show schemas for the providers used in an Atmos component's Terraform configuration in a stack.

## Usage

Execute the `terraform providers schema` command like this:

```shell
atmos terraform providers schema <component> -s <stack> [options]
```

This command outputs a detailed machine-readable schema for all providers used in the component's configuration. The output includes resource types, data sources, and their attributes.

:::tip
Run `atmos terraform providers schema --help` to see all the available options
:::

## Examples

```shell
# Show provider schemas
atmos terraform providers schema vpc -s dev

# Output schema in JSON format
atmos terraform providers schema vpc -s dev -json
```

## Arguments

- **`component` (required)**

  Atmos terraform component.

## Flags

- **`--stack` (alias `-s`) (required)**

  Atmos stack.
- **`--dry-run` (optional)**

  Show what would be executed without actually running the command.
  ```shell
  atmos terraform providers schema vpc -s dev --dry-run
  ```
- **`--skip-init` (optional)**

  Skip running `terraform init` before executing the command.
  ```shell
  atmos terraform providers schema vpc -s dev --skip-init
  ```

## Native Terraform Flags

The `atmos terraform providers schema` command supports native `terraform providers schema` flags. Pass them directly or use `--` to separate Atmos flags from Terraform flags.

- **`-json`**

  Output the provider schemas in a machine-readable JSON format.
  ```shell
  atmos terraform providers schema vpc -s dev -json
  ```

## See Also

- [`atmos terraform providers`](/cli/commands/terraform/providers) - Show provider requirements
- [`atmos terraform providers lock`](/cli/commands/terraform/providers/lock) - Write out dependency locks
- [`atmos terraform init`](/cli/commands/terraform/init) - Initialize working directory
