https://docs.ansible.com/ansible/devel/collections/community/routeros/
https://github.com/ansible-collections/community.routeros
Install the RouterOS collection.
ansible-galaxy collection install community.routeros
Create inventory
vi inventory.ini
[routers]
mikrotik ansible_host=192.168.88.1
[routers:vars]
ansible_connection=ansible.netcommon.network_cli
ansible_network_os=community.routeros.routeros
ansible_user=admin
ansible_ssh_pass=
ansible_ssh_port=22
If you are using a custom SSH port, be sure that ansible-pylibssh is installed.
pip install ansible-pylibssh
Simple Playbook
This simple playbook will print the system resources. Playbook is taken from here.
---
- name: RouterOS test with network_cli connection
hosts: routers
gather_facts: false
tasks:
- name: Gather system resources
community.routeros.command:
commands:
- /system resource print
register: system_resource_print
- name: Show system resources
debug:
var: system_resource_print.stdout_lines
- name: Gather facts
community.routeros.facts:
- name: Show a fact
debug:
msg: "First IP address: {{ ansible_net_all_ipv4_addresses[0] }}"