Understanding dependency graph
Terraform doesn't simply build your resources and write their configuration into a state
file. Internally, it also manages a dependency graph of all resources you have. It's hard to see with a single resource, but now we have two interconnected resources: VPC and a subnet. The latter one depends on the existence of the first one. But wait, what is a dependency graph anyway?
First of all, let's recall what a graph is. We won't go deep into mathematical formulas and advanced graph theories and examples here. Graph theory is big, and there are so many applications of it.
Though there are many definitions of the graph, which differ depending on the knowledge area and industry, the simplest description of what it sounds like a set of nodes and edges, where edges represent a connection between two nodes. It's easier to see a graph than to read about it:
Here, we have two nodes connected to each other. Nothing really complicated. What is a dependency graph then? Let...