We already know that even our template.tf
file is a module, named root module. And as with any module, it also has outputs. There is a terraform output
command that retrieves outputs from your configuration. You can use it with modules, as well as with the main template. Let's first create our MightyTrousers module with terraform apply
(you can remove the CrazyFoods module from template.tf
for now, just to avoid extra AWS costs).
After the application is complete, run the terraform output
command with the module name specified:
$> terraform output -module=mighty_trousers hostname
ip-10-0-1-181.eu-central-1.compute.internal
As an exercise, add the output to template.tf
, it will get its value from the module output, and try to retrieve it by simply running the terraform output
hostname.
Outputs are a simple yet powerful way to connect Terraform with all kinds of different tools. For example, you could output a bastion host IP to your test suite. We will talk more...