id = "atmos" name = "Atmos" homepage = "https://atmos.tools/" description = "Universal Tool for DevOps and Cloud Automation" executables = ["atmos"] [dotfiles] # Atmos' official CLI configuration reference lists ~/.atmos/atmos.yaml as # the home-directory configuration and %LOCALAPPDATA%/atmos/atmos.yaml on # Windows. Its macOS XDG change note documents ~/.config as the newer CLI # convention, so both the explicitly documented home path and XDG path are # retained. # https://atmos.tools/cli/configuration/ # https://atmos.tools/changelog/macos-xdg-cli-conventions paths = [ "~/.atmos/atmos.yaml", "[configHome]/atmos/atmos.yaml", "%LOCALAPPDATA%/atmos/atmos.yaml", ] secret = [] [commands] format = 1 label = "Atmos" description = "Plan an Atmos Terraform component in a stack. Other Atmos commands and passthrough Terraform flags are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["terraform", "plan"] label = "Terraform plan" description = "Generate an execution plan for a component in a stack; the plan is saved to a planfile unless skipped." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://github.com/cloudposse/atmos/blob/main/website/docs/cli/commands/terraform/terraform-plan.mdx" revision = "main 2026-10-27" evidence = """ atmos terraform plan -s [options]
`--stack` / `-s` (required)
`--skip-planfile` (optional)
Skip writing the plan to a file. When set, Atmos will not pass the `-out` flag to Terraform.
`--affected` (optional)
`--all` (optional)
`--dry-run` (optional)
`--skip-init` (optional)
""" [[commands.subcommand.field]] id = "component" label = "Component" type = "string" position = 0 sources = ["docs"] [[commands.subcommand.field]] id = "stack" label = "Stack" type = "string" option = ["--stack", "-s"] sources = ["docs"] [[commands.subcommand.field]] id = "skip_planfile" label = "Do not write a planfile" type = "boolean" option = ["--skip-planfile"] sources = ["docs"] [[commands.subcommand.field]] id = "affected" label = "Only affected components" type = "boolean" option = ["--affected"] sources = ["docs"] [[commands.subcommand.field]] id = "all" label = "All components" type = "boolean" option = ["--all"] sources = ["docs"] [[commands.subcommand.field]] id = "dry_run" label = "Dry run" type = "boolean" option = ["--dry-run"] sources = ["docs"] [[commands.subcommand.field]] id = "skip_init" label = "Skip init" type = "boolean" option = ["--skip-init"] sources = ["docs"] [[commands.subcommand.task]] id = "plan" label = "Plan one component" fields = ["component", "stack", "skip_planfile", "skip_init"] required = ["component", "stack"] [[commands.subcommand.task]] id = "plan-affected" label = "Plan affected components" set = { affected = [true] } lock = ["affected"] fields = ["stack", "affected", "dry_run"] required = ["stack"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["component", "stack"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["affected", "all", "skip_planfile", "skip_init", "dry_run"]