first commit

This commit is contained in:
Johan LEROY
2026-03-30 13:14:41 +02:00
commit 3b27b0157c
6 changed files with 227 additions and 0 deletions

98
variables.tf Normal file
View File

@@ -0,0 +1,98 @@
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 "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."
}
}