variable "ami_id" {} variable "instance_type" { default = "t3.small" } variable "subnet_id" {} variable "security_group_ids" { type = list(string) } variable "key_name" {} variable "environment" {} variable "associate_public_ip" { default = true } variable "user_data" { default = "" } variable "iam_instance_profile" { default = "" } resource "aws_instance" "main" { ami = var.ami_id instance_type = var.instance_type subnet_id = var.subnet_id vpc_security_group_ids = var.security_group_ids key_name = var.key_name associate_public_ip_address = var.associate_public_ip user_data = var.user_data iam_instance_profile = var.iam_instance_profile root_block_device { volume_size = 8 volume_type = "gp2" encrypted = true delete_on_termination = true } tags = { Name = "sacc4-ec2-${var.environment}" Environment = var.environment } } resource "aws_eip" "main" { instance = aws_instance.main.id domain = "vpc" tags = { Name = "sacc4-eip-${var.environment}" } } output "instance_id" { value = aws_instance.main.id } output "public_ip" { value = aws_eip.main.public_ip } output "private_ip" { value = aws_instance.main.private_ip }