Mostrar información usando outputs en Terraform
- Francisco Javier Huete
- Ia c , Cloud
- August 28, 2025
Índice
En ocasiones, es necesario obtener alguna información relacionada con los recursos que se crean de forma automática con Terraform. Para ello se pueden usar los outputs como se muestra en este artículo.
Configurar outputs
Los outputs de Terraform se configuran en un fichero llamado outputs.ft
con bloques con el formato output "<nombre_output>" {}
. Cada bloque debe contener la información del valor que debe devolver cada output en el campo value
. Además, es recomendable incluir una descripción del output en el campo description
.
output "vcn_state" {
description = "El estado de la VCN."
value = oci_core_vcn.mi_vcn.state
}
output "vcn_cidr" {
description = "Bloque de direcciones CIDR de la VCN"
value = oci_core_vcn.mi_vcn.cidr_block
}
Ver el resultado de los outputs
Para poder usar los outputs hay que planificar y aplicar antes la configuración. Tanto al planificar como al aplicar la configuración de una infraestructura ya creada (como es este caso, ya que se usa la infraestructura creada en este otro post) la salida del comando terraform plan
o terraform apply
muestra los valores que se cambian a tipo output
:
❯ terraform plan
oci_core_vcn.mi_vcn: Refreshing state... [id=<OCID de la VCN>]
oci_core_subnet.private_subnet: Refreshing state... [id=<OCID de la subred>]
Changes to Outputs:
+ vcn_cidr = "172.22.0.0/16"
+ vcn_state = "AVAILABLE"
You can apply this plan to save these new output values to the Terraform state,
without changing any real infrastructure.
───────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
Sin embargo, para poder volver a consultar la información de estos outputs en otro momento es imprescindible aplicar la configuración. En la salida del comando terraform apply
se muestran los outputs configurados:
❯ terraform apply
oci_core_vcn.mi_vcn: Refreshing state... [id=<OCID de la VCN>]
oci_core_subnet.private_subnet: Refreshing state... [id=<OCID de la subred>]
Changes to Outputs:
+ vcn_cidr = "172.22.0.0/16"
+ vcn_state = "AVAILABLE"
You can apply this plan to save these new output values to the Terraform state,
without changing any real infrastructure.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
vcn_cidr = "172.22.0.0/16"
vcn_state = "AVAILABLE"
Además, tras aplicar la configuración estos outputs se pueden volver a consultar en cualquier momento con el comando terraform output
:
❯ terraform output
vcn_cidr = "172.22.0.0/16"
vcn_state = "AVAILABLE"