variable "aws_profile" { description = "Profil AWS a utiliser" type = string default = "ecole" } 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 "subnets" { description = "Map des sous-reseaux avec name et cidr" type = map(object({ name = string cidr = string })) default = { subnet1 = { name = "subnet-1" cidr = "10.0.1.0/24" } subnet2 = { name = "subnet-2" cidr = "10.0.2.0/24" } } } variable "instances" { description = "Map des instances EC2 avec ami, type et subnet" type = map(object({ ami = string instance_type = string subnet_key = string })) default = { ubuntu = { ami = "ami-03638fc4f87bac487" instance_type = "t3.micro" subnet_key = "subnet1" } amazon_linux = { ami = "ami-063039a3666cc5ce3" instance_type = "t3.micro" subnet_key = "subnet2" } } } 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." } } variable "ebs_volume_size" { description = "Taille du volume EBS additionnel en Go" type = number default = 10 }