Моя структура каталогов
.
├── README.md
├── ec2
│ ├── ec2.tf
│ ├── outputs.tf
│ └── vars.tf
├── main.tf
main.tf
provider "aws" {
region = "us-east-1"
}
module "ec2" {
source = "./ec2"
}
ec2 / ec2.tf
data "aws_ami" "example" {
most_recent = true
owners = [
"amazon"]
filter {
name = "image-id"
values = [
"ami-0323c3dd2da7fb37d"]
}
filter {
name = "root-device-type"
values = [
"ebs"]
}
filter {
name = "virtualization-type"
values = [
"hvm"]
}
}
resource "aws_instance" "web" {
ami = data.aws_ami.example.id
instance_type = "t2.micro"
subnet_id = var.subnet_id
tags = {
Name = "HelloWorld"
}
}
ec2 / avrs.tf
variable "subnet_id" {
default = {}
}
, когда я пытаюсь передать subnet_id извне, я получаю ошибку.
terraform plan -var subnet_id=$subnet_name
Ошибка: значение для необъявленной переменной В командной строке была назначена переменная с именем "subnet_id", но Модуль root не объявляет переменную с таким именем. Чтобы использовать это значение, добавьте «переменный» блок в конфигурацию.
, если у кого-то из вас есть представление об этой проблеме, пожалуйста, помогите мне.