Sobes.tech
Middle

Kuidas määrab Terraform, millises failis sisaldab teavet?

sobes.tech AI

Vastus AI-lt

Terraform laadib ja töötleb automaatselt kõiki .tf ja .tfvars laiendiga faile kaustas, kust ta käivitatakse (töökaust). Ta ei nõua failide otsest määramist.

  • .tf failid sisaldavad põhikonfiguratsiooniplokke: ressursid, teenusepakkujad, muutujad, väljundid, moodulid jne.
  • .tfvars failid sisaldavad määratlusi väärtustele, mis on deklareeritud .tf failides. Samuti võivad kasutada faile nimega terraform.tfvars või keskkonnanimega ja laiendiga .tfvars (näiteks dev.tfvars) automaatseks laadimiseks.

Terraform ühendab teabe kõigist nendest failidest, et luua lõplik sõltuvusgraaf ja täitmisplaan.

Näide kaustastruktuurist:

/project
├── main.tf         # Põhiresurss
├── variables.tf    # Muutujate deklareerimine
├── outputs.tf      # Väljundväärtuste deklareerimine
├── terraform.tfvars # Vaikimisi keskkonnale määratud muutujate väärtused
└── modules/
    └── vpc/
        ├── main.tf
        ├── variables.tf
        └── outputs.tf

Selles näites laadib Terraform /project kaustast main.tf, variables.tf ja outputs.tf. terraform.tfvars väärtused rakenduvad variables.tf-s deklareeritud muutujatele. Moodul /modules/vpc laaditakse, kui see kutsutakse välja ühegi ülemise taseme faili sees.

Oluline on märkida, et järjekord ühe faili või failide vahel ei oma tähtsust Terraformi jaoks. Ta loob sõltuvusgraafi ja täidab operatsioone paralleelselt, kui see on võimalik, sõltuvalt ressursside ja teiste konfiguratsioonielementide vahelisest seosest.