community.routeros.facts – Collect facts from remote devices running MikroTik RouterOS

Note

This plugin is part of the community.routeros collection (version 1.2.0).

To install it use: ansible-galaxy collection install community.routeros.

To use it in a playbook, specify: community.routeros.facts.

Synopsis

  • Collects a base set of device facts from a remote device that is running RotuerOS. This module prepends all of the base network fact keys with ansible_net_<fact>. The facts module will always collect a base set of facts from the device and can enable or disable collection of additional facts.

Parameters

Parameter Choices/Defaults Comments
gather_subset
string
Default:
"!config"
When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all, hardware, config, and interfaces. Can specify a list of values to include a larger subset. Values can also be used with an initial ! to specify that a specific subset should not be collected.

Examples

- name: Collect all facts from the device
  community.routeros.facts:
    gather_subset: all

- name: Collect only the config and default facts
  community.routeros.facts:
    gather_subset:
      - config

- name: Do not collect hardware facts
  community.routeros.facts:
    gather_subset:
      - "!hardware"

Returned Facts

Facts returned by this module are added/updated in the hostvars host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.

Fact Returned Description
ansible_net_all_ipv4_addresses
list / elements=string
when interfaces is configured
All IPv4 addresses configured on the device

ansible_net_all_ipv6_addresses
list / elements=string
when interfaces is configured
All IPv6 addresses configured on the device

ansible_net_arch
string / elements=string
always
The CPU architecture of the device

ansible_net_bgp_instance
dictionary / elements=string
bgp instance information
The dict bgp instance

ansible_net_bgp_peer
dictionary / elements=string
peer information
The dict bgp peer

ansible_net_bgp_vpnv4_route
dictionary / elements=string
vpnv4 route information
The dict bgp vpnv4 route

ansible_net_config
string / elements=string
when config is configured
The current active config from the device

ansible_net_cpu_load
string / elements=string
always
Current CPU load

ansible_net_gather_subset
list / elements=string
always
The list of fact subsets collected from the device

ansible_net_hostname
string / elements=string
always
The configured hostname of the device

ansible_net_interfaces
dictionary / elements=string
when interfaces is configured
A hash of all interfaces running on the system

ansible_net_memfree_mb
integer / elements=string
when hardware is configured
The available free memory on the remote device in MiB

ansible_net_memtotal_mb
integer / elements=string
when hardware is configured
The total memory on the remote device in MiB

ansible_net_model
string / elements=string
always
The model name returned from the device

ansible_net_neighbors
dictionary / elements=string
when interfaces is configured
The list of neighbors from the remote device

ansible_net_ospf_instance
dictionary / elements=string
ospf instance information
The dict ospf instance

ansible_net_ospf_neighbor
dictionary / elements=string
ospf neighbor information
The dict ospf neighbor

ansible_net_route
dictionary / elements=string
routes information in all routing table
The dict routes in all routing table

ansible_net_serialnum
string / elements=string
always
The serial number of the remote device

ansible_net_spacefree_mb
dictionary / elements=string
when hardware is configured
The available disk space on the remote device in MiB

ansible_net_spacetotal_mb
dictionary / elements=string
when hardware is configured
The total disk space on the remote device in MiB

ansible_net_uptime
string / elements=string
always
The uptime of the device

ansible_net_version
string / elements=string
always
The operating system version running on the remote device



Authors

  • Egor Zaitsev (@heuels)