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.5.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 validate_cert_hostname. Only used when tls=true and validate_certs=true. |
|
Use the specified encoding when communicating with the RouterOS device. Default is Default: |
|
Set to See also validate_certs. 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 validate_certs and ca_path. 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 tls is set, port will apply to TLS/SSL connection. 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 validate_certs. Only used when tls=true and validate_certs=true. Choices:
|
|
Set to See also validate_cert_hostname. Only used when tls=true. 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 ca_path option. 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: gather_subset contains |
|
All IPv6 addresses configured on the device. Returned: gather_subset contains |
|
The CPU architecture of the device. Returned: gather_subset contains |
|
A dictionary with BGP instance information. Returned: gather_subset contains |
|
A dictionary with BGP peer information. Returned: gather_subset contains |
|
A dictionary with BGP vpnv4 route information. Returned: gather_subset contains |
|
Current CPU load. Returned: gather_subset contains |
|
The list of fact subsets collected from the device. Returned: always |
|
The configured hostname of the device. Returned: gather_subset contains |
|
A hash of all interfaces running on the system. Returned: gather_subset contains |
|
The available free memory on the remote device in MiB. Returned: gather_subset contains |
|
The total memory on the remote device in MiB. Returned: gather_subset contains |
|
The model name returned from the device. Returned: gather_subset contains |
|
The list of neighbors from the remote device. Returned: gather_subset contains |
|
A dictionary with OSPF instances. Returned: gather_subset contains |
|
A dictionary with OSPF neighbors. Returned: gather_subset contains |
|
A dictionary for routes in all routing tables. Returned: gather_subset contains |
|
The serial number of the remote device. Returned: gather_subset contains |
|
The available disk space on the remote device in MiB. Returned: gather_subset contains |
|
The total disk space on the remote device in MiB. Returned: gather_subset contains |
|
The uptime of the device. Returned: gather_subset contains |
|
The operating system version running on the remote device. Returned: gather_subset contains |
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication