Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
badra001 committed Oct 12, 2022
1 parent 92c5e01 commit f6ca806
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 10 deletions.
16 changes: 12 additions & 4 deletions vpc-transit-gateway-association/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,12 @@ No modules.
| [aws_arn.network_account](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/arn) | data source |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_caller_identity.network_account](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_ec2_transit_gateway.tgw_peer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway) | data source |
| [aws_ec2_transit_gateway.tgw_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway) | data source |
| [aws_ec2_transit_gateway.gateway_peer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway) | data source |
| [aws_ec2_transit_gateway.gateway_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway) | data source |
| [aws_ec2_transit_gateway_route_table.route_tables_peer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_route_table) | data source |
| [aws_ec2_transit_gateway_route_table.route_tables_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_route_table) | data source |
| [aws_ec2_transit_gateway_route_tables.route_tables_peer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_route_tables) | data source |
| [aws_ec2_transit_gateway_route_tables.route_tables_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_route_tables) | data source |
| [aws_iam_account_alias.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_account_alias) | data source |
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |

Expand All @@ -67,5 +71,9 @@ No modules.

| Name | Description |
|------|-------------|
| <a name="output_tgw_peer"></a> [tgw\_peer](#output\_tgw\_peer) | Transit Gateway peer (other region) |
| <a name="output_tgw_self"></a> [tgw\_self](#output\_tgw\_self) | Transit Gateway self (this region) |
| <a name="output_gateway_peer"></a> [gateway\_peer](#output\_gateway\_peer) | Transit Gateway peer (other region) |
| <a name="output_gateway_self"></a> [gateway\_self](#output\_gateway\_self) | Transit Gateway self (this region) |
| <a name="output_map_route_tables_peer"></a> [map\_route\_tables\_peer](#output\_map\_route\_tables\_peer) | Transit Gateway route tables map (VRF:id) peer (other region) |
| <a name="output_map_route_tables_self"></a> [map\_route\_tables\_self](#output\_map\_route\_tables\_self) | Transit Gateway route tables map (VRF:id) self (this region) |
| <a name="output_route_tables_peer"></a> [route\_tables\_peer](#output\_route\_tables\_peer) | Transit Gateway route tables peer (other region) |
| <a name="output_route_tables_self"></a> [route\_tables\_self](#output\_route\_tables\_self) | Transit Gateway route tables self (this region) |
49 changes: 47 additions & 2 deletions vpc-transit-gateway-association/data.transit-gateway.tf
Original file line number Diff line number Diff line change
@@ -1,15 +1,60 @@
data "aws_ec2_transit_gateway" "tgw_self" {
#---
# transit gateways

data "aws_ec2_transit_gateway" "gateway_self" {
provider = aws.self
filter {
name = "owner-id"
values = [data.aws_arn.network_account.account]
}
}

data "aws_ec2_transit_gateway" "tgw_peer" {
data "aws_ec2_transit_gateway" "gateway_peer" {
provider = aws.peer
filter {
name = "owner-id"
values = [data.aws_arn.network_account.account]
}
}

#---
# tgw route tables self
#---
data "aws_ec2_transit_gateway_route_tables" "route_tables_self" {
provider = aws.self
filter {
name = "transit-gateway-id"
values = [data.aws_ec2_transit_gateway.gateway_self.id]
}
}

data "aws_ec2_transit_gateway_route_table" "route_tables_self" {
provider = aws.self
for_each = toset(data.aws_ec2_transit_gateway_route_tables.route_tables_self.ids)
id = each.key
}

locals {
transit_gateway_route_table_ids_self = { for k, v in data.aws_ec2_transit_gateway_route_table.route_tables_self : v.tags["boc:network_vrf"] => k }
}

#---
# route tables west
#---
data "aws_ec2_transit_gateway_route_tables" "route_tables_peer" {
provider = aws.peer
filter {
name = "transit-gateway-id"
values = [data.aws_ec2_transit_gateway.gateway_peer.id]
}
}

data "aws_ec2_transit_gateway_route_table" "route_tables_peer" {
provider = aws.peer
for_each = toset(data.aws_ec2_transit_gateway_route_tables.route_tables_peer.ids)
id = each.key
}

locals {
transit_gateway_route_table_ids_peer = { for k, v in data.aws_ec2_transit_gateway_route_table.route_tables_peer : v.tags["boc:network_vrf"] => k }
}
28 changes: 24 additions & 4 deletions vpc-transit-gateway-association/outputs.tf
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
output "tgw_self" {
output "gateway_self" {
description = "Transit Gateway self (this region)"
value = data.aws_ec2_transit_gateway.tgw_self.id
value = data.aws_ec2_transit_gateway.gateway_self.id
}

output "tgw_peer" {
output "gateway_peer" {
description = "Transit Gateway peer (other region)"
value = data.aws_ec2_transit_gateway.tgw_peer.id
value = data.aws_ec2_transit_gateway.gateway_peer.id
}

output "route_tables_self" {
description = "Transit Gateway route tables self (this region)"
value = data.aws_ec2_transit_gateway_route_table.route_tables_self
}

output "route_tables_peer" {
description = "Transit Gateway route tables peer (other region)"
value = data.aws_ec2_transit_gateway_route_table.route_tables_peer
}

output "map_route_tables_self" {
description = "Transit Gateway route tables map (VRF:id) self (this region)"
value = local.transit_gateway_route_table_ids_self
}

output "map_route_tables_peer" {
description = "Transit Gateway route tables map (VRF:id) peer (other region)"
value = local.transit_gateway_route_table_ids_peer
}

0 comments on commit f6ca806

Please sign in to comment.