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