Jak Terraform określa, w którym pliku znajduje się informacja?
sobes.tech AI
Odpowiedź od AI
Terraform automatycznie ładuje i przetwarza wszystkie pliki z rozszerzeniami .tf i .tfvars w katalogu, z którego jest uruchamiany (katalog roboczy). Nie wymaga jawnego wskazywania plików.
- Pliki
.tfzawierają główne bloki konfiguracji: zasoby, dostawców, zmienne, wyjścia, moduły itp. - Pliki
.tfvarszawierają definicje wartości dla zmiennych zadeklarowanych w plikach.tf. Mogą być również używane pliki o nazwach takich jakterraform.tfvarslub plik z nazwą środowiska i rozszerzeniem.tfvars(np.dev.tfvars) do automatycznego ładowania.
Terraform łączy informacje ze wszystkich tych plików, aby zbudować końcowy wykres zależności i plan wykonania.
Przykład struktury katalogu:
/project
├── main.tf # Główne zasoby
├── variables.tf # Deklaracja zmiennych
├── outputs.tf # Deklaracja wartości wyjściowych
├── terraform.tfvars # Wartości zmiennych dla domyślnego środowiska
└── modules/
└── vpc/
├── main.tf
├── variables.tf
└── outputs.tf
W tym przykładzie, uruchamiając z /project, Terraform załaduje main.tf, variables.tf i outputs.tf. Wartości z terraform.tfvars zostaną zastosowane do zmiennych zadeklarowanych w variables.tf. Moduł /modules/vpc zostanie załadowany, jeśli zostanie wywołany w jednym z plików najwyższego poziomu.
Ważne jest, aby zauważyć, że kolejność deklaracji w obrębie jednego pliku lub między plikami nie ma znaczenia dla Terraform. Tworzy on wykres zależności i wykonuje operacje równolegle, jeśli to możliwe, na podstawie powiązań między zasobami i innymi elementami konfiguracji.