Skip to content

Commit f6ae8a4

Browse files
rmtantonbabenko
authored andcommitted
Support subnet-specific additional tags (#51)
* Added var.public_subnet_tags * Added var.private_subnet_tags * Added var.database_subnet_tags * Added var.elasticache_subnet_tags * Removed Tier subnet tag This helps solve a specific issue with Kubernetes, where public & private subnets must be appropriately tagged for public/private ELBs to work.
1 parent 7a1408f commit f6ae8a4

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ resource "aws_subnet" "private" {
4141
cidr_block = "${var.private_subnets[count.index]}"
4242
availability_zone = "${element(var.azs, count.index)}"
4343
count = "${length(var.private_subnets)}"
44-
tags = "${merge(var.tags, map("Name", format("%s-subnet-private-%s", var.name, element(var.azs, count.index))), map("Tier", "private"))}"
44+
tags = "${merge(var.tags, var.private_subnet_tags, map("Name", format("%s-subnet-private-%s", var.name, element(var.azs, count.index))))}"
4545
}
4646

4747
resource "aws_subnet" "database" {
4848
vpc_id = "${aws_vpc.mod.id}"
4949
cidr_block = "${var.database_subnets[count.index]}"
5050
availability_zone = "${element(var.azs, count.index)}"
5151
count = "${length(var.database_subnets)}"
52-
tags = "${merge(var.tags, map("Name", format("%s-database-subnet-%s", var.name, element(var.azs, count.index))), map("Tier", "database"))}"
52+
tags = "${merge(var.tags, var.database_subnet_tags, map("Name", format("%s-database-subnet-%s", var.name, element(var.azs, count.index))))}"
5353
}
5454

5555
resource "aws_db_subnet_group" "database" {
@@ -65,7 +65,7 @@ resource "aws_subnet" "elasticache" {
6565
cidr_block = "${var.elasticache_subnets[count.index]}"
6666
availability_zone = "${element(var.azs, count.index)}"
6767
count = "${length(var.elasticache_subnets)}"
68-
tags = "${merge(var.tags, map("Name", format("%s-elasticache-subnet-%s", var.name, element(var.azs, count.index))), map("Tier", "elasticache"))}"
68+
tags = "${merge(var.tags, var.elasticache_subnet_tags, map("Name", format("%s-elasticache-subnet-%s", var.name, element(var.azs, count.index))))}"
6969
}
7070

7171
resource "aws_elasticache_subnet_group" "elasticache" {
@@ -80,7 +80,7 @@ resource "aws_subnet" "public" {
8080
cidr_block = "${var.public_subnets[count.index]}"
8181
availability_zone = "${element(var.azs, count.index)}"
8282
count = "${length(var.public_subnets)}"
83-
tags = "${merge(var.tags, map("Name", format("%s-subnet-public-%s", var.name, element(var.azs, count.index))), map("Tier", "public"))}"
83+
tags = "${merge(var.tags, var.public_subnet_tags, map("Name", format("%s-subnet-public-%s", var.name, element(var.azs, count.index))))}"
8484

8585
map_public_ip_on_launch = "${var.map_public_ip_on_launch}"
8686
}

variables.tf

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,23 @@ variable "tags" {
6363
description = "A map of tags to add to all resources"
6464
default = {}
6565
}
66+
67+
variable "public_subnet_tags" {
68+
description = "Additional tags for the public subnets"
69+
default = {}
70+
}
71+
72+
variable "private_subnet_tags" {
73+
description = "Additional tags for the public subnets"
74+
default = {}
75+
}
76+
77+
variable "database_subnet_tags" {
78+
description = "Additional tags for the database subnets"
79+
default = {}
80+
}
81+
82+
variable "elasticache_subnet_tags" {
83+
description = "Additional tags for the elasticache subnets"
84+
default = {}
85+
}

0 commit comments

Comments
 (0)