Ansible-Playbook to display output of multiple show commands (using stdout_lines with Loop)

 In this playbook, we we'll see how we can get display of multiple show commands in stdout_lines format. We can make use of loops (or with_items) for submitting multiple commands, but debug output with stdout_lines does not gives the formatted result as it would give for single command. So in case of multiple commands, we can debug the output of each command separately in stdout_lines format.


#Ansible-Playbook to display Output of multiple show commands

- name: Display Output of multiple show commands
  hosts: all
  gather_facts: no
  connection: network_cli
  become: no
  become_method: enable
  tasks:

   - name: Get the config
     cli_command:
      command: "{{ item }}"
     register: result

     with_items:
       - show ip access-lists TestACL-1 | include 150
       - show ip access-lists TestACL-2 | include 250
       - show run | include file|bgp
       - show snmp user | i snmp-user


   - debug:
       msg:
         - "{{ result.results[0].stdout_lines }}"
         - "{{ result.results[1].stdout_lines }}"
         - "{{ result.results[2].stdout_lines }}"
         - "{{ result.results[3].stdout_lines }}"


# Debug output can also be displayed using following lines
#  - debug:
#      msg: "{{ item.stdout_lines }}"
#    with_item

Comments

  1. Hi, what will be a the one for Linux commands?

    ReplyDelete

Post a Comment

Popular posts from this blog

Specifying SSH port in Ansible Inventory

Filtering Routes in BGP using Route-maps and Prefix-list

Ansible Playbook for Network OS Upgrade with pre and post checks

VMware NSX Traffic Flow — East-West & North-South

Bypassing Proxy Server in Google Chrome

Export or Backup Azure Network Security Groups into CSV using PowerShell

Ansible-playbook for backing up running config of Cisco IOS