From c372e4b4c5b2baa1f786635dd9f5a77de75c3b4e Mon Sep 17 00:00:00 2001 From: badra001 Date: Mon, 10 May 2021 12:57:08 -0400 Subject: [PATCH] fix input variables --- nacls/README.md | 8 ++++++-- nacls/main.tf | 13 +++++++++---- nacls/variables.tf | 11 +++++++++++ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 nacls/variables.tf diff --git a/nacls/README.md b/nacls/README.md index e3697f5..abf8000 100644 --- a/nacls/README.md +++ b/nacls/README.md @@ -9,11 +9,13 @@ each specific nacl. This creates both a public and a private NACL. module "nacls" { source = "git@github.e.it.census.gov:terraform-modules/aws-vpc-setup.git//nacls" vpc_id = var.vpc_id - public_subnets_ids = [ for s in module.subnets.public_subnets_ids : s.id ] - private_subnets_ids = [ for s in module.subnets.private_subnets_ids : s.id ] vpc_full_name = var.vpc_full_name + public_subnets_ids = module.subnets.public_subnets_ids + private_subnets_ids = module.subnets.private_subnets_ids # optional + public_subnet_ids = [ for s in module.subnets.public_subnets_ids : s.id ] + private_subnet_ids = [ for s in module.subnets.private_subnets_ids : s.id ] vpc_name = var.vpc_name vpc_short_name = var.vpc_short_name @@ -52,7 +54,9 @@ No modules. | [account\_alias](#input\_account\_alias) | AWS Account Alias | `string` | `""` | no | | [account\_id](#input\_account\_id) | AWS Account ID (default will pull from current user) | `string` | `""` | no | | [override\_prefixes](#input\_override\_prefixes) | Override built-in prefixes by component. This should be used primarily for common infrastructure things | `map(string)` | `{}` | no | +| [private\_subnet\_ids](#input\_private\_subnet\_ids) | List of private subnet IDs (not objects) | `list(string)` | `[]` | no | | [private\_subnets\_ids](#input\_private\_subnets\_ids) | List of private subnet objects including: subnet, label, availability\_zone, id |
list(object({
subnet = string
label = string
availability_zone = string
id = string
}))
| `[]` | no | +| [public\_subnet\_ids](#input\_public\_subnet\_ids) | List of public subnet IDs (not objects) | `list(string)` | `[]` | no | | [public\_subnets\_ids](#input\_public\_subnets\_ids) | List of public subnet objects including: subnet, label, availability\_zone, id |
list(object({
subnet = string
label = string
availability_zone = string
id = string
}))
| `[]` | no | | [tags](#input\_tags) | AWS Tags to apply to appropriate resources (S3, KMS). Do not include safeguard tags here, use the data\_safeguard field for such things. | `map(string)` | `{}` | no | | [vpc\_environment](#input\_vpc\_environment) | VPC environment purpose (infrastructure, common, shared, dev, stage, ite, prod) | `string` | `null` | no | diff --git a/nacls/main.tf b/nacls/main.tf index e65d535..5726414 100644 --- a/nacls/main.tf +++ b/nacls/main.tf @@ -10,11 +10,13 @@ * module "nacls" { * source = "git@github.e.it.census.gov:terraform-modules/aws-vpc-setup.git//nacls" * vpc_id = var.vpc_id -* public_subnets_ids = [ for s in module.subnets.public_subnets_ids : s.id ] -* private_subnets_ids = [ for s in module.subnets.private_subnets_ids : s.id ] * vpc_full_name = var.vpc_full_name +* public_subnets_ids = module.subnets.public_subnets_ids +* private_subnets_ids = module.subnets.private_subnets_ids * * # optional +* public_subnet_ids = [ for s in module.subnets.public_subnets_ids : s.id ] +* private_subnet_ids = [ for s in module.subnets.private_subnets_ids : s.id ] * vpc_name = var.vpc_name * vpc_short_name = var.vpc_short_name * @@ -30,6 +32,9 @@ locals { "boc:tf_module_version" = local._module_version "boc:created_by" = "terraform" } + + public_ids = length(var.public_subnet_ids) > 0 ? var.public_subnet_ids : [for subnet in var.private_subnets_ids : subnet.id] + private_ids = length(var.private_subnet_ids) > 0 ? var.private_subnet_ids : [for subnet in var.private_subnets_ids : subnet.id] } #--- @@ -37,7 +42,7 @@ locals { #--- resource "aws_network_acl" "private" { vpc_id = var.vpc_id - subnet_ids = [for subnet in var.private_subnets_ids : subnet.id] + subnet_ids = local.private_ids tags = merge( local.base_tags, @@ -51,7 +56,7 @@ resource "aws_network_acl" "private" { #--- resource "aws_network_acl" "public" { vpc_id = var.vpc_id - subnet_ids = [for subnet in var.public_subnets_ids : subnet.id] + subnet_ids = local.public_ids tags = merge( local.base_tags, diff --git a/nacls/variables.tf b/nacls/variables.tf new file mode 100644 index 0000000..15ab89b --- /dev/null +++ b/nacls/variables.tf @@ -0,0 +1,11 @@ +variable "public_subnet_ids" { + description = "List of public subnet IDs (not objects)" + type = list(string) + default = [] +} + +variable "private_subnet_ids" { + description = "List of private subnet IDs (not objects)" + type = list(string) + default = [] +}