# À vous de :
# 1. Configurer le provider google
# 2. Appeler les trois modules avec les bonnes variables
# 3. Créer le fichier de configuration Ansible (template)

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

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

module "network" {
  source            = "../../modules/network"
  project_name      = var.project_name
  region           = var.region
  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"
  instance_type    = var.instance_type
  zone             = var.zone
  frontend_subnet_id = module.network.subnets.frontend
  backend_subnet_id = module.network.subnets.backend
  database_subnet_id = module.network.subnets.database
}

module "iam" {
  source          = "../../modules/iam"
  project_id      = var.project_id
}