## 2. Arbeit mit Provisionierungs-Projekten
Jedes Provisionierungs-Projekt wird in einer einzelnen Projekt-Datei beschrieben, welche im YAML-Format vorliegen muss
-(später vorgesehen: JSON bzw. Hjson). Bei der Ausführung der Projekt-Datei wird ein Verzeichnis unterhalb
-von _'terraform'_ neu angelegt, welches so heißt wie die Projekt-Datei ohne ihre Endung. Wenn es dieses Verzeichnis
-schon geben sollte und es ist leer, wird es natürlich verwendet. Wenn es nicht leer ist, werden normalerweise alle
-Dateien und Verzeichnisse darin mit Beginn der Ausführung gelöscht, außer es existieren darin das Verzeicnis _'.terraform'_
-und die Datei _'terraform.tfstate'_, was darauf hindeutet, dass darin schon einmal terraform erfolgreich ausgeführt wurde.
+(später vorgesehen: JSON bzw. Hjson). Diese YAML-Dateien können hierarchisch in verschachtelten Unterverzeichnissen
+organisiert werden. Bei der Ausführung der Projekt-Datei wird ein Verzeichnis parallel zur YAML-Datei neu angelegt,
+welches so heißt wie die Projekt-Datei ohne ihre Endung. Wenn es dieses Verzeichnis schon geben sollte und es ist leer,
+wird es natürlich verwendet. Wenn es nicht leer ist, werden normalerweise alle Dateien und Verzeichnisse darin mit
+Beginn der Ausführung gelöscht, außer es existieren darin das Verzeicnis _'.terraform'_ und die Datei _'terraform.tfstate'_,
+was darauf hindeutet, dass darin schon einmal terraform erfolgreich ausgeführt wurde.
Im letzteren Fall bricht die Ausführung mit einer Fehlermeldung ab.
+### 2.1. Aufbau einer Provisionierungs-Projekt-Datei
+
+Grundsätzlich ist die Projekt-Datei so angelegt, dass sich Konfigurations-Angaben möglichst nicht wiederholen.
+
+Dazu gibt es Default-Angaben, die man bei einzelnen VMs bei Bedarf überschreiben kann.
+
+Weiterhin kann man die VM-Definitionen gruppieren und jeder Gruppe separate Default-Werte zuweisen, welche die globalen
+Default-Werte für diese Gruppe überschreiben. Diese Gruppierungen können auch weiter verschachtelt werden
+(Gruppe in Gruppe in Gruppe usw.).
+
+Mit dem Schüssel **'defaults'** werden entweder auf oberster Ebene oder innerhalb einer Gruppe die Vorgabewerte
+definiert. Es können alle Werte bis auf den Hostnamen und die IP-Adressen vorbelegt werden. Für alle diese Werte
+gibt es aber auch vordefinierte (hoffentlich sinnvolle) Werte, falls man diese komplett vergißt.
+
```