Terraform Cheatsheet

Terraform CheatsheetKapitel 05 von 12

Terraform Meta-Argumente

Stand Terraform 1.17 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

for_each, count, depends_on

for_each über Map/Set: stabile Keys als Adresse, Einträge löschen verschiebt keine Nachbarn.

count: nur für identische Kopien oder das An/Aus-Muster (count = var.enabled ? 1 : 0). Bei benannten Objekten drohen Index-Shifts.

depends_on: nur wenn die implizite Abhängigkeit über Referenzen nicht ausreicht (z.B. IAM-Policy vor Nutzung).

lifecycle

create_before_destroy: Ersatz zuerst hochziehen. prevent_destroy: Plan schlägt fehl, statt z.B. eine Datenbank zu löschen.

ignore_changes: einzelne Attribute extern verwalten lassen, chirurgisch einsetzen. replace_triggered_by: Ersatz an fremde Änderung koppeln.

destroy = false (1.16+): Delete wird zu Forget (bei Replace, entfallenden count/for_each-Instanzen, destroy); das Objekt bleibt unverwaltet stehen. Wer den ganzen Block löscht, braucht weiter removed.

resource "aws_iam_user" "team" {
  for_each = toset(["ci", "audit", "ops"])
  name     = "svc-${each.key}"
}
resource "aws_db_instance" "main" {
  # ...
  manage_master_user_password = true # Secrets Manager
  lifecycle {
    prevent_destroy = true
  }
}