Beginner
Curso Completo de OpenTofu: De Cero a DevOps Engineer 3/6
- 1 Section
- 1 Lesson
- 1 Quiz
- 1h Duration
Quiz and gradebook sections
1 Lesson1 Quiz
Capítulo 3: Variables, Outputs y Tipos de Datos
1. Introducción
Escribir valores fijos en el código limita la flexibilidad. Las variables permiten parametrizar nuestro código para reutilizarlo en diferentes situaciones, mientras que los outputs (salidas) nos devuelven datos útiles tras el despliegue.
2. Definición y Explicación
- Input Variables: Actúan como los parámetros de una función. Pueden tener tipos (string, number, bool, list, map, object) y valores por defecto.
- Outputs: Actúan como los valores de retorno. Sirven para mostrar información importante en la terminal (como la IP de un servidor creado).
- Locals: Son variables internas (constantes) útiles para evitar repetir código dentro del mismo archivo.
3. Ejemplo
Configuración parametrizada para crear configuraciones personalizadas:
hcl
# variables.tf
variable "nombre_usuario" {
type = string
description = "El nombre del usuario para el reporte"
default = "Invitado"
}
variable "configuraciones" {
type = map(string)
default = {
entorno = "Desarrollo"
version = "1.0.0"
}
}
# main.tf
locals {
encabezado = "Reporte de Sistema para ${var.nombre_usuario}"
}
resource "local_file" "reporte" {
filename = "${path.module}/reporte_${var.nombre_usuario}.txt"
content = "${local.encabezado}\nEntorno: ${var.configuraciones["entorno"]}"
}
# outputs.tf
output "ruta_archivo" {
value = local_file.reporte.filename
description = "La ruta absoluta del archivo generado"
}
Usa el código con precaución.
4. Buenas Prácticas
- Define tipos y descripciones: Siempre declara el
typey ladescriptionen tus variables. Esto documenta tu código automáticamente. - Usa archivos
.tfvars: Para pasar valores a las variables sin exponerlas en la consola, utiliza archivos comoterraform.tfvarso específicos del entorno.
5. Ejercicios de Prueba
- Copia el código del ejemplo en tus archivos. Ejecuta
tofu applyy observa la sección de Outputs en tu consola. - Crea un archivo llamado
secret.tfvarsy añade la líneanombre_usuario = "Carlos". Ejecuta el plan pasando ese archivo:tofu plan -var-file="secret.tfvars". Comprueba cómo cambia el nombre del archivo resultante.
Want to submit a review? Login
