Kapitel
-
HCL-Kern
Die Bausteine resource, data, variable, locals und output, explizite Typen mit validation-Block und was sensitive im State nicht verbirgt.
-
Provider & Versionen
required_version und required_providers pinnen, der Pessimistic-Operator, die .terraform.lock.hcl einchecken sowie Provider-Alias für mehrere Accounts und Rollen.
-
State
Remote Backend mit Locking, natives S3-Locking per use_lockfile, der State als sensibler Klartext, ephemeral Values und write-only Attribute, state-Kommandos und Drift.
-
Module
Standard-Layout und Zuschnitt kleiner Module, Registry- und Git-Quellen pinnen sowie Variablen mit const = true in source und version seit 1.15.
-
Meta-Argumente
for_each gegen count, wann depends_on nötig ist und die lifecycle-Optionen create_before_destroy, prevent_destroy, ignore_changes und replace_triggered_by.
-
dynamic blocks
dynamic erzeugt mit for_each und content wiederholte verschachtelte Blöcke, der Iterator heißt wie das Block-Label. Sparsam einsetzen, eigene Ressourcen mit for_each bevorzugen, wo der Provider sie anbietet.
-
Plan / Apply / Destroy
fmt und validate als Gate, plan -out mit apply tfplan, plan -detailed-exitcode für Pipelines, -replace und warum -target ein Notfall-Werkzeug ist.
-
Import & Refactoring
Bestehende Infrastruktur per import-Block adoptieren, Config mit -generate-config-out erzeugen, terraform query sowie moved und removed statt state mv.
-
Workspaces & Tests
Wofür Workspaces taugen und wo ihre Grenzen liegen, dazu terraform test mit tftest.hcl, run-Blöcken, assert, mock_provider und Overrides.
-
CI/CD-Patterns
plan -out als Artefakt an den Review hängen, denselben Plan nach Approval anwenden, init -input=false, init -lockfile=readonly und kurzlebige Credentials für die Pipeline.
-
Version & Lizenz
Aktuelle Linie 1.17, mindestens 1.16.7 oder 1.17.0 wegen CVE-2026-111943 (eMudhra), die BUSL 1.1 seit 1.6 und OpenTofu als Fork.
-
Anti-Patterns
Was im Terraform-Betrieb schiefgeht: -target als Routine, State von Hand editieren, count für benannte Objekte, ungepinnte Provider und Module, Secrets als Klartext-Variable.
Alle Kapitel auf einer Seite, zum Durchsuchen mit Strg+F und zum Drucken.
Vorschau (3 Seiten A4 quer)



PDF herunterladen
Direkter Download, keine Mail-Adresse nötig. Unter CC BY-SA 4.0 ist Kopieren, Drucken und Weiterverteilen ausdrücklich erlaubt, solange die Quellenangabe sichtbar bleibt.
Verwandte Cheatsheets
Ebenfalls von OMNI52:
vault-cheatsheet.de, Secrets-Management
flux-cheatsheet.de, GitOps mit Flux
argocd-cheatsheet.de, GitOps mit Argo CD
rancher-cheatsheet.de, Cluster-Management
Projekt und Quellen
Terraform wird von HashiCorp entwickelt, einem Unternehmen der IBM.
Quellcode: github.com/hashicorp/terraform
Dokumentation: developer.hashicorp.com/terraform
Release-Notes: github.com/hashicorp/terraform/releases
Registry: registry.terraform.io
„Terraform“ ist eine Marke von HashiCorp. Dieses Cheatsheet ist keine offizielle Dokumentation; maßgeblich sind die Doku und die Release-Notes des Projekts.
Lizenz & Weiterverteilung
Nicht erlaubt: Logo, Marken oder den Eindruck zu vermitteln, dass der Inhalt von dir/euch stammt oder dass OMNI52 GmbH die Weiterverwendung sponsort.
Volltext der Lizenz: creativecommons.org/licenses/by-sa/4.0/deed.de.
Terraform and the Terraform logo are trademarks of HashiCorp, Inc. (HashiCorp is an IBM company). OMNI52™ is a trademark of OMNI52 GmbH (filed, not yet registered). This website is operated by OMNI52 GmbH and is not affiliated with, endorsed by, or sponsored by HashiCorp, Inc. or IBM. “Terraform” is used in a nominative / descriptive sense to indicate the technology this cheatsheet documents.