Beginner

Curso Completo de OpenTofu: De Cero a DevOps Engineer 4/6

Overview
Curriculum
  • 1 Section
  • 1 Lesson
  • 1 Quiz
  • 1h Duration
Collapse All
Quiz and gradebook sections
1 Lesson1 Quiz

Capítulo 4: Expresiones, Bucles y Condicionales

1. Introducción

A medida que la infraestructura crece, necesitas lógica: crear recursos condicionalmente o iterar sobre listas de usuarios, subredes o discos. OpenTofu provee herramientas potentes para dinamizar el código.

2. Definición y Explicación

  • Count: Un argumento entero que le dice a OpenTofu cuántas copias idénticas de un recurso crear. Accedes al índice actual con count.index.
  • For_each: Itera sobre un conjunto (set) de strings o un mapa, permitiendo crear recursos basados en elementos únicos y dinámicos utilizando each.key y each.value.
  • Condicionales: Utiliza el operador ternario condición ? valor_si_verdadero : valor_si_falso.

3. Ejemplo

Creación de múltiples archivos a partir de una lista de nombres de departamentos, y un archivo condicional de administrador.
hcl
variable "departamentos" {
  type    = list(string)
  default = ["RRHH", "Finanzas", "Tecnologia"]
}

variable "crear_archivo_admin" {
  type    = bool
  default = false
}

resource "local_file" "carpetas_dep" {
  for_each = toset(var.departamentos)
  filename = "${path.module}/dep_${each.value}.txt"
  content  = "Acceso exclusivo para el departamento de ${each.key}"
}

resource "local_file" "admin_file" {
  count    = var.crear_archivo_admin ? 1 : 0
  filename = "${path.module}/admin_config.txt"
  content  = "Configuración maestra del Administrador."
}
Usa el código con precaución.

4. Buenas Prácticas

  • Elige for_each sobre count para recursos complejos: Si eliminas un elemento del medio de una lista usando count, OpenTofu destruirá y modificará todos los recursos posteriores porque sus índices cambian. for_each identifica cada recurso por su clave única, evitando este problema.

5. Ejercicios de Prueba

  1. Ejecuta el código anterior tal como está. Debería crear tres archivos de departamentos y cero archivos de administrador.
  2. Modifica la variable crear_archivo_admin a true mediante la consola o cambiando su valor por defecto y ejecuta tofu apply. Confirma que ahora el archivo de administrador sí aparece.

 

Deleting Course Review

Are you sure? You can't restore this back

Course Access

This course is password protected. To access it please enter your password below:

Related Courses

Curso Completo de OpenTofu: De Cero a DevOps Engineer 6/6

Test Your Knowledge with Engaging Quizzes

Prepare with Real Exam Experience

Track Progress with an Intelligent Gradebook

1h
2

Curso Completo de OpenTofu: De Cero a DevOps Engineer 5/6

Test Your Knowledge with Engaging Quizzes

Prepare with Real Exam Experience

Track Progress with an Intelligent Gradebook

1h
2

Curso Completo de OpenTofu: De Cero a DevOps Engineer 3/6

Test Your Knowledge with Engaging Quizzes

Prepare with Real Exam Experience

Track Progress with an Intelligent Gradebook

1h
2
Scroll hacia arriba