Skip to content

Commit 05b312a

Browse files
committed
Add example
1 parent 5315868 commit 05b312a

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

examples/per-subnet-tags/main.tf

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
provider "aws" {
2+
region = local.region
3+
}
4+
5+
data "aws_availability_zones" "available" {}
6+
7+
locals {
8+
name = "ex-${basename(path.cwd)}"
9+
region = "eu-west-1"
10+
11+
vpc_cidr = "10.0.0.0/16"
12+
azs = slice(data.aws_availability_zones.available.names, 0, 3)
13+
14+
public_subnet_names = [
15+
"puba", "pubb", "pubc",
16+
]
17+
public_subnet_tags_by_name = {
18+
"puba" = { "test" = "puba", "custom" = "foobar" },
19+
"pubb" = { "test" = "pubb" },
20+
"pubc" = { "test" = "pubc" },
21+
}
22+
23+
private_subnet_names = [
24+
"priva", "privb", "privc",
25+
"privd", "prive", "privf",
26+
]
27+
private_subnet_tags_by_name = {
28+
"priva" = { "test" = "priva" },
29+
"privb" = { "test" = "privb", "custom" = "private-b-tag" },
30+
"privc" = { "test" = "privc" },
31+
}
32+
33+
database_subnet_names = ["dba", "dbb", "dbc"]
34+
database_subnet_tags_by_name = {
35+
"dba" = { "test" = "dba" }
36+
"dbb" = { "test" = "dbb" }
37+
"dbc" = { "test" = "dbc", "custom" = "more-tests" }
38+
}
39+
40+
elasticache_subnet_names = ["eca", "ecb", "ecc", "ecd", "ece", "ecf"]
41+
elasticache_subnet_tags_by_name = {
42+
"eca" = { "test" = "eca" },
43+
"ecb" = { "test" = "ecb" },
44+
"ecc" = { "test" = "ecc", "custom" = "elasticache-test" },
45+
}
46+
47+
intra_subnet_names = ["inta", "intb", "intc"]
48+
intra_subnet_tags_by_name = {
49+
"inta" = { "test" = "inta", "custom" = "intra-subnet-tag" },
50+
"intb" = { "test" = "intb" },
51+
"intc" = { "test" = "intc" },
52+
}
53+
54+
tags = {
55+
Example = local.name
56+
GithubRepo = "terraform-aws-vpc"
57+
GithubOrg = "terraform-aws-modules"
58+
}
59+
}
60+
61+
################################################################################
62+
# VPC Module
63+
################################################################################
64+
65+
module "vpc" {
66+
source = "/home/alaister/code/terraform-aws-vpc/"
67+
68+
name = local.name
69+
cidr = local.vpc_cidr
70+
71+
azs = local.azs
72+
73+
private_subnet_names = local.private_subnet_names
74+
private_subnets = [for k, v in local.private_subnet_names : cidrsubnet(local.vpc_cidr, 4, k)]
75+
private_subnet_tags_by_name = local.private_subnet_tags_by_name
76+
77+
public_subnet_names = local.public_subnet_names
78+
public_subnets = [for k, v in local.public_subnet_names : cidrsubnet(local.vpc_cidr, 4, k)]
79+
public_subnet_tags_by_name = local.public_subnet_tags_by_name
80+
81+
database_subnet_names = local.database_subnet_names
82+
database_subnets = [for k, v in local.database_subnet_names : cidrsubnet(local.vpc_cidr, 4, k)]
83+
database_subnet_tags_by_name = local.database_subnet_tags_by_name
84+
85+
elasticache_subnet_names = local.elasticache_subnet_names
86+
elasticache_subnets = [for k, v in local.elasticache_subnet_names : cidrsubnet(local.vpc_cidr, 4, k)]
87+
elasticache_subnet_tags_by_name = local.elasticache_subnet_tags_by_name
88+
89+
intra_subnet_names = local.intra_subnet_names
90+
intra_subnets = [for k, v in local.intra_subnet_names : cidrsubnet(local.vpc_cidr, 4, k)]
91+
intra_subnet_tags_by_name = local.intra_subnet_tags_by_name
92+
93+
tags = local.tags
94+
}

0 commit comments

Comments
 (0)