community.general.snmp_facts – Retrieve facts for a device using SNMP
Note
This plugin is part of the community.general collection (version 3.8.1).
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.general
.
To use it in a playbook, specify: community.general.snmp_facts
.
Synopsis
- Retrieve facts for a device using SNMP, the facts will be inserted to the ansible_facts key.
Requirements
The below requirements are needed on the host that executes this module.
- pysnmp
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
authkey string | Authentication key. Required version is v3 . | |
community string | The SNMP community string, required if version is v2 or v2c . | |
host string / required | Set to target SNMP server (normally {{ inventory_hostname }} ). | |
integrity string |
| Hashing algorithm. Required if version is v3 . |
level string |
| Authentication level. Required if version is v3 . |
privacy string |
| Encryption algorithm. Required if level is authPriv . |
privkey string | Encryption key. Required if level is authPriv . | |
retries integer added in 2.3.0 of community.general | Maximum number of request retries, 0 retries means just a single request. | |
timeout integer added in 2.3.0 of community.general | Response timeout in seconds. | |
username string | Username for SNMPv3. Required if version is v3 . | |
version string / required |
| SNMP Version to use, v2 , v2c or v3 . |
Examples
- name: Gather facts with SNMP version 2 community.general.snmp_facts: host: '{{ inventory_hostname }}' version: v2c community: public delegate_to: local - name: Gather facts using SNMP version 3 community.general.snmp_facts: host: '{{ inventory_hostname }}' version: v3 level: authPriv integrity: sha privacy: aes username: snmp-user authkey: abc12345 privkey: def6789 delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
ansible_all_ipv4_addresses list / elements=string | success | List of all IPv4 addresses. Sample: ['127.0.0.1', '172.17.0.1'] |
ansible_interfaces dictionary | success | Dictionary of each network interface and its metadata. Sample: {'1': {'adminstatus': 'up', 'description': '', 'ifindex': '1', 'ipv4': [{'address': '127.0.0.1', 'netmask': '255.0.0.0'}], 'mac': '', 'mtu': '65536', 'name': 'lo', 'operstatus': 'up', 'speed': '65536'}, '2': {'adminstatus': 'up', 'description': '', 'ifindex': '2', 'ipv4': [{'address': '192.168.213.128', 'netmask': '255.255.255.0'}], 'mac': '000a305a52a1', 'mtu': '1500', 'name': 'Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)', 'operstatus': 'up', 'speed': '1500'}} |
ansible_syscontact string | success | The textual identification of the contact person for this managed node, together with information on how to contact this person. Sample: Me <[email protected]> |
ansible_sysdescr string | success | A textual description of the entity. Sample: Linux ubuntu-user 4.4.0-93-generic |
ansible_syslocation string | success | The physical location of this node (e.g., `telephone closet, 3rd floor'). Sample: Sitting on the Dock of the Bay |
ansible_sysname string | success | An administratively-assigned name for this managed node. Sample: ubuntu-user |
ansible_sysobjectid string | success | The vendor's authoritative identification of the network management subsystem contained in the entity. Sample: 1.3.6.1.4.1.8072.3.2.10 |
ansible_sysuptime integer | success | The time (in hundredths of a second) since the network management portion of the system was last re-initialized. Sample: 42388 |
Authors
- Patrick Ogenstad (@ogenstad)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/snmp_facts_module.html