diff --git a/CHANGELOG.md b/CHANGELOG.md
index d4b8168..604df09 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,10 @@
- vpc
- add enable_aws_dns to use the AmazonDNS Route53 DNS
-* v1.1.1 -- 20200629
+* v1.1.1 -- 20210629
- peer
- add output of nacl_info
+
+* v1.1.2 -- 20210702
+ - routing
+ - export vpc s3 and dynamodb cidr blocks too, change the way the structure is constructed
diff --git a/common/version.tf b/common/version.tf
index a6a90ee..1cc6d9a 100644
--- a/common/version.tf
+++ b/common/version.tf
@@ -1,3 +1,3 @@
locals {
- _module_version = "1.1.1"
+ _module_version = "1.1.2"
}
diff --git a/routing/README.md b/routing/README.md
index e631975..3f69546 100644
--- a/routing/README.md
+++ b/routing/README.md
@@ -93,5 +93,7 @@ No modules.
| [availability\_zone\_suffixes](#output\_availability\_zone\_suffixes) | VPC Availability zone suffix list (3) |
| [private\_route\_table\_ids](#output\_private\_route\_table\_ids) | Private route table IDs map by availability zone |
| [public\_route\_table\_ids](#output\_public\_route\_table\_ids) | Public route table IDs map by availability zone |
-| [vpc\_endpoint\_id\_dynamodb](#output\_vpc\_endpoint\_id\_dynamodb) | VPC Endpoint ID for DynamoDB |
-| [vpc\_endpoint\_id\_s3](#output\_vpc\_endpoint\_id\_s3) | VPC Endpoint ID for S3 |
+| [vpc\_endpoint\_dynamodb\_cidr\_blocks](#output\_vpc\_endpoint\_dynamodb\_cidr\_blocks) | VPC Endpoint CIDR Blocks for DynamoDB |
+| [vpc\_endpoint\_dynamodb\_id](#output\_vpc\_endpoint\_dynamodb\_id) | VPC Endpoint ID for DynamoDB |
+| [vpc\_endpoint\_s3\_cidr\_blocks](#output\_vpc\_endpoint\_s3\_cidr\_blocks) | VPC Endpoint CIDR Blocks for S3 |
+| [vpc\_endpoint\_s3\_id](#output\_vpc\_endpoint\_s3\_id) | VPC Endpoint ID for S3 |
diff --git a/routing/outputs.tf b/routing/outputs.tf
index 7b98bc3..0ea51b8 100644
--- a/routing/outputs.tf
+++ b/routing/outputs.tf
@@ -48,12 +48,23 @@ output "private_route_table_ids" {
value = { for k in local.availability_zones : k => aws_route_table.private[k].id }
}
-output "vpc_endpoint_id_s3" {
+output "vpc_endpoint_s3_id" {
description = "VPC Endpoint ID for S3"
- value = local.vpce_s3
+ value = lookup(local.vpce_s3, "id", null)
}
-output "vpc_endpoint_id_dynamodb" {
+output "vpc_endpoint_dynamodb_id" {
description = "VPC Endpoint ID for DynamoDB"
- value = local.vpce_dynamodb
+ value = lookup(local.vpce_dynamodb, "id", null)
}
+
+output "vpc_endpoint_s3_cidr_blocks" {
+ description = "VPC Endpoint CIDR Blocks for S3"
+ value = lookup(local.vpce_s3, "cidr_blocks", [])
+}
+
+output "vpc_endpoint_dynamodb_cidr_blocks" {
+ description = "VPC Endpoint CIDR Blocks for DynamoDB"
+ value = lookup(local.vpce_dynamodb, "cidr_blocks", [])
+}
+
diff --git a/routing/vpc-endpoints.tf b/routing/vpc-endpoints.tf
index 8bbdade..c41066c 100644
--- a/routing/vpc-endpoints.tf
+++ b/routing/vpc-endpoints.tf
@@ -3,8 +3,10 @@
#---
locals {
- vpce_s3 = var.enable_vpc_endpoint_s3 ? element(concat(aws_vpc_endpoint.s3[*].id, tolist([""])), 0) : ""
- vpce_dynamodb = var.enable_vpc_endpoint_dynamodb ? element(concat(aws_vpc_endpoint.dynamodb[*].id, tolist([""])), 0) : ""
+ # vpce_s3 = var.enable_vpc_endpoint_s3 ? element(concat(aws_vpc_endpoint.s3[*].id, tolist([""])), 0) : ""
+ # vpce_dynamodb = var.enable_vpc_endpoint_dynamodb ? element(concat(aws_vpc_endpoint.dynamodb[*].id, tolist([""])), 0) : ""
+ vpce_s3 = element(concat([for k, v in aws_vpc_endpoint.s3 : v], [{}]), 0)
+ vpce_dynamodb = element(concat([for k, v in aws_vpc_endpoint.dynamodb : v], [{}]), 0)
}
data "aws_vpc_endpoint_service" "s3" {
@@ -31,7 +33,8 @@ resource "aws_vpc_endpoint" "s3" {
resource "aws_vpc_endpoint_route_table_association" "private_s3" {
for_each = var.enable_vpc_endpoint_s3 ? local.availability_zones : local.empty
# vpc_endpoint_id = aws_vpc_endpoint.s3[0].id
- vpc_endpoint_id = local.vpce_s3
+ # vpc_endpoint_id = local.vpce_s3
+ vpc_endpoint_id = lookup(local.vpce_s3, "id", null)
route_table_id = aws_route_table.private[each.key].id
}
@@ -58,6 +61,7 @@ resource "aws_vpc_endpoint" "dynamodb" {
resource "aws_vpc_endpoint_route_table_association" "private_dynamodb" {
for_each = var.enable_vpc_endpoint_dynamodb ? local.availability_zones : local.empty
# vpc_endpoint_id = aws_vpc_endpoint.dynamodb[0].id
- vpc_endpoint_id = local.vpce_dynamodb
+ # vpc_endpoint_id = local.vpce_dynamodb
+ vpc_endpoint_id = lookup(local.vpce_dynamodb, "id", null)
route_table_id = aws_route_table.private[each.key].id
}