39 lines
1.4 KiB
HCL
39 lines
1.4 KiB
HCL
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
|
||
}
|
||
}
|
||
]...)
|
||
} |