terraform {
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 6.0"
    }
  }
}

provider "google" {
  project = var.project_id
  region  = var.region
}

module "network" {
  source = "../../modules/network"
  
  # Variables d'entrée
  project_name = var.project_name
  region      = var.region
  
  # Autres variables spécifiques au module
  cidr_range  = var.cidr_range
  frontend_cidr = var.frontend_cidr
  backend_cidr = var.backend_cidr
  database_cidr = var.database_cidr
  ssh_source_ranges = var.ssh_source_ranges
}

module "compute" {
  source = "../../modules/compute"
  
  # Variables d'en"trée
  instance_type = "e2-micro"
  zone = "europe-west1-b"

  # Autres variables spécifiques au module
  frontend_subnet_id = module.network.id_subnetwork["frontend"]
  backend_subnet_id = module.network.id_subnetwork["backend"]
  database_subnet_id = module.network.id_subnetwork["database"]
}

module "iam" {
  source = "../../modules/iam"
  
  # Variables d'en"trée
  project_id = var.project_id
}