0
0
TerraformHow-ToBeginner · 3 min read

How to Display Output After Apply in Terraform

To display output after running terraform apply, define output blocks in your Terraform configuration. After applying, Terraform automatically shows these outputs in the terminal, or you can use terraform output to view them anytime.
📐

Syntax

An output block defines a value you want Terraform to show after applying changes. It has a value attribute that specifies what to display.

  • output "name": Names the output.
  • value: The expression or resource attribute to display.
terraform
output "example_output" {
  value = aws_instance.my_instance.public_ip
}
💻

Example

This example creates an AWS EC2 instance and outputs its public IP address after applying.

terraform
provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "my_instance" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

output "instance_public_ip" {
  value = aws_instance.my_instance.public_ip
}
Output
Apply complete! Resources: 1 added, 0 changed, 0 destroyed. Outputs: instance_public_ip = "54.210.123.45"
⚠️

Common Pitfalls

Common mistakes include:

  • Not defining an output block, so no output shows.
  • Referencing a resource attribute that does not exist or is misspelled.
  • Expecting outputs to show before terraform apply runs.

Always run terraform apply first, then view outputs.

terraform
output "wrong_output" {
  value = aws_instance.my_instance.non_existent_attribute
}

# Correct usage:
output "correct_output" {
  value = aws_instance.my_instance.public_ip
}
📊

Quick Reference

Tips to remember:

  • Define outputs in your Terraform files to see values after apply.
  • Use terraform output command to view outputs anytime.
  • Outputs help share important info like IPs, IDs, or URLs.

Key Takeaways

Define output blocks in Terraform to display values after apply.
Run terraform apply to create resources and show outputs automatically.
Use terraform output command to view outputs anytime after apply.
Ensure output references valid resource attributes to avoid errors.
Outputs help share important infrastructure details like IP addresses or IDs.