Я создал следующий файл 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' работает нормально.
Я не понимаю, зачем нужны эти переменные блоки. Какой в этом смысл?