Files
2026-08-05 09:11:14 +02:00

65 lines
1.3 KiB
Terraform

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
}