94 lines
2.6 KiB
HCL
94 lines
2.6 KiB
HCL
resource "azurerm_resource_group" "res-group" {
|
|
location = "northeurope"
|
|
name = "varonis-assignment-03"
|
|
}
|
|
|
|
locals {
|
|
resource_group_name = azurerm_resource_group.res-group.name
|
|
|
|
username = "sz"
|
|
ssh_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYnCJkpvIoEzjoYBmGKekFXGEOOlfcxD3RTtoYYy+b8PTVeyhY609UTn713hUxC/WKtY2QZgxs02GMmPfkqDTnt8JiD+PRMANBwYZPEe3BkuLoLFznFAb81ATpNbhqX26yauYLDSfoqUZ2EoRoKZvgKu0woNUrEHcQ1/Be28lF3vHdHga+Xo3xsH7cxIl5yHlbgfgtSPlqPckuiuu+V0I8rsPSW+fiP4NqZWjirm85QQPh0+CriFm5N+EKRhanLN+w5O//Ev0ZgOMR8CX+S62BqqG+DiW11irL7//1Z0oeRuBaeiuw1H5g38Gk6PFX1+GjaBm5bAg/ymej5f+F3HBpMvpSFKcUhe1hoqDP2cy6kSTGjl5HxOmL9uclq9NApyw+einkvL/t69ET1OzN4LMTjQjeWLzmrouG5suarhVlp8Lrup3/L6AaPyN2I81+lFlOTh2PJMlPlxtzcD1lT8IFhb7OFuk1Y7fC/gzDVgmH6E1Gqsw4+eg3k0IsdNZxa5M= szkolnik@Sygin"
|
|
|
|
locations = tomap({
|
|
"eastus" = {
|
|
shortname = "use"
|
|
zones = ["1", "2", "3"]
|
|
}
|
|
"northeurope" = {
|
|
shortname = "eun"
|
|
zones = ["1", "2", "3"]
|
|
}
|
|
})
|
|
|
|
vm_list = tomap({
|
|
"use-vm1" = {
|
|
location = "eastus"
|
|
network_cidr = "10.1.0.0/16"
|
|
subnet_cidr = "10.1.0.0/24"
|
|
}
|
|
"use-vm2" = {
|
|
location = "eastus"
|
|
network_cidr = "10.1.0.0/16"
|
|
subnet_cidr = "10.1.1.0/24"
|
|
}
|
|
"eun-vm1" = {
|
|
location = "northeurope"
|
|
network_cidr = "10.2.0.0/16"
|
|
subnet_cidr = "10.2.0.0/24"
|
|
}
|
|
"eun-vm2" = {
|
|
location = "northeurope"
|
|
network_cidr = "10.2.0.0/16"
|
|
subnet_cidr = "10.2.1.0/24"
|
|
}
|
|
})
|
|
}
|
|
|
|
module "deployed_host" {
|
|
source = "./modules/deployed_host"
|
|
|
|
for_each = local.vm_list
|
|
|
|
host_name = each.key
|
|
location = each.value.location
|
|
|
|
resource_group_name = local.resource_group_name
|
|
username = local.username
|
|
ssh_public_key = local.ssh_public_key
|
|
|
|
local_network_cidr = each.value.network_cidr
|
|
local_subnet_cidr = each.value.subnet_cidr
|
|
}
|
|
|
|
module "deployed_network" {
|
|
source = "./modules/deployed_net"
|
|
|
|
for_each = local.locations
|
|
|
|
resource_group_name = local.resource_group_name
|
|
location = each.key
|
|
shortname = each.value.shortname
|
|
network_interfaces = [for h in module.deployed_host :
|
|
h.resources.nic.id if h.resources.host.location == each.key
|
|
]
|
|
}
|
|
|
|
resource "azurerm_traffic_manager_profile" "traffic_manager" {
|
|
name = "traffic-mgr"
|
|
resource_group_name = local.resource_group_name
|
|
traffic_routing_method = "Geographic"
|
|
dns_config {
|
|
relative_name = "traffic-mgr"
|
|
ttl = 60
|
|
}
|
|
monitor_config {
|
|
path = "/"
|
|
port = 443
|
|
protocol = "HTTP"
|
|
}
|
|
}
|
|
|
|
# output "debug" {
|
|
# value = [ for o in module.deployed_host : o.resources.host.name ]
|
|
# }
|