Sobes.tech
Middle

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 .tf zawierają główne bloki konfiguracji: zasoby, dostawców, zmienne, wyjścia, moduły itp.
  • Pliki .tfvars zawierają definicje wartości dla zmiennych zadeklarowanych w plikach .tf. Mogą być również używane pliki o nazwach takich jak terraform.tfvars lub 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.