# resource "google_compute_instance" "vm" {
#   name         = "ma-vm"
#   machine_type = "e2-medium"
#   zone         = "europe-west1-b"

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

#   network_interface {
#     access_config {} # IP publique
#     subnetwork = google_compute_subnetwork.subnet.id
#   }

#   tags = ["web", "app"]

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

resource "google_compute_instance" "vm_frontend" {
  name         = "vm-frontend"
  machine_type = var.instance_type
  zone         = var.zone

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

  network_interface {
    access_config {} # IP publique
    subnetwork = var.frontend_subnet_id
  }

  tags = ["frontend", "ssh"]

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

resource "google_compute_instance" "vm_backend" {
  name         = "vm-backend"
  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" "vm_database" {
  name         = "vm-database"
  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"
  }
}