github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/cmd/roachprod/vm/aws/terraform/aws-vpc-peer/main.tf (about) 1 # --------------------------------------------------------------------------------------------------------------------- 2 # VPC peering connection between two regions. 3 # --------------------------------------------------------------------------------------------------------------------- 4 provider "aws.owner" {} 5 provider "aws.peer" {} 6 7 variable "owner_vpc_info" { type = "map", description = "VPC info for the peering owner" } 8 variable "peer_vpc_info" { type = "map", description = "VPC info for the peering accepter" } 9 variable "label" {} 10 11 resource "aws_vpc_peering_connection" "peering_connection" { 12 provider = "aws.owner" 13 vpc_id = "${var.owner_vpc_info["vpc_id"]}" 14 peer_vpc_id = "${var.peer_vpc_info["vpc_id"]}" 15 peer_region = "${var.peer_vpc_info["region"]}" 16 17 tags { 18 Name = "${var.label}-peering-${var.owner_vpc_info["region"]}-${var.peer_vpc_info["region"]}" 19 } 20 } 21 22 resource "aws_vpc_peering_connection_accepter" "peering_accepter" { 23 provider = "aws.peer" 24 vpc_peering_connection_id = "${aws_vpc_peering_connection.peering_connection.id}" 25 auto_accept = true 26 27 tags { 28 Name = "${var.label}-peering-${var.owner_vpc_info["region"]}-${var.peer_vpc_info["region"]}" 29 } 30 } 31 32 resource "aws_route" "owner_route" { 33 provider = "aws.owner" 34 route_table_id = "${var.owner_vpc_info["route_table_id"]}" 35 destination_cidr_block = "${var.peer_vpc_info["vpc_cidr"]}" 36 vpc_peering_connection_id = "${aws_vpc_peering_connection.peering_connection.id}" 37 } 38 39 resource "aws_route" "peer_route" { 40 provider = "aws.peer" 41 route_table_id = "${var.peer_vpc_info["route_table_id"]}" 42 destination_cidr_block = "${var.owner_vpc_info["vpc_cidr"]}" 43 vpc_peering_connection_id = "${aws_vpc_peering_connection.peering_connection.id}" 44 }