community.general.snmp_facts – Retrieve facts for a device using SNMP
Note
This plugin is part of the community.general collection (version 1.3.2).
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. |  |
|   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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/general/snmp_facts_module.html