Files
as205079-automation/ansible/generate_filters.yaml
2025-08-30 16:01:54 +02:00

44 lines
1.2 KiB
YAML

- name: "Base server setup"
hosts: routers
vars_files:
- ./config/{{ inventory_hostname }}.yaml
- ./config/common.yaml
gather_facts: false
tasks:
- name: Create a list of unique import values
set_fact:
unique_imports: "{{ peers | map(attribute='import') | unique | list }}"
when: peers is defined
- name: Display unique import values
debug:
var: unique_imports
when: peers is defined
- name: Ensure filters directory is present on ansible machine
delegate_to: localhost
ansible.builtin.file:
name: tmp/filters
state: directory
mode: '0750'
when: peers is defined
- name: Create filters
delegate_to: localhost
ansible.builtin.command:
cmd: "bgpq4 -6 -A -b -l gen_filter_{{ item }} {{ item }}"
changed_when: false
when: peers is defined and unique_imports is not none
loop: "{{ unique_imports }}"
register: bgpq4_output
- name: Write filters to file
delegate_to: localhost
loop: "{{ bgpq4_output.results }}"
ansible.builtin.copy:
content: "{{ item.stdout }}"
dest: "tmp/filters/gen_filter_{{ item.item }}"
mode: '0640'
when: peers is defined
no_log: true