--- # ASA / Min-Facts # =============== # Collects minimum facts from ASA in single or clustered mode # # 2023-08-26 stefan init # - name: "Block: Min-Facts Firewall-Single" block: - name: "Firewall-Single: Get Min-Facts" cisco.asa.asa_command: commands: - show run | include hostname - show version - show inventory register: asa_vars - name: "Firewall-Single: Extract Min-Facts" set_fact: ansible_net_hostname: "{{ asa_vars.stdout[0].split()[1] }}" ansible_net_version: "{{ asa_vars.stdout[1].split('\n')[0].split()[6] }}" ansible_net_model: "{{ asa_vars.stdout[2].split('\n')[1].split()[1] }}" ansible_net_serialnum: "{{ asa_vars.stdout[2].split('\n')[1].split()[7] }}" - name: "Firewall-Single: Display Min-Facts" debug: msg: "Device: {{ ansible_net_hostname }} is model: {{ ansible_net_model }} with serial: {{ ansible_net_serialnum }} and version: {{ ansible_net_version }}" when: role == "Firewall-Single" - name: "Block: Min-Facts Firewall-Cluster" block: - name: "Firewall-Cluster: Get Min-Facts Primary" cisco.asa.asa_command: commands: - show run | include hostname - show version - show inventory register: asa_vars_primary - name: "Firewall-Cluster: Get Min-Facts Failover" cisco.asa.asa_command: commands: - failover exec mate show run | include hostname - failover exec mate show version - failover exec mate show inventory register: asa_vars_failover ignore_errors: yes - name: "Firewall-Cluster: Extract Min-Facts Hostname/Version" set_fact: ansible_net_hostname: "{{ asa_vars_primary.stdout[0].split()[1] }}" ansible_net_version: "{{ asa_vars_primary.stdout[1].split('\n')[0].split()[6] }}" - name: "Firewall-Cluster: Extract Min-Facts Stacked Models" set_fact: ansible_net_stacked_models: - "{{ asa_vars_primary.stdout[2].split('\n')[1].split()[1] }}" - "{{ asa_vars_failover.stdout[2].split('\n')[1].split()[1] }}" ignore_errors: yes - name: "Firewall-Cluster: Extract Min-Facts Stacked Serials" set_fact: ansible_net_stacked_serialnums: - "{{ asa_vars_primary.stdout[2].split('\n')[1].split()[7] }}" - "{{ asa_vars_failover.stdout[2].split('\n')[1].split()[7] }}" ignore_errors: yes - name: "Firewall-Cluster: Display Min-Facts" debug: msg: "Device: {{ ansible_net_hostname }} is model: {{ ansible_net_stacked_models }} with serial: {{ ansible_net_stacked_serialnums }} and version: {{ ansible_net_version }}" when: role == "Firewall-Cluster"