Terraform Data Sources Explained: Observation vs Intent

What is a Terraform data source, really?

Most explanations jump straight into syntax.
This lesson takes a different path.

In Terraform, a data source is not a shortcut, a helper, or a convenience feature.
It is a read-only observation node inside Terraform’s evaluation graph.

A data source does not create infrastructure.
It does not manage lifecycle.
And it does not express intent.

Instead, it answers a single question:

What is already true about the world right now?

That distinction matters.

Because Terraform draws a hard boundary between observation and decision.
Resources define desired change.
Data sources only provide context for the plan.

This lesson explains:

  • Why data sources have no lifecycle
  • How they participate in the dependency graph without controlling it
  • Why external changes can affect plans without any code changes
  • And why Terraform refuses to treat observation as ownership

No AWS service walkthroughs.
No step-by-step instructions.
Just how Terraform reasons.

👉 Watch the full lesson below to build a correct mental model before learning syntax.