Component Output Mocks
Declare literal outputs on a component and opt into using them for
!terraform.state and
!terraform.output lookups during local plans or configuration inspection.
Usage
Declare mocks on the component that produces the outputs:
Enable mock lookups explicitly:
atmos describe component app -s dev --use-mocks
atmos terraform plan app -s dev --use-mocks
The lookups return vpc-local and subnet-a without accessing the VPC’s backend
or initializing Terraform for that lookup. Running the app’s plan can still require
its own provider credentials and infrastructure access.
Configuration Reference
mocks- A map of output names to literal values on the producer component. Templates and YAML functions inside the map are not evaluated. The map follows component inheritance and deep merging.
--use-mocks- Opt-in flag for
atmos terraform planandatmos describe component; defaultfalse. YAML function processing must remain enabled. Other Terraform commands reject the flag.
Missing Outputs
Missing mock maps or outputs produce errors rather than falling back to real state. An explicit YQ default can supply the missing value:
vars:
vpc_id: !terraform.state vpc '.vpc_id // "vpc-local"'
Without --use-mocks, lookups use their normal state/output source. This feature does
not simulate providers or provision resources. See the
component mocks example for a producer and consumer configuration.