Skip to content

Commit

Permalink
terraform/examples: Refactor hardcoded values in aws_tgw_connect
Browse files Browse the repository at this point in the history
closes=BUG641456

Change-Id: I0b9aa862a721f8b3402434b50980b96632a8f57b
  • Loading branch information
manishpatel-arista committed Dec 15, 2021
1 parent f629169 commit d6d169d
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 48 deletions.
28 changes: 14 additions & 14 deletions terraform/examples/aws_tgw_connect/edge/edge.tf
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module "Region3EdgeVpc" {
wan_name = "${var.topology}-wan"
role = "CloudEdge"
igw_name = "${var.topology}-Region3VpcIgw"
cidr_block = ["100.3.0.0/16"]
cidr_block = [(var.vpc_info["region3_edge_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-Region3EdgeVpc"
}
Expand All @@ -36,19 +36,19 @@ module "Region3EdgeVpc" {
module "Region3EdgeSubnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"100.3.0.0/24" = var.availability_zone[module.Region3EdgeVpc.region]["zone1"]
"100.3.1.0/24" = var.availability_zone[module.Region3EdgeVpc.region]["zone1"]
"100.3.2.0/24" = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
"100.3.3.0/24" = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
"100.3.4.0/24" = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.Region3EdgeVpc.region]["zone1"]
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][1]) = var.availability_zone[module.Region3EdgeVpc.region]["zone1"]
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][2]) = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][3]) = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][4]) = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]

}
subnet_names = {
"100.3.0.0/24" = "${var.topology}-Region3EdgeSubnet0"
"100.3.1.0/24" = "${var.topology}-Region3EdgeSubnet1"
"100.3.2.0/24" = "${var.topology}-Region3EdgeSubnet2"
"100.3.3.0/24" = "${var.topology}-Region3EdgeSubnet3"
"100.3.4.0/24" = "${var.topology}-Region3EdgeSubnetRR"
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][0]) = "${var.topology}-Region3EdgeSubnet0"
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][1]) = "${var.topology}-Region3EdgeSubnet1"
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][2]) = "${var.topology}-Region3EdgeSubnet2"
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][3]) = "${var.topology}-Region3EdgeSubnet3"
(var.vpc_info["region3_edge_vpc"]["subnet_cidr"][4]) = "${var.topology}-Region3EdgeSubnetRR"

}
vpc_id = module.Region3EdgeVpc.vpc_id[0]
Expand All @@ -72,7 +72,7 @@ module "Region3CloudEOSEdge1" {
"${var.topology}-Region3Edge1Intf0" = module.Region3EdgeSubnet.vpc_subnets[0]
"${var.topology}-Region3Edge1Intf1" = module.Region3EdgeSubnet.vpc_subnets[1]
}
private_ips = { "0" : ["100.3.0.101"], "1" : ["100.3.1.101"] }
private_ips = { "0" : [(var.vpc_info["region3_edge_vpc"]["interface_ips"][0])], "1" : [(var.vpc_info["region3_edge_vpc"]["interface_ips"][1])] }
availability_zone = var.availability_zone[module.Region3EdgeVpc.region]["zone1"]
region = module.Region3EdgeVpc.region
primary = true
Expand Down Expand Up @@ -102,7 +102,7 @@ module "Region3CloudEOSEdge2" {
"${var.topology}-Region3Edge2Intf0" = module.Region3EdgeSubnet.vpc_subnets[2]
"${var.topology}-Region3Edge2Intf1" = module.Region3EdgeSubnet.vpc_subnets[3]
}
private_ips = { "0" : ["100.3.2.101"], "1" : ["100.3.3.101"] }
private_ips = { "0" : [(var.vpc_info["region3_edge_vpc"]["interface_ips"][2])], "1" : [(var.vpc_info["region3_edge_vpc"]["interface_ips"][3])] }
availability_zone = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
region = module.Region3EdgeVpc.region
tags = {
Expand Down Expand Up @@ -132,7 +132,7 @@ module "CloudEOSRR1" {
"${var.topology}-RRIntf0" = module.Region3EdgeSubnet.vpc_subnets[4]
}
private_ips = {
"0" : ["100.3.4.101"]
"0" : [(var.vpc_info["region3_edge_vpc"]["interface_ips"][4])]
}
availability_zone = var.availability_zone[module.Region3EdgeVpc.region]["zone2"]
region = module.Region3EdgeVpc.region
Expand Down
1 change: 1 addition & 0 deletions terraform/examples/aws_tgw_connect/edge/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ variable "terminattr_ip_cidr" {}
variable "dps_controlplane_cidr" {}
variable "clos_cv_container" {}
variable "wan_cv_container" {}
variable "vpc_info" {}
variable "licenses" {}
variable "cloudeos_image_offer" {}
variable "eos_payg_amis" {}
Expand Down
33 changes: 33 additions & 0 deletions terraform/examples/aws_tgw_connect/input_vars.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,37 @@ host_amis = {
us-east-1 : "ami-0b161e951484253ab",
us-east-2 : "ami-083064f66d3878ff7"
}
# Topology specific variables
vpc_info = {
region3_edge_vpc = {
vpc_cidr = "100.3.0.0/16"
subnet_cidr = ["100.3.0.0/24", "100.3.1.0/24", "100.3.2.0/24", "100.3.3.0/24", "100.3.4.0/24"]
interface_ips = ["100.3.0.101", "100.3.1.101", "100.3.2.101", "100.3.3.101", "100.3.4.101"]
}
region3_leaf1_vpc = {
vpc_cidr = "110.2.0.0/16"
subnet_cidr = ["110.2.0.0/24", "110.2.1.0/24"]
interface_ips = ["110.2.0.101", "110.2.1.101", "110.2.1.102"]
}
region3_leaf2_vpc = {
vpc_cidr = "111.2.0.0/16"
subnet_cidr = ["111.2.0.0/24", "111.2.1.0/24"]
interface_ips = ["111.2.0.101", "111.2.1.101", "111.2.1.102"]
}
edge_vpc = {
vpc_cidr = "100.2.0.0/16"
subnet_cidr = ["100.2.0.0/24", "100.2.1.0/24", "100.2.2.0/24", "100.2.3.0/24"]
interface_ips = ["100.2.0.101", "100.2.1.101", "100.2.2.101", "100.2.3.101"]
}
leaf1_vpc = {
vpc_cidr = "101.1.0.0/16"
subnet_cidr = ["101.1.0.0/24"]
interface_ips = ["101.1.0.102"]
}
leaf2_vpc = {
vpc_cidr = "102.1.0.0/16"
subnet_cidr = ["102.1.0.0/24"]
interface_ips = ["102.1.0.102"]
}

}
28 changes: 14 additions & 14 deletions terraform/examples/aws_tgw_connect/leaf/leaf.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module "Region3Leaf1Vpc" {
topology_name = var.topology
clos_name = "${var.topology}-clos3"
role = "CloudLeaf"
cidr_block = ["110.2.0.0/16"]
cidr_block = [(var.vpc_info["region3_leaf1_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-Region3Leaf1Vpc"
Cnps = "dev"
Expand All @@ -20,12 +20,12 @@ module "Region3Leaf1Vpc" {
module "Region3Leaf1Subnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"110.2.0.0/24" = var.availability_zone[module.Region3Leaf1Vpc.region]["zone1"]
"110.2.1.0/24" = var.availability_zone[module.Region3Leaf1Vpc.region]["zone1"]
(var.vpc_info["region3_leaf1_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.Region3Leaf1Vpc.region]["zone1"]
(var.vpc_info["region3_leaf1_vpc"]["subnet_cidr"][1]) = var.availability_zone[module.Region3Leaf1Vpc.region]["zone1"]
}
subnet_names = {
"110.2.0.0/24" = "${var.topology}-Region3Leaf1Subnet0"
"110.2.1.0/24" = "${var.topology}-Region3Leaf1Subnet1"
(var.vpc_info["region3_leaf1_vpc"]["subnet_cidr"][0]) = "${var.topology}-Region3Leaf1Subnet0"
(var.vpc_info["region3_leaf1_vpc"]["subnet_cidr"][1]) = "${var.topology}-Region3Leaf1Subnet1"
}
vpc_id = module.Region3Leaf1Vpc.vpc_id[0]
topology_name = module.Region3Leaf1Vpc.topology_name
Expand All @@ -51,7 +51,7 @@ module "Region3Leaf1CloudEOS1" {
"${var.topology}-Region3Leaf1CloudEOS1Intf0" = module.Region3Leaf1Subnet.vpc_subnets[0]
"${var.topology}-Region3Leaf1CloudEOS1Intf1" = module.Region3Leaf1Subnet.vpc_subnets[1]
}
private_ips = { "0" : ["110.2.0.101"], "1" : ["110.2.1.101"] }
private_ips = { "0" : [(var.vpc_info["region3_leaf1_vpc"]["interface_ips"][0])], "1" : [(var.vpc_info["region3_leaf1_vpc"]["interface_ips"][1])] }
availability_zone = var.availability_zone[module.Region3Leaf1Vpc.region]["zone1"]
region = module.Region3Leaf1Vpc.region
tags = {
Expand All @@ -72,7 +72,7 @@ module "Leaf1DevHost1" {
instance_type = "t2.medium"
keypair_name = var.keypair_name[module.Region3Leaf1Vpc.region]
subnet_id = module.Region3Leaf1Subnet.vpc_subnets[1]
private_ips = ["110.2.1.102"]
private_ips = [(var.vpc_info["region3_leaf1_vpc"]["interface_ips"][2])]
tags = {
"Name" = "${var.topology}-Leaf1Devhost1"
}
Expand All @@ -84,7 +84,7 @@ module "Region3Leaf2Vpc" {
topology_name = var.topology
clos_name = "${var.topology}-clos3"
role = "CloudLeaf"
cidr_block = ["111.2.0.0/16"]
cidr_block = [(var.vpc_info["region3_leaf2_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-Region3Leaf2Vpc"
Cnps = "prod"
Expand All @@ -95,12 +95,12 @@ module "Region3Leaf2Vpc" {
module "Region3Leaf2Subnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"111.2.0.0/24" = var.availability_zone[module.Region3Leaf2Vpc.region]["zone1"]
"111.2.1.0/24" = var.availability_zone[module.Region3Leaf2Vpc.region]["zone1"]
(var.vpc_info["region3_leaf2_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.Region3Leaf2Vpc.region]["zone1"]
(var.vpc_info["region3_leaf2_vpc"]["subnet_cidr"][1]) = var.availability_zone[module.Region3Leaf2Vpc.region]["zone1"]
}
subnet_names = {
"111.2.0.0/24" = "${var.topology}-Region3Leaf2Subnet0"
"111.2.1.0/24" = "${var.topology}-Region3Leaf2Subnet1"
(var.vpc_info["region3_leaf2_vpc"]["subnet_cidr"][0]) = "${var.topology}-Region3Leaf2Subnet0"
(var.vpc_info["region3_leaf2_vpc"]["subnet_cidr"][1]) = "${var.topology}-Region3Leaf2Subnet1"
}
vpc_id = module.Region3Leaf2Vpc.vpc_id[0]
topology_name = module.Region3Leaf2Vpc.topology_name
Expand All @@ -126,7 +126,7 @@ module "Region3Leaf2CloudEOS1" {
"${var.topology}-Region3Leaf2CloudEOS1Intf0" = module.Region3Leaf2Subnet.vpc_subnets[0]
"${var.topology}-Region3Leaf2CloudEOS1Intf1" = module.Region3Leaf2Subnet.vpc_subnets[1]
}
private_ips = { "0" : ["111.2.0.101"], "1" : ["111.2.1.101"] }
private_ips = { "0" : [(var.vpc_info["region3_leaf2_vpc"]["interface_ips"][0])], "1" : [(var.vpc_info["region3_leaf2_vpc"]["interface_ips"][1])] }
availability_zone = var.availability_zone[module.Region3Leaf2Vpc.region]["zone1"]
region = module.Region3Leaf2Vpc.region
tags = {
Expand All @@ -147,7 +147,7 @@ module "Leaf1ProdHost1" {
instance_type = "t2.medium"
keypair_name = var.keypair_name[module.Region3Leaf2Vpc.region]
subnet_id = module.Region3Leaf2Subnet.vpc_subnets[1]
private_ips = ["111.2.1.102"]
private_ips = [(var.vpc_info["region3_leaf2_vpc"]["interface_ips"][2])]
tags = {
"Name" = "${var.topology}-Leaf2Devhost1"
}
Expand Down
1 change: 1 addition & 0 deletions terraform/examples/aws_tgw_connect/leaf/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ variable "terminattr_ip_cidr" {}
variable "dps_controlplane_cidr" {}
variable "clos_cv_container" {}
variable "wan_cv_container" {}
variable "vpc_info" {}
variable "licenses" {}
variable "cloudeos_image_offer" {}
variable "eos_payg_amis" {}
Expand Down
40 changes: 20 additions & 20 deletions terraform/examples/aws_tgw_connect/tgwAndTopo/tgwtopocloudeos.tf
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ module "EdgeVpc" {
wan_name = "${var.topology}-wan"
role = "CloudEdge"
igw_name = "${var.topology}-VpcIgw"
cidr_block = ["100.2.0.0/16"]
cidr_block = [(var.vpc_info["edge_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-EdgeVpc"
}
Expand All @@ -59,16 +59,16 @@ module "EdgeVpc" {
module "EdgeSubnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"100.2.0.0/24" = var.availability_zone[module.EdgeVpc.region]["zone1"]
"100.2.1.0/24" = var.availability_zone[module.EdgeVpc.region]["zone1"]
"100.2.2.0/24" = var.availability_zone[module.EdgeVpc.region]["zone2"]
"100.2.3.0/24" = var.availability_zone[module.EdgeVpc.region]["zone2"]
(var.vpc_info["edge_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.EdgeVpc.region]["zone1"]
(var.vpc_info["edge_vpc"]["subnet_cidr"][1]) = var.availability_zone[module.EdgeVpc.region]["zone1"]
(var.vpc_info["edge_vpc"]["subnet_cidr"][2]) = var.availability_zone[module.EdgeVpc.region]["zone2"]
(var.vpc_info["edge_vpc"]["subnet_cidr"][3]) = var.availability_zone[module.EdgeVpc.region]["zone2"]
}
subnet_names = {
"100.2.0.0/24" = "${var.topology}-EdgeSubnet0"
"100.2.1.0/24" = "${var.topology}-EdgeSubnet1"
"100.2.2.0/24" = "${var.topology}-EdgeSubnet2"
"100.2.3.0/24" = "${var.topology}-EdgeSubnet3"
(var.vpc_info["edge_vpc"]["subnet_cidr"][0]) = "${var.topology}-EdgeSubnet0"
(var.vpc_info["edge_vpc"]["subnet_cidr"][1]) = "${var.topology}-EdgeSubnet1"
(var.vpc_info["edge_vpc"]["subnet_cidr"][2]) = "${var.topology}-EdgeSubnet2"
(var.vpc_info["edge_vpc"]["subnet_cidr"][3]) = "${var.topology}-EdgeSubnet3"
}
vpc_id = module.EdgeVpc.vpc_id[0]
topology_name = module.EdgeVpc.topology_name
Expand All @@ -91,7 +91,7 @@ module "CloudEOSEdge1" {
"${var.topology}-Edge1Intf0" = module.EdgeSubnet.vpc_subnets[0]
"${var.topology}-Edge1Intf1" = module.EdgeSubnet.vpc_subnets[1]
}
private_ips = { "0" : ["100.2.0.101"], "1" : ["100.2.1.101"] }
private_ips = { "0" : [(var.vpc_info["edge_vpc"]["interface_ips"][0])] , "1" : [(var.vpc_info["edge_vpc"]["interface_ips"][1])] }
availability_zone = var.availability_zone[module.EdgeVpc.region]["zone1"]
region = module.EdgeVpc.region
tags = {
Expand Down Expand Up @@ -119,7 +119,7 @@ module "CloudEOSEdge2" {
"${var.topology}-Edge2Intf0" = module.EdgeSubnet.vpc_subnets[2]
"${var.topology}-Edge2Intf1" = module.EdgeSubnet.vpc_subnets[3]
}
private_ips = { "0" : ["100.2.2.101"], "1" : ["100.2.3.101"] }
private_ips = { "0" : [(var.vpc_info["edge_vpc"]["interface_ips"][2])], "1" : [(var.vpc_info["edge_vpc"]["interface_ips"][3])] }
availability_zone = var.availability_zone[module.EdgeVpc.region]["zone2"]
region = module.EdgeVpc.region
tags = {
Expand All @@ -138,7 +138,7 @@ module "Leaf1DevTgwVpc" {
topology_name = var.topology
clos_name = "${var.topology}-clos"
role = "CloudLeaf"
cidr_block = ["101.1.0.0/16"]
cidr_block = [(var.vpc_info["leaf1_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-Leaf1DevTgwVpc"
Cnps = "dev"
Expand All @@ -150,10 +150,10 @@ module "Leaf1DevTgwVpc" {
module "Leaf1DevSubnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"101.1.0.0/24" = var.availability_zone[module.Leaf1DevTgwVpc.region]["zone1"]
(var.vpc_info["leaf1_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.Leaf1DevTgwVpc.region]["zone1"]
}
subnet_names = {
"101.1.0.0/24" = "${var.topology}-Leaf1Subnet0"
(var.vpc_info["leaf1_vpc"]["subnet_cidr"][0]) = "${var.topology}-Leaf1Subnet0"
}
vpc_id = module.Leaf1DevTgwVpc.vpc_id[0]
topology_name = module.Leaf1DevTgwVpc.topology_name
Expand All @@ -167,7 +167,7 @@ module "TgwDevLeaf1host1" {
instance_type = "t2.medium"
keypair_name = var.keypair_name[var.aws_regions["region2"]]
subnet_id = module.Leaf1DevSubnet.vpc_subnets[0]
private_ips = ["101.1.0.102"]
private_ips = [(var.vpc_info["leaf1_vpc"]["interface_ips"][0])]
tags = {
"Name" = "${var.topology}-TgwLeaf1DevHost1"
}
Expand All @@ -178,7 +178,7 @@ module "Leaf2ProdTgwVpc" {
topology_name = var.topology
clos_name = "${var.topology}-clos"
role = "CloudLeaf"
cidr_block = ["102.1.0.0/16"]
cidr_block = [(var.vpc_info["leaf2_vpc"]["vpc_cidr"])]
tags = {
Name = "${var.topology}-Leaf2ProdTgwVpc"
Cnps = "prod"
Expand All @@ -190,10 +190,10 @@ module "Leaf2ProdTgwVpc" {
module "Leaf2ProdTgwSubnet" {
source = "../../../module/cloudeos/aws/subnet"
subnet_zones = {
"102.1.0.0/24" = var.availability_zone[module.Leaf2ProdTgwVpc.region]["zone1"]
(var.vpc_info["leaf2_vpc"]["subnet_cidr"][0]) = var.availability_zone[module.Leaf2ProdTgwVpc.region]["zone1"]
}
subnet_names = {
"102.1.0.0/24" = "${var.topology}-Leaf2Subnet0"
(var.vpc_info["leaf2_vpc"]["subnet_cidr"][0]) = "${var.topology}-Leaf2Subnet0"
}
vpc_id = module.Leaf2ProdTgwVpc.vpc_id[0]
topology_name = module.Leaf2ProdTgwVpc.topology_name
Expand All @@ -207,7 +207,7 @@ module "TgwProdLeaf4host1" {
instance_type = "t2.medium"
keypair_name = var.keypair_name[var.aws_regions["region2"]]
subnet_id = module.Leaf2ProdTgwSubnet.vpc_subnets[0]
private_ips = ["102.1.0.102"]
private_ips = [(var.vpc_info["leaf2_vpc"]["interface_ips"][0])]
tags = {
"Name" = "${var.topology}-TgwLeaf2ProdHost1"
}
Expand Down Expand Up @@ -323,4 +323,4 @@ output tgw_route_table_id {
}
output EdgeNames {
value = { "Edge1" : local.Edge1, "Edge2" : local.Edge2 }
}
}
1 change: 1 addition & 0 deletions terraform/examples/aws_tgw_connect/tgwAndTopo/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ variable "terminattr_ip_cidr" {}
variable "dps_controlplane_cidr" {}
variable "clos_cv_container" {}
variable "wan_cv_container" {}
variable "vpc_info" {}
variable "licenses" {}
variable "cloudeos_image_offer" {}
variable "eos_payg_amis" {}
Expand Down

0 comments on commit d6d169d

Please sign in to comment.