Understanding the Power of output.tf for Displaying Computed Outputs
Table of contents
๐ Introduction:
In the context of Terraform, the output.tf
file is used to define outputs that can be displayed after applying a Terraform configuration. Outputs are values that are computed during the Terraform run and then made available for external use, such as by other Terraform configurations or by human operators.
The output.tf
file must be located in the same directory as the main.tf
file and must define one or more output
blocks. Each output
block specifies a name for the output and an expression that computes the value of the output.
๐น Example:
Here is an example of an output.tf
file:
output "instance_ip" {
value = aws_instance.example.public_ip
}
output "instance_id" {
value = aws_instance.example.id
}
output "instance_tags" {
value = aws_instance.example.tags
}
In this example, three outputs are defined:
instance_ip
: This output retrieves the public IP address of an AWS EC2 instance namedexample
.instance_id
: This output retrieves the unique identifier (ID) of the sameexample
instance.instance_tags
: This output retrieves a map of tags associated with the instance.
Once this output.tf
file is applied, Terraform will display the computed output values.
๐น Output Screen:
For example:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Outputs:
instance_id = i-0123456789abcdef
instance_ip = 203.0.113.1
instance_tags = {
Name = "example-instance"
Environment = "production"
}
These output values can then be used by other Terraform configurations or by human operators to interact with the resources managed by Terraform.
๐ Conclusion:
In conclusion, output.tf
is a Terraform file used to define outputs that can be displayed after applying a Terraform configuration. It defines one or more output
blocks, each specifying a name for the output and an expression that computes the value of the output. The output values can be used by other Terraform configurations or by human operators to interact with the resources managed by Terraform.