resource "google_compute_instance" "frontend" {
  name         = "${var.project_name}-frontend-vm"
  machine_type = var.instance_type
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
      size  = 10
    }
  }

  network_interface {
    subnetwork = var.frontend_subnet_id
    access_config {}
  }

  tags = ["frontend", "ssh"]

  metadata = {
    enable-oslogin = "TRUE"
  }
}

resource "google_compute_instance" "backend" {
  name         = "${var.project_name}-backend-vm"
  machine_type = var.instance_type
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
      size  = 10
    }
  }

  network_interface {
    subnetwork = var.backend_subnet_id
  }

  tags = ["backend", "ssh"]

  metadata = {
    enable-oslogin = "TRUE"
  }
}

resource "google_compute_instance" "database" {
  name         = "${var.project_name}-database-vm"
  machine_type = var.instance_type
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
      size  = 20
    }
  }

  network_interface {
    subnetwork = var.database_subnet_id
  }

  tags = ["database", "ssh"]

  metadata = {
    enable-oslogin = "TRUE"
  }
}
