locals { company = "ENI" trigram = lower(var.trigram) } module "network" { source = "./modules/network" vpc_name = "${local.trigram}-main-vpc" vpc_cidr_block = "10.1.0.0/16" common_tags = var.common_tags subnets = var.subnets } data "aws_ami" "ami" { for_each = var.images most_recent = true filter { name = "name" values = [each.value.name_filter] } filter { name = "virtualization-type" values = ["hvm"] } owners = [each.value.owner] } resource "aws_network_interface" "example" { for_each = var.instances subnet_id = module.network.subnets_full[each.value.subnet].id } resource "aws_ebs_volume" "vol" { for_each = var.instances size = 10 availability_zone = aws_instance.instance[each.key].availability_zone } resource "aws_instance" "instance" { for_each = var.instances ami = data.aws_ami.ami[each.value.image].id instance_type = each.value.instance_type availability_zone = module.network.subnets_full[each.value.subnet].availability_zone tags = merge(var.common_tags, { Name = "${local.trigram}-${each.key}" }) } resource "aws_volume_attachment" "ebs_att" { for_each = var.instances device_name = "/dev/sdh" volume_id = aws_ebs_volume.vol[each.key].id instance_id = aws_instance.instance[each.key].id }