The Ansible Cisco example
Cisco's support in Ansible is categorized by the operating systems IOS, IOS-XR, and NX-OS. We have already seen a number of NX-OS examples, so in this section let's try to manage IOS-based devices.
Our host file will consist of two hosts, R1 and R2:
[ios_devices] R1 ansible_host=192.168.24.250 R2 ansible_host=192.168.24.251 [ios_devices:vars] username=cisco password=cisco
Our playbook, cisco_5.yml, will use the ios_command module to execute arbitrary show commands:
---
- name: IOS Show Commands
hosts: "ios_devices"
gather_facts: false
connection: local
vars:
cli:
host: "{{ ansible_host }}"
username: "{{ username }}"
password: "{{ password }}"
transport: cli
tasks:
- name: ios show commands
ios_command:
commands:
- show version | i IOS
- show run | i hostname
provider: "{{ cli }}"
register: output
...