locals {
  common_tags = merge(
    var.common_tags,
    tomap({ "Name" = "${var.name_prefix}-nat-instance" }),
    { "SERVER_TYPE" = "EC2" }
  )
  #local.private_ip =
}

resource "aws_network_interface" "main" {
  source_dest_check = false
  subnet_id         = var.subnet
  security_groups   = var.sg_list
  tags              = local.common_tags
  private_ips       = length(var.private_ips) == 0 ? null : var.private_ips
}

resource "aws_instance" "main" {
  ami                     = var.ami
  instance_type           = var.instance_type
  disable_api_termination = var.termination_protection
  key_name                = var.key_name
  user_data               = var.user_data
  iam_instance_profile    = var.iam_instance_profile
  tags                    = local.common_tags
  monitoring              = var.monitoring_enabled

  network_interface {
    device_index         = 0
    network_interface_id = aws_network_interface.main.id
  }

  credit_specification {
    cpu_credits = substr(lower(var.instance_type), 0, 1) == "t" ? "unlimited" : "standard"
  }

  root_block_device {
    volume_type           = "gp2"
    volume_size           = var.root_volume_size
    delete_on_termination = true
  }
}
