feat(server): initial playbook to process incoming scan results

!1
This commit is contained in:
2024-02-19 20:14:56 +09:30
parent 8655c407b1
commit edd3f5a14d
3 changed files with 149 additions and 0 deletions

View File

@ -0,0 +1,53 @@
---
- name: Update IP Address' found
community.mysql.mysql_query:
login_host: "{{ nfc_c_mysql_host }}"
login_port: "{{ nfc_c_mysql_port | default(3306) | int }}"
login_user: "{{ nfc_c_mysql_user }}"
login_password: "{{ nfc_c_mysql_password }}"
login_db: 'phpipam'
query: |-
{% if
scan_address.rowcount[0] | int > 0
%}
UPDATE ipaddresses
SET
lastSeen = '{{ scan_address.ipaddress.lastSeen }}',
{% if scan_address.ipaddress.mac != '' %}
mac = '{{ scan_address.ipaddress.mac }}'
{% endif %}
WHERE
id = {{ scan_address.query_result[0][0].id | int }}
{% elif
scan_address.rowcount[0] | int == 0
%}
INSERT INTO ipaddresses
VALUES
subnetId = {{ scan_address.ipaddress.subnetId | int }},
ip_addr = '{{ scan_address.ipaddress.ip | ip2ipam }}',
description = '-- autodiscovered --',
{% if scan_address.ipaddress.mac != '' %}
mac = '{{ scan_address.ipaddress.mac }}',
{% endif %}
note = 'This host was autodiscovered on {{ scan_address.ipaddress.lastSeen }}',
lastSeen = '{{ scan_address.ipaddress.lastSeen }}',
{% endif %}
single_transaction: true
when: >
scan_address.ipaddress.subnetId | int in agent_subnets