community.routeros.api_facts module – Collect facts from remote devices running MikroTik RouterOS using the API
Note
This module is part of the community.routeros collection (version 2.20.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.routeros
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.routeros.api_facts
.
New in community.routeros 2.1.0
Synopsis
Collects a base set of device facts from a remote device that is running RouterOS. 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.As opposed to the community.routeros.facts module, it uses the RouterOS API, similar to the community.routeros.api module.
Requirements
The below requirements are needed on the host that executes this module.
librouteros
Python >= 3.6 (for librouteros)
Parameters
Parameter |
Comments |
---|---|
PEM formatted file that contains a CA certificate to be used for certificate validation. See also |
|
Use the specified encoding when communicating with the RouterOS device. Default is Default: |
|
Set to See also Note: this forces the use of anonymous Diffie-Hellman (ADH) ciphers. The protocol is susceptible to Man-in-the-Middle attacks, because the keys used in the exchange are not authenticated. Instead of simply connecting without a certificate to “make things work” have a look at Choices:
|
|
When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include Can specify a list of values to include a larger subset. Values can also be used with an initial Default: |
|
RouterOS hostname API. |
|
RouterOS user password. |
|
RouterOS api port. If Defaults are |
|
Timeout for the request. Default: |
|
If is set TLS will be used for RouterOS API connection. Choices:
|
|
RouterOS login user. |
|
Set to See also Choices:
|
|
Set to See also Note: instead of simply deactivating certificate validations to “make things work”, please consider creating your own CA certificate and using it to sign certificates used for your router. You can tell the module about your CA certificate with the Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Action group: community.routeros.api |
Use |
|
Support: full This action does not modify state. |
Can run in |
|
Support: N/A This action does not modify state. |
Will return details on what has changed (or possibly needs changing in |
|
Support: full |
Action returns an |
|
Platform: RouterOS |
Target OS/families that can be operated against. |
See Also
See also
- community.routeros.facts
Collect facts from remote devices running MikroTik RouterOS.
- community.routeros.api
Ansible module for RouterOS API.
- community.routeros.api_find_and_modify
Find and modify information using the API.
- community.routeros.api_info
Retrieve information from API.
- community.routeros.api_modify
Modify data at paths with API.
- How to connect to RouterOS devices with the RouterOS API
How to connect to RouterOS devices with the RouterOS API
Examples
- name: Collect all facts from the device
community.routeros.api_facts:
hostname: 192.168.88.1
username: admin
password: password
gather_subset: all
- name: Do not collect hardware facts
community.routeros.api_facts:
hostname: 192.168.88.1
username: admin
password: password
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.
Key |
Description |
---|---|
All IPv4 addresses configured on the device. Returned: |
|
All IPv6 addresses configured on the device. Returned: |
|
The CPU architecture of the device. Returned: |
|
A dictionary with BGP instance information. Returned: |
|
A dictionary with BGP peer information. Returned: |
|
A dictionary with BGP vpnv4 route information. Returned: |
|
Current CPU load. Returned: |
|
The list of fact subsets collected from the device. Returned: always |
|
The configured hostname of the device. Returned: |
|
A hash of all interfaces running on the system. Returned: |
|
The available free memory on the remote device in MiB. Returned: |
|
The total memory on the remote device in MiB. Returned: |
|
The model name returned from the device. Returned: |
|
The list of neighbors from the remote device. Returned: |
|
A dictionary with OSPF instances. Returned: |
|
A dictionary with OSPF neighbors. Returned: |
|
A dictionary for routes in all routing tables. Returned: |
|
The serial number of the remote device. Returned: |
|
The available disk space on the remote device in MiB. Returned: |
|
The total disk space on the remote device in MiB. Returned: |
|
The uptime of the device. Returned: |
|
The operating system version running on the remote device. Returned: |