HashiCorp hat am 2. August 2016 Terraform 0.7 mit einem Import für bestehende Infrastruktur veröffentlicht. Das Werkzeug kann damit bereits angelegte Ressourcen schrittweise in seine Verwaltung übernehmen. Die erste Ausbaustufe importiert jeweils eine Ressource in den State, also den von Terraform gespeicherten Infrastrukturzustand.
Import erzeugt noch keine Konfiguration
Aus dem Import entstehen keine Konfigurationsdateien. Die gewünschte Ressource muss zusätzlich im Code beschrieben werden. HashiCorp warnt ausdrücklich: Fehlt diese Beschreibung nach dem Import, kann terraform plan die Löschung der Ressource vorschlagen. Der Plan zeigt die vorgesehene Änderung an; er führt sie nicht selbst aus.
Neu sind außerdem Data Sources als eigener Typ für lesend abgefragte Informationen, etwa AWS-Maschinenabbilder oder Consul-Schlüssel. Ihre Werte stehen bei der Planung zur Verfügung. Listen und Maps können als Variablentypen verwendet und zwischen Modulen übergeben werden.
Zustandsverwaltung und verändertes Plan-Verhalten
Die versionsgebundenen Release Notes zu Terraform 0.7.0 nennen neue Befehle unter terraform state. Sie sollen bei fortgeschrittenen Verwaltungsaufgaben das manuelle Bearbeiten von State-Dateien ersetzen. terraform output -json liefert Ausgaben in maschinenlesbarer Form.
Bestehende Automatisierungen müssen außerdem berücksichtigen, dass terraform plan den Zustand nicht mehr speichert. Wer diesen bisherigen Nebeneffekt benötigt, muss ausdrücklich terraform refresh aufrufen. refresh und apply schreiben weiterhin in den lokalen oder entfernten Zustandsspeicher.
Für Entwicklungsteams betrifft das die Verwaltung eigener Build- und Testinfrastruktur. Unity Cloud Build automatisiert bereits Builds für mehrere Desktop- und Mobilplattformen; Terraform stellt dagegen die darunterliegenden Infrastrukturressourcen unter Konfigurationsverwaltung. Eine Integration beider Produkte kündigt HashiCorp mit diesem Release nicht an.

