From 450e4bb8f7485825f0984eb56c5585bb1760e0ef Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 6 Oct 2025 17:42:49 +0200 Subject: [PATCH] facts: look up device/VM services Not returned by default since NetBox 4.3. --- roles/facts/tasks/main.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/roles/facts/tasks/main.yml b/roles/facts/tasks/main.yml index dae7590..bf6e0e3 100644 --- a/roles/facts/tasks/main.yml +++ b/roles/facts/tasks/main.yml @@ -38,6 +38,18 @@ prefixes: '{{ query("netbox.netbox.nb_lookup", "prefixes", raw_data=true) | sort(attribute="prefix") | sort(attribute="family.value") }}' + # can only get NetBox ID for device/VM from (any) interface + # probably safe to assume at least one interface + - name: Get my ID + set_fact: + id: '{{ interfaces | map(attribute=("virtual_machine.id" if is_virtual else "device.id")) | first }}' + + - name: Get my services + set_fact: + services: '{{ + query("netbox.netbox.nb_lookup", "services", raw_data=true, + api_filter=("virtual_machine_id" if is_virtual else "device_id")+"="+id) }}' + - when: 'cluster is defined and not is_virtual' block: - name: Get my cluster and all nodes in it