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

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

    network_interface {
        access_config {}
        subnetwork = var.frontend_subnet_id
    }

    tags = ["frontend", "ssh"]

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

resource "google_compute_instance" "backend-vm" {
    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-vm" {
    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"
    }
}