Файл terraform.tfvars: зачем нужен блок переменных - PullRequest
0 голосов
/ 20 марта 2019

Я создал следующий файл terraform.tfvars:

ec2_image = "ami-00035f41c82244dab"
ec2_instance_type = "t2.micro"

И используйте его в файле main.tf следующим образом:

resource "aws_instance" "OneServer" {
    ami             =       "${var.ec2_image}"
    instance_type   =       "${var.ec2_instance_type}"
}

Затем я выполняю команду 'terraform plan', и она жалуется:

Ошибка: конфигурация ресурса «aws_instance.OneServer»: неизвестная переменная ссылка: 'ec2_image'; определить его с помощью «переменного» блока

Итак, я изменил файл main.tf следующим образом:

variable "ec2_image" {}
variable "ec2_instance_type" {}

resource "aws_instance" "OneServer" {
    ami             =       "${var.ec2_image}"
    instance_type   =       "${var.ec2_instance_type}"
}

Тогда команда 'terraform plan' работает нормально.

Я не понимаю, зачем нужны эти переменные блоки. Какой в ​​этом смысл?

1 Ответ

0 голосов
/ 21 марта 2019

Вы действительно используете переключатель командной строки -var-file?

Например, я не использую этот переключатель - я просто определяю свои переопределяемые переменные в случайном файле tf (названном в моем случае variable.tf). Если переключатель -var-file не используется, это означает, что блок variable необходим, чтобы сообщить Terraform, когда определяется переменная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...