Значение переменных в скрипте Terraform может быть предоставлено несколькими различными способами.
Конфигурация входных переменных
Поскольку выпытаясь предоставить их через переменные окружения, вы должны следовать обязательному шаблону именования.
$ TF_VAR_terraform_bucket=bucket_name
$ TF_VAR_organisation=org_name
Тогда при выполнении terraform plan
или terraform apply
terraform загрузит переменные.
Если выЕсли переменная aws_region
не определена как переменная среды, вам потребуется поместить ее в файл .tfvars
и использовать terraform plan -var-file config.tfvars
или передать ее через командную строку, используя terraform plan -var us-east-1
.
Все это предполагает, что в вашем файле vars.tf определены переменные.
variable "organisation" {
type = "string"
}
variable "terraform_bucket" {
type = "string"
}
variable "aws_region" {
type = "string"
}
*** Edit 1
Продумайте свой вопрос, нужны ли переменные внутримодуль, то вам нужно будет обновить свой звонок в моглупо включать эти переменные в его использование.
Я не могу определить по форматированию вашей структуры, находятся ли backend.tf
, vars.tf
и vpc.tf
в папке vpc
или нет.
module "my_vpc" {
source = "../../vpc"
instance_tenancy = "default"
bucket = "${var.TERRAFORM_BUCKET}-vpc"
profile = "${var.ORGANISATION}"
key = "${var.ORGANISATION}"
}