Skip to content

Commit 1103c7a

Browse files
authored
fix: 'failed: cannot use element function with an empty list' with single_nat_gateway attribute (#62)
1 parent d1fe5e0 commit 1103c7a

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

_example/complete/example.tf

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
provider "aws" {
2-
region = "eu-west-1"
2+
region = local.region
33
}
44

55
locals {
66
name = "app"
77
environment = "test"
8+
region = "eu-west-1"
89
}
910

1011
##-----------------------------------------------------------------------------
1112
## Vpc Module call.
1213
##-----------------------------------------------------------------------------
1314
module "vpc" {
14-
source = "clouddrove/vpc/aws"
15-
version = "2.0.0"
16-
name = local.name
17-
environment = local.environment
15+
source = "clouddrove/vpc/aws"
16+
version = "2.0.0"
17+
18+
enable = true
19+
name = local.name
20+
environment = local.environment
21+
1822
cidr_block = "10.0.0.0/16"
1923
enable_flow_log = true # Flow logs will be stored in cloudwatch log group. Variables passed in default.
2024
create_flow_log_cloudwatch_iam_role = true
@@ -31,11 +35,15 @@ module "vpc" {
3135
#tfsec:ignore:aws-ec2-no-excessive-port-access
3236
#tfsec:ignore:aws-ec2-no-public-ingress-acl
3337
module "subnets" {
34-
source = "./../../"
35-
name = local.name
36-
environment = local.environment
38+
source = "./../../"
39+
40+
enable = true
41+
name = local.name
42+
environment = local.environment
43+
3744
nat_gateway_enabled = true
38-
availability_zones = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
45+
single_nat_gateway = true
46+
availability_zones = ["${local.region}a", "${local.region}b", "${local.region}c"]
3947
vpc_id = module.vpc.vpc_id
4048
type = "public-private"
4149
igw_id = module.vpc.igw_id

main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
locals {
88
public_count = var.enable == true && (var.type == "public" || var.type == "public-private") ? length(var.availability_zones) : 0
99
private_count = var.enable == true && (var.type == "private" || var.type == "public-private") ? length(var.availability_zones) : 0
10-
nat_gateway_count = var.single_nat_gateway ? 1 : (var.enable == true && (var.type == "private" || var.type == "public-private") && var.nat_gateway_enabled == true ? length(var.availability_zones) : 0)
10+
nat_gateway_count = var.enable == true && var.single_nat_gateway ? 1 : (var.enable == true && (var.type == "private" || var.type == "public-private") && var.nat_gateway_enabled == true ? length(var.availability_zones) : 0)
1111
}
1212
##-----------------------------------------------------------------------------
1313
## Labels module called that will be used for naming and tags.

0 commit comments

Comments
 (0)