Outputs
When you use Terraform Cloud with module and configuration files, the outputs from the module are captured and made available as output variables in the Terraform Cloud workspace. These output variables can then be used in other Terraform configurations or modules.
Categories:
less than a minute
To demonstrate, we can use Terraform code that associates an AWS route table with a subnet and it gets the route table ID from the output of the module that created the route table.
Module: maint.tf
resource "aws_route_table" "this" {
vpc_id = var.vpc_id
route {
cidr_block = var.route_table_cidr
gateway_id = var.gateway_id
}
Module: outputs.tf
output "route_table_igw_id" {
description = "The ID of the IGW route table"
value = aws_route_table.this.id
}
Configuration: main.tf
module "aws_route_table_association-public" {
source = "app.terraform.io/grinntec-aws/aws_route_table_association/aws"
version = "~>0.1.0"
subnet_id = module.aws_subnet-public.subnet_id
route_table_id = module.aws_route_table_igw.route_table_igw_id
}
Last modified July 21, 2024: update (e2ae86c)