Files
ENI-Terraform/variables.tf
2026-03-31 11:51:58 +02:00

117 lines
2.6 KiB
HCL

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
}