Interpolation Syntax
Explore how Terraform's interpolation syntax enables you to reference attributes from created resources to link them in your configurations. Understand the use of output attributes to connect resources such as VPCs and security groups dynamically, improving project structure and parallel resource creation.
We'll cover the following...
Useful resource output
Once a resource is created, it returns a number of attributes. The attributes a resource returns can be found in the “Attributes Reference” section on the documentation page for any resource. This is amazingly useful as it allows you to use the output from one resource as the argument for another resource.
Project example
Consider the following project:
provider "aws" {
region = "us-east-2"
}
resource "aws_vpc" "my_vpc" {
cidr_block = "10.0.0.0/16"
}
resource "aws_security_group" "my_security_group" {
vpc_id = aws_vpc.my_vpc.id
name = "Example security group"
}
resource "aws_security_group_rule" "tls_in" {
protocol = "tcp"
security_group_id = aws_security_group.my_security_group.id
from_port = 443
to_port = 443
type = "ingress"
cidr_blocks = ["0.0.0.0/0"]
}
This project creates an AWS VPC with CIDR block 10.0.0.0/16. Then it defines a security group (aws_security_group). Notice that the value of vpc_id is set to aws_vpc.my_vpc.id in the definition of the ...