variable "aws_region" { description = "Region AWS de deploiement" type = string default = "eu-west-3" validation { condition = can(regex("^eu-west-3$", var.aws_region)) error_message = "La region doit etre eu-west-3." } } variable "owner" { description = "Identifiant du proprietaire des ressources (tag Owner)" type = string default = "johan.leroy2023" validation { condition = length(var.owner) > 0 error_message = "Le owner ne peut pas etre vide." } } variable "course_id" { description = "Identifiant du cours (tag CourseId)" type = string default = "cours-tf-aws-s14" validation { condition = length(var.course_id) > 0 error_message = "Le CourseId ne peut pas etre vide." } } variable "trigramme" { description = "Trigramme pour prefixer les ressources" type = string default = "jle" validation { condition = can(regex("^[a-z]{3}$", var.trigramme)) error_message = "Le trigramme doit etre compose de 3 lettres minuscules." } } variable "vpc_cidr" { description = "CIDR du VPC" type = string default = "10.0.0.0/16" validation { condition = can(cidrhost(var.vpc_cidr, 0)) error_message = "Le CIDR du VPC doit etre un bloc CIDR valide." } } variable "subnet_cidrs" { description = "Liste des CIDR pour les sous-reseaux (un par AZ)" type = list(string) default = ["10.0.1.0/24", "10.0.2.0/24"] validation { condition = length(var.subnet_cidrs) == 2 error_message = "Il faut exactement 2 sous-reseaux." } } variable "availability_zones" { description = "Liste des zones de disponibilite" type = list(string) default = ["eu-west-3a", "eu-west-3b"] validation { condition = length(var.availability_zones) == 2 error_message = "Il faut exactement 2 zones de disponibilite." } } variable "ami_id" { description = "ID de l'AMI pour l'instance EC2" type = string default = "ami-03638fc4f87bac487" } variable "instance_type" { description = "Type d'instance EC2" type = string default = "t3.micro" validation { condition = var.instance_type == "t3.micro" error_message = "Le type d'instance doit etre t3.micro." } } variable "root_volume_size" { description = "Taille du disque racine en Go (max 30)" type = number default = 30 validation { condition = var.root_volume_size > 0 && var.root_volume_size <= 30 error_message = "La taille du disque doit etre entre 1 et 30 Go." } }