- The directed acyclic graph data structure
- How Terraform uses graphs
- Visualizing Terraform graphs
- Creating Terraform plans
- Modifying plans using command-line interface flags and variables
- Customizing Terraform apply runs
- Debugging common Terraform errors
In the last few chapters, we focused on the Terraform language. This included a heavy focus on the components of the language itself, resources and data sources, the providers they come from, and how we could use functions and expressions to create a variety of configurations. Terraform is more than a language though: it is also an engine that takes your code, compares it to the state of your infrastructure, and then comes up with a dynamic plan to change your infrastructure so it matches your program.
5.1 Directed acyclic graphs
5.1.1 DAGs
5.1.2 A Transport Layer Security example
5.2 The Terraform resource graph
5.2.1 Nodes
5.2.2 terraform graph command
5.2.3 Modules in the graph
5.3 Plan
5.3.1 Planning modes
5.3.2 Replace (previously known as taint)
5.3.3 Resource targeting
5.3.4 Disabling refresh
5.3.5 terraform refresh command
5.3.6 Reviewing plan files with terraform show
5.4 Root-level module input variables
5.4.1 Interactive
5.4.2 Variable flag
5.4.3 Variable files
5.4.4 Environment variables
5.4.5 Input precedence
5.4.6 A note on secrets and inputs
5.5 Apply
5.5.1 Plan and apply in a single command