community.routeros.api_facts 模块 – 使用 API 从运行 MikroTik RouterOS 的远程设备收集事实
注意
此模块是 community.routeros 集合 (版本 3.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install community.routeros。您需要其他需求才能使用此模块,有关详细信息,请参阅 需求。
要在剧本中使用它,请指定: community.routeros.api_facts。
community.routeros 2.1.0 中的新增功能
概要
- 从运行 RouterOS 的远程设备收集一组基本设备事实。此模块将所有基本网络事实键名前缀为 - ansible_net_<fact>。事实模块将始终从设备收集一组基本事实,并且可以启用或禁用其他事实的收集。
- 与 community.routeros.facts 模块相反,它使用 RouterOS API,类似于 community.routeros.api 模块。 
需求
执行此模块的主机需要以下需求。
- librouteros 
- Python >= 3.6 (适用于 librouteros) 
参数
| 参数 | 注释 | 
|---|---|
| 包含用于证书验证的 CA 证书的 PEM 格式文件。 另请参阅  | |
| 与 RouterOS 设备通信时使用指定的编码。 默认为  默认值:  | |
| 设置为  另请参阅  注意:这强制使用匿名 Diffie-Hellman (ADH) 密码。该协议容易受到中间人攻击,因为交换中使用的密钥未经身份验证。与其简单地不使用证书连接以“使事情正常工作”,不如查看  选项 
 | |
| 提供此参数时,它会将收集的事实限制为给定的子集。此参数的可能值为  可以指定一个值列表以包含更大的子集。值也可以与初始  默认值:  | |
| RouterOS 主机名 API。 | |
| RouterOS 用户密码。 | |
| RouterOS api 端口。如果设置了  HTTP API 的默认值为  | |
| 请求超时。 默认值:  | |
| 如果设置,则将使用 TLS 进行 RouterOS API 连接。 选项 
 | |
| RouterOS 登录用户。 | |
| 设置为  另见  注意: 请勿仅仅为了“使程序运行”而禁用证书验证,请考虑创建您自己的 CA 证书并使用它来签署用于路由器的证书。您可以使用  选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 动作组: community.routeros.api | 在  | |
| 支持: 完全支持 此操作不会修改状态。 | 可以在  | |
| 支持: N/A 此操作不会修改状态。 | 在差异模式下,将返回有关已更改内容(或可能需要在  | |
| 支持: 完全支持 | 操作返回一个  | |
| 平台: RouterOS | 可以对其进行操作的目标操作系统/系列。 | 
另见
另见
- community.routeros.facts
- 收集运行 MikroTik RouterOS 的远程设备的事实。 
- community.routeros.api
- 用于 RouterOS API 的 Ansible 模块。 
- community.routeros.api_find_and_modify
- 使用 API 查找和修改信息。 
- community.routeros.api_info
- 从 API 获取信息。 
- community.routeros.api_modify
- 使用 API 修改路径中的数据。 
- 如何使用 RouterOS API 连接到 RouterOS 设备
- 如何使用 RouterOS API 连接到 RouterOS 设备 
示例
- 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"
返回的事实
此模块返回的事实会添加到 hostvars 主机事实中/更新 hostvars 主机事实,并且可以像任何其他主机事实一样按名称引用它们。无需注册即可使用它们。
| 键 | 描述 | 
|---|---|
| 设备上配置的所有 IPv4 地址。 返回:  | |
| 设备上配置的所有 IPv6 地址。 返回:  | |
| 设备的 CPU 架构。 返回:  | |
| 包含 BGP 实例信息的字典。 返回:  | |
| 包含 BGP 对等体信息的字典。 返回:  | |
| 包含 BGP vpnv4 路由信息的字典。 返回:  | |
| 当前 CPU 负载。 返回:  | |
| 从设备收集的事实子集列表。 返回: 始终返回 | |
| 设备的配置主机名。 返回:  | |
| 系统上运行的所有接口的哈希表。 返回:  | |
| 远程设备上可用的空闲内存(以 MiB 为单位)。 返回:  | |
| 远程设备上的总内存(以 MiB 为单位)。 返回:  | |
| 设备返回的型号名称。 返回:  | |
| 远程设备的邻居列表。 返回:  | |
| 包含 OSPF 实例的字典。 返回:  | |
| 包含 OSPF 邻居的字典。 返回:  | |
| 所有路由表中路由的字典。 返回:  | |
| 远程设备的序列号。 返回:  | |
| 远程设备上可用的磁盘空间(以 MiB 为单位)。 返回:  | |
| 远程设备上的总磁盘空间(以 MiB 为单位)。 返回:  | |
| 设备的运行时间。 返回:  | |
| 远程设备上运行的操作系统版本。 返回:  | 
