Files

39 lines
1.4 KiB
Terraform

locals {
#######################
admin_password = var.admin_password != "" ? var.admin_password : random_password.admin_pass.result
#######################
# Получаем объект с ключами в виде имен серверов и содержимым всего,
# что мы хотим видеть при передаче из vars
servers = merge([
for vcd_key, vcd_config in var.vcds :
merge([
for server_group, servers in vcd_config.servers :
{
for server_name, server_config in servers :
"${server_name}.${server_group}" => {
vcd_key = vcd_key
server_group = server_group
server_name = server_name
config = server_config
network_routed = vcd_config.network_routed
role = server_group
}
}
]...)
]...)
# Получаем объект с ключами в виде сервера-uidдиска,
# и содержимым в виде его сайзинга
disks = merge([
for serverName, serverConfig in local.servers:
{
for diskUid, diskSize in serverConfig.config.dataDisk:
"${serverName}-${diskUid}" => {
vcd_key = serverConfig.vcd_key
vm_name = serverName
unit_num = diskUid
disk_size = diskSize
}
}
]...)
}