Ինչպե՞ս է Terraform-ը որոշում, թե տվյալը որ ֆայլում է։
sobes.tech AI
Պատասխան AI-ից
Terraform ավտոմատ կերպով բեռնում և մշակում է բոլոր .tf և .tfvars ընդլայնումներով ֆայլերը այն დირექტորից, որտեղից այն գործարկվում է (աշխատանքային դիրեկտորիա): Դա պահանջ չի, որ ֆայլերը նշեք հստակ:
.tfֆայլերը պարունակում են հիմնական կոնֆիգուրացիոն բլոկներ՝ ռեսուրսներ, պրովայդերներ, փոփոխականներ, ելքեր, մոդուլներ և այլն:.tfvarsֆայլերը պարունակում են արժեքների սահմանումներ՝ փոփոխականների համար, որոնք հայտարարված են.tfֆայլերում: Կարող են նաև օգտագործվելterraform.tfvarsանունով կամ շրջակա միջավայրի անունով և.tfvarsընդլայնմամբ ֆայլեր (օրինակ՝dev.tfvars) ավտոմատ բեռնում համար:
Terraform-ը միավորում է այս բոլոր ֆայլերից ստացված տեղեկությունները՝ կառուցելու վերջնական կախվածության գրաֆը և գործարկման պլանը:
Դիրեկտորիայի կառուցվածքի օրինակ:
/project
├── main.tf # Հիմնական ռեսուրսներ
├── variables.tf # Փոփոխականների հայտարարում
├── outputs.tf # Ելքային արժեքների հայտարարում
├── terraform.tfvars # Դիրեկտորիայի համար արժեքներ՝ ըստ նախընտրության
└── modules/
└── vpc/
├── main.tf
├── variables.tf
└── outputs.tf
Այս օրինակով, /project-ից գործարկման ժամանակ, Terraform-ը բեռնում է main.tf, variables.tf և outputs.tf ֆայլերը: terraform.tfvars-ից արժեքները կկիրառվեն variables.tf-ում հայտարարված փոփոխականների վրա: /modules/vpc մոդուլը բեռնվելու է, եթե այն կանչվի վերևի մակարդակի ֆայլերից մեկում:
Կարևոր է նշել, որ ֆայլերի ներսում հայտարարությունների հերթականությունը կամ ֆայլերի միջև հերթականությունը չի ազդում Terraform-ի վրա: Այն կառուցում է կախվածության գրաֆը և իրականացնում գործողությունները հնարավորինս միաժամանակ, հիմնվելով ռեսուրսների և այլ կոնֆիգուրացիոն տարրերի միջև կապերին: