amnesh.soodar.soodar_facts module – Collect facts from remote devices running Amnesh SoodarOS

Note

This module is part of the amnesh.soodar collection (version 1.0.0).

To install it, use: ansible-galaxy collection install https://soodar.ir/ansible/amnesh.soodar.tar.gz.

To use it in a playbook, specify: amnesh.soodar.soodar_facts.

New in amnesh.soodar 1.0.0

Synopsis

  • Collects a base set of device facts from a remote device that is running Soodar. 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.

Note

This module has a corresponding action plugin.

Parameters

Parameter

Comments

available_network_resources

boolean

When ‘True’ a list of network resources for which resource modules are available will be provided.

Choices:

  • false ← (default)

  • true

gather_network_resources

list / elements=string

When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all and the resources like interfaces, acls etc. Can specify a list of values to include a larger subset. Values can also be used with an initial M(!) to specify that a specific subset should not be collected. Valid subsets are ‘all’, ‘interfaces’, ‘ospfv2’, ‘ospf_interfaces’ ‘l3_interfaces’, ‘acl_interfaces’, ‘static_routes’, ‘acls’.

gather_subset

list / elements=string

When supplied, this argument restricts the facts collected to a given subset.

Possible values for this argument include all, config, and interfaces.

Specify a list of values to include a larger subset.

Use a value with an initial ! to collect all facts except that subset.

Default: ["!config"]

Notes

Note

  • Tested against SoodarOS 21.04

Examples

- name: Gather all legacy facts
  amnesh.soodar.soodar_facts:
    gather_subset: all

- name: Gather only the config and default facts
  amnesh.soodar.soodar_facts:
    gather_subset:
    - config

- name: Do not gather interface facts
  amnesh.soodar.soodar_facts:
    gather_subset:
    - '!interfaces'

- name: Gather legacy and resource facts
  amnesh.soodar.soodar_facts:
    gather_subset: all
    gather_network_resources: all

- name: Gather only the interfaces resource facts and no legacy facts
  amnesh.soodar.soodar_facts:
    gather_subset:
    - '!all'
    - '!min'
    gather_network_resources:
    - interfaces

- name: Gather interfaces resource and minimal legacy facts
  amnesh.soodar.soodar_facts:
    gather_subset: min
    gather_network_resources: interfaces

- name: Gather L2 interfaces resource and minimal legacy facts
  amnesh.soodar.soodar_facts:
    gather_subset: min
    gather_network_resources: ospf_interfaces

- name: Gather L3 interfaces resource and minimal legacy facts
  amnesh.soodar.soodar_facts:
    gather_subset: min
    gather_network_resources: l3_interfaces

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

ansible_net_all_ipv4_addresses

list / elements=string

All IPv4 addresses configured on the device

Returned: when interfaces is configured

ansible_net_all_ipv6_addresses

list / elements=string

All IPv6 addresses configured on the device

Returned: when interfaces is configured

ansible_net_api

string

The name of the transport

Returned: always

ansible_net_config

string

The current active config from the device

Returned: when config is configured

ansible_net_gather_network_resources

list / elements=string

The list of fact for network resource subsets collected from the device

Returned: when the resource is configured

ansible_net_gather_subset

list / elements=string

The list of fact subsets collected from the device

Returned: always

ansible_net_hostname

string

The configured hostname of the device

Returned: always

ansible_net_interfaces

dictionary

A hash of all interfaces running on the system

Returned: when interfaces is configured

ansible_net_model

string

The model name returned from the device

Returned: always

ansible_net_python_version

string

The Python version Ansible controller is using

Returned: always

ansible_net_version

string

The operating system version running on the remote device

Returned: always

Authors

  • Mahdi Varasteh (@m-varasteh)