Hoe bepaalt Terraform in welk bestand de informatie staat?
sobes.tech AI
Antwoord van AI
Terraform laadt en verwerkt automatisch alle bestanden met de extensies .tf en .tfvars in de directory waaruit het wordt uitgevoerd (werkdirectory). Het vereist niet dat je expliciet de bestanden aangeeft.
- De
.tf-bestanden bevatten de hoofdconfiguratieblokken: resources, providers, variabelen, outputs, modules, enz. - De
.tfvars-bestanden bevatten definities van waarden voor variabelen die in.tf-bestanden zijn gedeclareerd. Er kunnen ook bestanden worden gebruikt met namen zoalsterraform.tfvarsof een bestand met de naam van de omgeving en de extensie.tfvars(bijvoorbeelddev.tfvars) voor automatische laden.
Terraform combineert de informatie uit al deze bestanden om de uiteindelijke afhankelijkheidsgrafiek en het uitvoeringsplan te bouwen.
Voorbeeld van directorystructuur:
/project
├── main.tf # Hoofdrsourcen
├── variables.tf # Declaratie van variabelen
├── outputs.tf # Declaratie van outputwaarden
├── terraform.tfvars # Waarden van variabelen voor de standaardomgeving
└── modules/
└── vpc/
├── main.tf
├── variables.tf
└── outputs.tf
In dit voorbeeld, bij het uitvoeren vanaf /project, laadt Terraform main.tf, variables.tf en outputs.tf. De waarden uit terraform.tfvars worden toegepast op de variabelen gedeclareerd in variables.tf. De module /modules/vpc wordt geladen als deze wordt aangeroepen in een van de bovenliggende bestanden.
Het is belangrijk op te merken dat de volgorde van de declaraties binnen een bestand of tussen bestanden niet uitmaakt voor Terraform. Het bouwt de afhankelijkheidsgrafiek en voert operaties uit in parallel, indien mogelijk, op basis van de verbindingen tussen resources en andere configuratie-elementen.