Wie bestimmt Terraform, in welcher Datei die Informationen enthalten sind?
sobes.tech KI
Antwort von AI
Terraform lädt und verarbeitet automatisch alle Dateien mit den Erweiterungen .tf und .tfvars im Verzeichnis, von dem aus es gestartet wird (Arbeitsverzeichnis). Es ist nicht erforderlich, die Dateien explizit anzugeben.
- Die
.tf-Dateien enthalten die Hauptkonfigurationsblöcke: Ressourcen, Anbieter, Variablen, Ausgaben, Module usw. - Die
.tfvars-Dateien enthalten Wertdefinitionen für Variablen, die in.tf-Dateien deklariert sind. Es können auch Dateien mit Namen wieterraform.tfvarsoder eine Datei mit dem Namen der Umgebung und der Erweiterung.tfvars(z.B.dev.tfvars) für den automatischen Ladevorgang verwendet werden.
Terraform kombiniert die Informationen aus all diesen Dateien, um den endgültigen Abhängigkeitsgraphen und den Ausführungsplan zu erstellen.
Beispiel für eine Verzeichnisstruktur:
/project
├── main.tf # Hauptressourcen
├── variables.tf # Variablendeklarationen
├── outputs.tf # Ausgabedeklarationen
├── terraform.tfvars # Standardwerte für Variablen
└── modules/
└── vpc/
├── main.tf
├── variables.tf
└── outputs.tf
In diesem Beispiel lädt Terraform beim Start aus /project die Dateien main.tf, variables.tf und outputs.tf. Die Werte aus terraform.tfvars werden auf die in variables.tf deklarierten Variablen angewendet. Das Modul /modules/vpc wird geladen, wenn es in einer der obersten Dateien aufgerufen wird.
Es ist wichtig zu beachten, dass die Reihenfolge der Deklarationen innerhalb einer Datei oder zwischen Dateien für Terraform keine Rolle spielt. Es baut den Abhängigkeitsgraphen auf und führt Operationen parallel aus, wenn möglich, basierend auf den Verbindungen zwischen Ressourcen und anderen Konfigurationselementen.