133 lines
4.5 KiB
HCL
133 lines
4.5 KiB
HCL
// ------- project 1 - landingzone ------------
|
|
// This file defines the network setup for the first project landingzone.
|
|
resource "stackit_network" "wan_network" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
name = "wan_network"
|
|
ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
|
ipv4_prefix = "10.220.0.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "lan_network1" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
name = "lan_network1"
|
|
ipv4_prefix = "10.220.1.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "lan_network2" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
name = "lan_network2"
|
|
ipv4_prefix = "10.220.2.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "lan_network3" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
name = "lan_network3"
|
|
ipv4_prefix = "10.220.3.0/24"
|
|
routed = false
|
|
}
|
|
|
|
resource "stackit_network_interface" "wan" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
network_id = stackit_network.wan_network.network_id
|
|
security = false
|
|
name = "MGMT"
|
|
ipv4 = "10.220.0.254"
|
|
|
|
}
|
|
|
|
resource "stackit_network_interface" "lan1" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
network_id = stackit_network.lan_network1.network_id
|
|
security = false
|
|
name = "LAN1"
|
|
}
|
|
|
|
resource "stackit_network_interface" "lan2" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
network_id = stackit_network.lan_network2.network_id
|
|
security = false
|
|
name = "LAN2"
|
|
}
|
|
|
|
resource "stackit_network_interface" "lan3" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
network_id = stackit_network.lan_network3.network_id
|
|
security = false
|
|
name = "LAN3"
|
|
}
|
|
|
|
# ---------- project 2 core ------------------
|
|
// This file defines the network setup for the second project (core).
|
|
|
|
resource "stackit_network" "p2_lan_network1" {
|
|
project_id = module.project.project_info["project2"].project_id
|
|
name = "p2_lan_network"
|
|
ipv4_prefix = "10.220.5.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "p2_lan1" {
|
|
project_id = module.project.project_info["project2"].project_id
|
|
network_id = stackit_network.p2_lan_network1.network_id
|
|
security = true
|
|
name = "P2LAN1"
|
|
security_group_ids = [ stackit_security_group.example.security_group_id ]
|
|
}
|
|
|
|
# ---------- project 3 backup ------------------
|
|
// This file defines the network setup for the third project (backup).
|
|
|
|
resource "stackit_network" "p3_lan_network1" {
|
|
project_id = module.project.project_info["project3"].project_id
|
|
name = "p3_lan_network"
|
|
ipv4_prefix = "10.220.6.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "p3_lan1" {
|
|
project_id = module.project.project_info["project3"].project_id
|
|
network_id = stackit_network.p3_lan_network1.network_id
|
|
security = false
|
|
name = "P3LAN1"
|
|
//security_group_ids = [ stackit_security_group.example.security_group_id ]
|
|
}
|
|
|
|
/* resource "stackit_network" "p2_wan_network1" {
|
|
project_id = module.project.project_info["project2"].project_id
|
|
name = "wan"
|
|
ipv4_prefix = "10.220.6.0/24"
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network_interface" "p2_wan_interface1" {
|
|
project_id = module.project.project_info["project2"].project_id
|
|
network_id = stackit_network.p2_wan_network1.network_id
|
|
security = false
|
|
name = "wan_if"
|
|
}
|
|
*/
|
|
|
|
// ---------- public IPs ------------------
|
|
// This file defines the public IPs for the projects.
|
|
resource "stackit_public_ip" "wan_ip" {
|
|
project_id = module.project.project_info["project1"].project_id
|
|
network_interface_id = stackit_network_interface.wan.network_interface_id
|
|
}
|
|
|
|
/*resource "stackit_public_ip" "wan_server" {
|
|
project_id = module.project.project_info["project2"].project_id
|
|
network_interface_id = stackit_network_interface.p2_wan_interface1.network_interface_id
|
|
}
|
|
*/
|
|
|
|
// Output the public IPs for both projects
|
|
output "public_ips" {
|
|
value = {
|
|
"wan_ip" = stackit_public_ip.wan_ip.ip
|
|
//"wan_server" = stackit_public_ip.wan_server.ip
|
|
}
|
|
}
|
|
|