On this page
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 <me@example.org>
         | 
     
| 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