Merge pull request 'Update proxmox.tf' (#155) from fenix-admin into main

Reviewed-on: fenix-gitea-admin/iac-teste#155
This commit is contained in:
2025-08-26 19:15:28 +00:00

View File

@ -66,32 +66,35 @@ locals {
} }
merge = (function([any, any], any) => { local._deep_merge_impl(args[0],args[1]) }) merge = (function([any, any], any) => { local._deep_merge_impl(args[0],args[1]) })
# Função recursiva para merge de mapas/listas
deep_merge = { deep_merge = function("deep_merge", [any, any], any, <<-EOT
_deep_merge_impl = (function(any, any) any => { base, override = args
let base = args[0] result = {}
let override = args[1] for k in setunion(keys(base), keys(override)) {
let result = {} if can(base[k]) && can(override[k]) {
in merge( if type(base[k]) == list && type(override[k]) == list {
result, result[k] = concat(base[k], override[k])
{ for k in setunion(keys(base), keys(override)) : } else if type(base[k]) == map && type(override[k]) == map {
k => ( result[k] = deep_merge(base[k], override[k])
contains([list, map], type(base[k])) && contains([list, map], type(override[k])) ? } else {
(type(base[k]) == list ? concat(base[k], override[k]) : local.deep_merge._deep_merge_impl(base[k], override[k])) result[k] = override[k]
:
can(override[k]) ? override[k] : base[k]
)
} }
) } else if can(override[k]) {
result[k] = override[k]
}) } else {
result[k] = base[k]
}
}
return result
EOT
)
merged_cloudinit = {
for vm_name, vm_cfg in local.vm_cloudinits :
vm_name => local.deep_merge(local.base_cloudinit, vm_cfg)
} }
merged_cloudinit = { for vm_name, vm_cfg in local.vm_cloudinits : vm_name => local.deep_merge._deep_merge_impl(local.base_cloudinit, vm_cfg) }
} }
resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" { resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {
depends_on = [proxmox_virtual_environment_download_file.latest_ubunto_cloud_img, proxmox_virtual_environment_file.cloud_init_yaml] depends_on = [proxmox_virtual_environment_download_file.latest_ubunto_cloud_img, proxmox_virtual_environment_file.cloud_init_yaml]