Files
phpipam_scan_agent/playbooks/tasks/server/subnet_scan.yaml

54 lines
1.7 KiB
YAML

---
- name: Match Scan Addresses to DB Details
community.mysql.mysql_query:
login_host: "{{ nofusscomputing_phpipam_scan_server.mysql_host }}"
login_port: "{{ nofusscomputing_phpipam_scan_server.mysql_port | default(3306) | int }}"
login_user: "{{ nofusscomputing_phpipam_scan_server.mysql_user }}"
login_password: "{{ nofusscomputing_phpipam_scan_server.mysql_password }}"
login_db: 'phpipam'
query: |-
SELECT
id, description, state, note, lastSeen
FROM ipaddresses
WHERE
{% if ipaddress.id is defined %}
id='{{ ipaddress.id }}'
AND
{% endif %}
ip_addr='{{ ipaddress.ip | ip2ipam }}'
single_transaction: true
register: mysql_query_find_ipaddress
loop: "{{ scan_result }}"
loop_control:
loop_var: ipaddress
- name: Update Subnet Discovery Time
community.mysql.mysql_query:
login_host: "{{ nofusscomputing_phpipam_scan_server.mysql_host }}"
login_port: "{{ nofusscomputing_phpipam_scan_server.mysql_port | default(3306) | int }}"
login_user: "{{ nofusscomputing_phpipam_scan_server.mysql_user }}"
login_password: "{{ nofusscomputing_phpipam_scan_server.mysql_password }}"
login_db: 'phpipam'
query: |-
UPDATE
subnets
SET
lastDiscovery = '{{ ('%Y-%m-%d %H:%M:%S' | strftime) }}'
WHERE
subnet = '{{ (inbound_data.scan.subnet | split('/'))[0] | ip2ipam }}'
single_transaction: true
- name: Update IP Addresses
ansible.builtin.include_tasks:
file: tasks/server/ipaddress.yaml
loop: "{{ mysql_query_find_ipaddress.results | default([]) }}"
loop_control:
loop_var: scan_address
label: "{{ scan_address }}"