import-Block (1.5+)
Bestehende Infrastruktur deklarativ
adoptieren: planbar, reviewbar, im normalen Plan/Apply-Zyklus.
-generate-config-out=<neue Datei>
(experimentell, nur Root-Modul, ohne count/for_each) erzeugt HCL
für importierte Objekte ohne Config. for_each
am import-Block seit 1.7, import-Blöcke in Child-Modulen
seit 1.16.
Statt id geht seit 1.12 identity = {...}
(strukturierte Resource Identity, sofern der Provider sie liefert;
schließt id aus).
terraform query (1.14+): list-Blöcke
in *.tfquery.hcl finden bestehende Objekte,
-generate-config-out liefert Config +
import-Blöcke.
moved / removed
moved (1.1+): Adresse geändert (Rename,
Modul-Umzug), Terraform migriert den State beim Plan,
kein state mv.
removed (1.7+): Objekt aus Config + State
entfernen, ohne es zu zerstören
(destroy = false).
import {
to = aws_s3_bucket.logs
id = "legacy-logs-bucket"
}
moved {
from = aws_instance.app
to = module.compute.aws_instance.app
}
removed {
from = aws_s3_bucket.archiv
lifecycle { destroy = false }
}