Describing components is helpful to understand what the final, fully computed and deep-merged configuration of an Atmos component will look like across any number of Atmos stacks.
The more DRY a configuration is due to imports, the more derived the configuration is due to inheritance, the harder it may be to understand what the final component configuration will be.
For example, if we wanted to understand what the final configuration looks like for a "vpc" component running in the "production" stack in the
us-east-2 AWS region, we could do that by calling the
atmos describe component command and view the YAML output:
atmos describe component vpc -s ue2-prod
For more powerful filtering options, consider describing stacks instead.
The other helpful use-case for describing components and stacks is when developing polices for validation of Atmos components and Atmos stacks. OPA policies can enforce what is or is not permitted. Everything in the output can be validated using policies that you develop.