Пример создания AWS VP C подсетей с последующим предоставлением их AWS экземплярам EC2.
resource "aws_subnet" "public" {
count = length(var.public_subnet_cidr_blocks)
vpc_id = var.vpc_id
cidr_block = var.public_subnet_cidr_blocks[count.index]
}
resource "aws_instance" "public_ec2" {
count = length(var.public_subnet_ids)
subnet_id = var.public_subnet_ids[count.index]
ami = var.ami_id
instance_type = "t2.micro"
tags = {
Name = "PublicEC2${count.index}}"
}
provisioner "local-exec" {
command = <<EOF
echo "Public EC2 ${count.index} ID is ${self.id}"
EOF
}
}
Нет синтаксиса, подобного приведенному ниже, для создания ресурсов.
[ for name in var.names:
aws_s3_bucket {...}
aws_sns_topic {...}
]
Для выражения в основном для значений, а не для создания ресурсов.
- для выражений
A для выражения создает значение сложного типа путем преобразования другого комплекса введите значение.
Для создания нескольких ресурсов, как показано ниже в документе, используйте for_each или count.