From 071b71fa5c816cff43c0e1d56c0fbb96ca42567c Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Wed, 20 Mar 2024 22:45:08 +0100 Subject: [PATCH] fix: use ip address map indexed by server key (#4) Reviewed-on: https://gitea.rknet.org/infra/pve-server-tf/pulls/4 Co-authored-by: Robert Kaussow Co-committed-by: Robert Kaussow --- main.tf | 18 +++++++++--------- outputs.tf | 3 +-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/main.tf b/main.tf index 030782c..0b98379 100644 --- a/main.tf +++ b/main.tf @@ -1,19 +1,19 @@ locals { - ipv4_addresses = flatten([ - for server_key, server in var.server : [ + ipv4_addresses = { + for server_key, server in var.server : server.name => flatten([ for k, v in coalescelist(proxmox_virtual_environment_vm.server[server.name].ipv4_addresses, []) : v if length(regexall("^(lo|docker|veth).*", proxmox_virtual_environment_vm.server[server.name].network_interface_names[k])) == 0 - ] - ]) + ]) + } } locals { - ipv6_addresses = flatten([ - for server_key, server in var.server : [ + ipv6_addresses = { + for server_key, server in var.server : server.name => flatten([ for k, v in coalescelist(proxmox_virtual_environment_vm.server[server.name].ipv6_addresses, []) : v if length(regexall("^(lo|docker|veth).*", proxmox_virtual_environment_vm.server[server.name].network_interface_names[k])) == 0 - ] - ]) + ]) + } } resource "proxmox_virtual_environment_vm" "server" { @@ -113,7 +113,7 @@ resource "restapi_object" "ucs_server" { "position" : var.ucs_zones[try(each.value.dns_zone, var.server_dns_zone)], "properties" : { "name" : each.value.name, - "a" : concat(local.ipv4_addresses, local.ipv6_addresses), + "a" : concat(local.ipv4_addresses[each.key]), } }) } diff --git a/outputs.tf b/outputs.tf index 8645afe..0e67116 100644 --- a/outputs.tf +++ b/outputs.tf @@ -2,8 +2,7 @@ output "output" { value = { for server_key, server in proxmox_virtual_environment_vm.server : server_key => merge( server, - { ipv4_addresses = local.ipv4_addresses }, - { ipv6_addresses = local.ipv6_addresses } + { ipv4_addresses = local.ipv4_addresses[server_key] }, ) } }